Talk:Ruby (programming language): Difference between revisions

Content deleted Content added
m Archiving 1 discussion(s) to Talk:Ruby (programming language)/Archive 1) (bot
 
(259 intermediate revisions by more than 100 users not shown)
Line 1:
{{afd-merged-from|History of Ruby|History of Ruby|28 March 2025}}
== POV issues ==
{{Talk header}}
{{WikiProject banner shell|class=B|vital=yes|1=
{{WikiProject Computer science |importance=High}}
{{WikiProject Computing |importance=High|free-software=yes |free-software-importance=High |software=yes }}
}}
{{User:HBC Archive Indexerbot/OptIn
|target=Talk:Ruby (programming language)/Archive index
|mask=Talk:Ruby (programming language)/Archive <#>
|leading_zeros=0
|indexhere=yes}}
{{User:MiszaBot/config
|archiveheader = {{aan}}
|maxarchivesize = 200K
|counter = 1
|minthreadsleft = 10
|minthreadstoarchive = 1
|algo = old(30d)
|archive = Talk:Ruby (programming language)/Archive %(counter)d
}}
 
== Let us include at least one pointer to a good [[Programming language reference]] ==
Some of the text of this article seems non-NPOV. For example "clean syntax" and "obvious syntax" seem rather subjective. It doesn't bother me too much, but someone who is familar with the language (and not biased :-) ) might want to NPOV the text. --[[User:Frecklefoot|Frecklefoot]] 19:08 16 May 2003 (UTC)
 
I call your attention to the fact that currently the expression "language reference" is not present on the page. It is nice to read tutorials and getting started guides, but the point comes when you want to get down to serious business. Then you need a language reference. Matz knows this and he wrote one - [https://ruby-doc.org/docs/ruby-doc-bundle/Manual/man-1.4/index.html last modified: Mon Feb 23 16:01:41 1998].
:In fairness, and with considerable experience of using Ruby after unhappy experiences with many other programming languages, I can only concur with those representations. It is syntactically ''very'' clear and also extremely obvious to anyone with an understanding of OO concepts. --[[User:Sjc|Sjc]] 13:12, 25 Nov 2004 (UTC)
 
* [https://ruby-doc.org/ ruby-doc.org] is of course OK, but is not easy, it does not have a good table of contents.
== Hello World! ==
* [https://en.wikibooks.org/wiki/Ruby_Programming Ruby Programming wikibook] is better, but somewhat outdated.
* [https://rubyreferences.github.io/rubyref/ The Ruby Reference] is my best bet for this currently. <!-- Template:Unsigned IP --><small class="autosigned">—&nbsp;Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/193.245.81.11|193.245.81.11]] ([[User talk:193.245.81.11#top|talk]]) 22:46, 1 October 2020 (UTC)</small> <!--Autosigned by SineBot-->
 
:* "Your best bet", and the first thing on that site is a link requesting money donations. Looks like link spam, so no. [[User:Fbergo|Fbergo]] ([[User talk:Fbergo|talk]]) 12:10, 22 October 2020 (UTC)
#"Hello World" is ''already in the article'', under "Blocks and iterators".
:* You are a good hunter of those... I never noticed it without you pointing out. BTW Wikipedia has an equally unobtrusive Donate link on the sidebar... so what. <!-- Template:Unsigned IP --><small class="autosigned">—&nbsp;Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/193.245.81.13|193.245.81.13]] ([[User talk:193.245.81.13#top|talk]]) 18:43, 7 December 2020 (UTC)</small> <!--Autosigned by SineBot-->
 
== Version table ==
#I disagree about using "Hello World" in every programming language article because it is considered a standard example. It should especially be avoided for a high level language like Ruby in which it consists of a single, straight-forward expression. Any non-trivial example, say a program that (for example) constructs and uses a hash, involving the creation of a string object and printing it to the standard output, provides all information that can be found in a "Hello World" program, and much more.
 
Would a version table be useful? If so, where would it be best placed? I would propose at the top of the 'History' section, as that is where the different versions are discussed.
The question is not whether it can be included in the article, but whether there are not better ways to use the same space. Note also the existence of the [[Hello world program]] page, which exists to cover this "standard example". --[[User:Fredrik|Fredrik]] | [[User talk:Fredrik|talk]] 11:57, 3 May 2005 (UTC)
 
The table may look like this:
:I'm confused. What change are you proposing? To remove the existing "Hello World" references in the article (under "Blocks...")? I'm all for it, since the code under that section doesn't run by itself anyways (blocks don't work out of the method calling context) and thus can be confusing. And if you want to change "Hello world" to "This is a block", I'd be happy too. Other than that, there aren't another other "Hello World"s in the article, so what exactly were you disagreeing with?
 
{| class="wikitable sortable"
::There was a second "Hell World" example. See the article history. --[[User:Fredrik|Fredrik]] | [[User talk:Fredrik|talk]] 23:45, 13 May 2005 (UTC)
|-
! Version !! Date !! End of support
|-
| {{Version |o |1.9.3 |sortKey=1.0}}
| 2011-10-31
| 2015-02-23
|-
| {{Version |co |2.0.0 |sortKey=2.0}}
| 2013-02-24
|
|-
| {{Version |co |2.1.0 |sortKey=3.0}}
| 2013-12-25
|
|-
| {{Version |c |2.2.0 |sortKey=4.0}}
| 2014-12-25
|
|-
| {{Version |c |2.2.3 |sortKey=5.0}}
| 2015-08-18
|
|}
 
Taken and adapted from [[Template:Version]] This is just intended as an example and may not contain all required information. [[User:Jrmh|Jrmh]] ([[User talk:Jrmh|talk]]) 12:39, 6 October 2015 (UTC)
::: Use the fibonacci numbers. --[[User:84.152.107.86|84.152.107.86]] 14:23, 20 December 2005 (UTC)
 
:I see we have a [[Ruby (programming_language)#Table of versions]] which [https://en.wikipedia.org/w/index.php?title=Ruby_%28programming_language%29&type=revision&diff=701467310&oldid=701330509 was added] 24 January 2016 by [[User:V975]]. Looks good. -- [[User:Harry Wood|Harry Wood]] ([[User talk:Harry Wood|talk]]) 17:34, 21 April 2022 (UTC)
== Old talk ==
::Hey, I'm pretty sure that, per [[WP:NOTCHANGELOG]], the table of versions isn't suitable for inclusion in the article. I have since removed it. If I missed something or if the table is vital to the article, feel free to revert. [[User:Moon motif|Moon motif]] ([[User talk:Moon motif|talk]]) 03:04, 6 June 2023 (UTC)
=== Name ===
:::[[WP:NOTCHANGELOG]] is about '''Exhaustive'' logs of software updates". A version history table is not a changelog and not ''exhaustive''.
:::It connects together the release date of an version and its deprecation, which are generally years apart in diverse changelogs and news. That information is relevant for instance when investigating dependencies between different softwares.
:::The table has been appropriately moved to [[History of Ruby]]. [[User:V975|V975]] ([[User talk:V975|talk]]) 23:46, 25 September 2024 (UTC)
 
== Unicorns are extinct? ==
Exact copy of entry posted June 12, 2001 8:02 am by
[[user:Stephen Gilbert|Stephen Gilbert]].
 
Why was [[Unicorn (web server)]] deleted? [[User:Viam Ferream|Viam Ferream]] ([[User talk:Viam Ferream|talk]]) 14:32, 11 January 2016 (UTC)
''Copied to change name from "Ruby language" to "Ruby
:{{ping|Viam Ferream}} I don't see what this has to do the *this* page, but the note at the creating page screen says: "05:01, 10 January 2016 Rjd0060 (talk | contribs) deleted page Unicorn (web server) (Expired PROD, concern was: unreferenced software article of unclear notability, tagged as unreferenced since 2014, and created by an SPA as possibly promotional)". Information about PROD's can be found at [[Wikipedia:Proposed deletion]]. If you have further questions about the deletion, you should ask the deleting admin, {{user|Rjd0060}}, on their talk page. [[User:Rwessel|Rwessel]] ([[User talk:Rwessel|talk]]) 23:20, 11 January 2016 (UTC)
programming language" to match other language names.''
:: See [[Gunicorn|Green Unicorn]], a Python port of the Unicorn web server for Ruby. I'm not familiar with Ruby or Unicorn, other than as a precursor to Green Unicorn. They both have a weird forking model, so they're ineresting mostly as a different way to design a web server, not for being the most popular web server in use. As I guess youre a Ruby developer, do you have any opinion on whether Unicorn ought to be seen as notable? [[User:Viam Ferream|Viam Ferream]] ([[User talk:Viam Ferream|talk]]) 10:34, 12 January 2016 (UTC)
 
:::I think Unicorn *might* be notable, but I really can't say for sure. The fact that Gunicorn is notable, does not, however, offer evidence that Unicorn is. However "notability" for Wkikipedia is not quite the standard English definition, rather it's as defined by [[Wikipedia:Notability]]. And while an essay and not policy, [[Wikipedia:Notability (software)]] is good advice to follow. I'm not an admin, so I can't see the deleted article, but the problem is clear from the PROD notice: the article was unsourced (and that state had persisted for over a year), and the notability of the subject was never established. If those fail to happen, the article will be deleted. If you want the article undeleted and userfied (put into your user space so you can work on it), the deleting admin is the person to ask. Add some references and establish notability (and good references will generally do that), and we can move it back to the main space. [[User:Rwessel|Rwessel]] ([[User talk:Rwessel|talk]]) 21:33, 13 January 2016 (UTC)
:For the record, I had little to do with this article, other then the editing. The original editing history was pruned. --[[User:Stephen Gilbert|Stephen Gilbert]]
:::: Hmmm, I think thats one of those "I'd like to read it but I don't know enough to write it" topics. Ruby isn't really my thing. [[User:Viam Ferream|Viam Ferream]] ([[User talk:Viam Ferream|talk]]) 10:23, 14 January 2016 (UTC)
:::::{{ping|Viam Ferream}} I created quick stubs to describe the technology stack of popular Ruby web applications like Discourse, Mastodon or Diaspora, and so I covered the [[Mongrel]] successors, including [[Unicorn (web server)]].
::::::For the notability, there are references, books about Ruby or computer science conference papers, strongly indicating Unicorn was used as the preferred web server before [[Puma (web server)]] appears. The stubs are fully sourced.
::::::I'd guess the "weird forking model" is they try to work in a single thread, to avoid any multithreading issues. The popularity seems only a question of usability (they don't ask modification of software or heavy configuration) and performance (benchmarks from Twitter or Deliveroo speaks about requests per seconds). The sources in the Unicorn and Puma article contains some hints about the adoption reasons.
::::::As I'm not a Ruby expert, I'd appreciate if you could review the articles to be sure they're readable. --[[User:Dereckson|Dereckson]] ([[User talk:Dereckson|talk]]) 13:04, 31 March 2018 (UTC)
 
== Latest stable software release template ==
=== Swift creation ===
 
Can anyone help me clean up the mess I've made trying to use [[Template:LSR]]? I've created [[Template:Latest_stable_software_release/Ruby]], but the resulting "+" button on the main Ruby article links to [[Template:Latest stable software release/Ruby (programming language)]].
So this guy created the language in one day? Cool. --AxelBoldt
 
The latter redirects to the former, but I've screwed things up :-(
:Of course not :) --[[:Taw|Taw]]
 
[[User:Scottmacpherson|Scottmacpherson]] ([[User talk:Scottmacpherson|talk]]) 10:02, 26 June 2017 (UTC)
=== Section removal proposal ===
 
:{{ping|Scottmacpherson}}, I fixed it. I copied the contents of [[Template:Latest_stable_software_release/Ruby]] to [[Template:Latest stable software release/Ruby (programming language)]] and then changed in the infobox programming language the parameter name to parameter title. The difference is that parameter name affects the title of infobox and the internal name used in the editing button (+), while the title affects the title of infobox only. This makes the links in the edit button based on the page name. After that, I suggested the deletion of [[Template:Latest_stable_software_release/Ruby]], and it was deleted. [[User:اقرأ|read]] ([[User talk:اقرأ|talk]]) 02:07, 8 June 2018 (UTC)
That section dealing with mailing lists should be removed, I think. It is not encyclopedic, and most other languages do not have mailing lists as a section. Plus, what does it really inform the reader about? --[[User:Marudubshinki|Maru]] 05:19, 6 August 2005 (UTC)
 
== POLA Principle of least astonishment / surprise ==
:I was going to do it, but I checked whether this had already been debated before. Done. --[[User:Chealer|Chealer]] 02:28, 29 September 2005 (UTC)
 
The article right now states:
 
"Matsumoto attempted to distance Ruby from POLA"
=== Compiling ===
 
But this is historically incorrect. Matz never coined POLS or POLA himself; that was in particular pragdave who coined this.
I'm not sure that Ruby has ever been compiled yet. AFAIK JRuby is a port of the interpreter to java byte code, but does not compile the underlying ruby? --[[User:TomCounsell]]
 
So when the article claims "attempted to distance ruby from xyz", then this is not historically correct. Matz was not the one who used POLS/POLA; that came from others, so how could he "distance" ruby from it, if ruby never followed POLS or POLA? This is simply inaccurate what the wikipedia article claims right now. Whoever wrote it clearly did not know the history of ruby from matz point of view. It should be reworded. [[Special:Contributions/80.110.94.82|80.110.94.82]] ([[User talk:80.110.94.82|talk]]) 10:37, 18 August 2019 (UTC)
:Correct. But even as an interpreted language it is blindingly fast. --[[User:Sjc|Sjc]] 13:12, 25 Nov 2004 (UTC)
 
== Important Question ==
::I like Ruby, but one thing it is not, is fast. [[User:146.145.251.68|146.145.251.68]] 17:04, 17 July 2006 (UTC)
Why can't I find anything about furigana in this article? I've read some, but still. <!-- Template:Unsigned IP --><small class="autosigned">—&nbsp;Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/72.68.2.144|72.68.2.144]] ([[User talk:72.68.2.144#top|talk]]) 10:11, 22 October 2020 (UTC)</small> <!--Autosigned by SineBot-->
 
: Because the subject of this article is completely unrelated to [[Ruby character]]. A link for that is in the disambiguation page on the very top of the article. [[User:Fbergo|Fbergo]] ([[User talk:Fbergo|talk]]) 12:07, 22 October 2020 (UTC)
::So there's agreement that no Ruby compilers exist? I plan to remove the misleading claim: ''"It was originally designed as an interpreted language, though in its JRuby implementation it may be compiled."'' --[[User:Ds13|Ds13]] 07:31, 19 Feb 2005 (UTC)
== "Ruby (programming language" listed at [[Wikipedia:Redirects for discussion|Redirects for discussion]] ==
[[File:Information.svg|30px]]
An editor has identified a potential problem with the redirect [[:Ruby (programming language]] and has thus listed it [[Wikipedia:Redirects for discussion|for discussion]]. This discussion will occur at [[Wikipedia:Redirects for discussion/Log/2022 October 27#Ruby (programming language]] until a consensus is reached, and readers of this page are welcome to contribute to the discussion. <!-- from Template:RFDNote --> [[User:Steel1943|<span style="color: #3F00FF;">'''''Steel1943'''''</span>]] ([[User talk:Steel1943|talk]]) 19:22, 27 October 2022 (UTC)
 
:Ohhhhhh yerrrp [[Special:Contributions/2600:1702:21E0:4110:6C92:3F59:5093:54E6|2600:1702:21E0:4110:6C92:3F59:5093:54E6]] ([[User talk:2600:1702:21E0:4110:6C92:3F59:5093:54E6|talk]]) 14:54, 12 March 2023 (UTC)
:::Yes, I've done some checking and it should probably be removed. There are a number of projects working on compiler type entities for ruby, but none that are beyond beta yet. --[[User:TomCounsell|TomCounsell]]
 
== New alternative implementation ==
== Implementations ==
 
[https://www.artichokeruby.org/ Artichoke] is a Ruby implementation written in [[Rust (programming language)|Rust]]. --<span style="font-family:Fira Sans,sans-serif">[[User:Keyacom|'''''<span style="color:#fa3">Ke</span><span style="color:#4f4">ya</span><span style="color:#66f">com</span>''''']] ([[User talk:Keyacom|💬]] | [[Special:Contributions/Keyacom|🖊]])</span> 21:16, 27 July 2023 (UTC)
''Ruby has three main implementations: the official Ruby [[interpreter (computer software)|interpreter]], which is the most widely used, JRuby, a [[Java programming language|Java]]-based implementation, and [[RPG Maker XP]], a [[Windows XP]] program used to create [[Computer role-playing game|role-playing games]].''
 
== Changelog cruft ==
RPG Maker XP is not a Ruby implementation, although it includes one (RGSS). My understanding of the main Ruby implementation's license is that commercial products like RPG Maker can include the interpreter, provided that they include either the source code or a pointer to ruby-lang.org. Does anyone have this game, and if so, can you tell me whether RGSS is a new implementation? - [[User:Beinsane|Beinsane]] 05:44, 6 October 2005 (UTC)
 
@[[User:Xose.vazquez|Xose.vazquez]]: please stop adding changelog-like material to this article without prior discussion. We are already in the "discuss" phase of [[WP:BRD|bold, revert, discuss]] after the [[Wikipedia:Articles for deletion/History of Ruby|History of Ruby AfD]] succeeded (albeit without much participation); I don't want to have to get more people to say content such as a "table of versions" is cruft and unencyclopedic. {{pb}} This is more of a personal note on your conduct, but the way you've been handling this situation has been frustrating. You did not participate in the AfD and it seems like you didn't want to participate in the discussion we were having after my bold [[WP:BLAR|BLAR]]. Discussion is paramount to Wikipedia's growth as an encyclopedia, and I'm open to reasonable debate about whether or not documenting notable changes to software is Wikipedia's job. [[User:Gracen|Gracen]] ([[User talk:Gracen|they]]/[[Special:Contributions/Gracen|them]]) 15:01, 9 April 2025 (UTC)
:And to answer my own question...the RPG Maker website [http://www.enterbrain.co.jp/tkool/RPG_XP/eng/download.html] has a copyright notice crediting Matsumoto for Ruby. The article will be edited. - [[User:Beinsane|Beinsane]] 05:47, 6 October 2005 (UTC)
== "[[:Ruby-gnome2]]" listed at [[Wikipedia:Redirects for discussion|Redirects for discussion]] ==
 
[[File:Information.svg|30px]]
:: also the help-file of the program carries a link to ruby-lang.org on the first (root) page about [[RGSS]] in the About This Document section.
The redirect <span class="plainlinks">[//en.wikipedia.org/w/index.php?title=Ruby-gnome2&redirect=no Ruby-gnome2]</span> has been listed at [[Wikipedia:Redirects for discussion|redirects for discussion]] to determine whether its use and function meets the [[Wikipedia:Redirect|redirect guidelines]]. Readers of this page are welcome to comment on this redirect at '''{{section link|1=Wikipedia:Redirects for discussion/Log/2025 April 16#Ruby-gnome2}}''' until a consensus is reached. <!-- Template:RFDNote --> <span style="color: #006233">[[User:Casablanca Rock|Casablanca 🪨]]<sup>([[User talk:Casablanca Rock|T]])</sup></span> 17:11, 16 April 2025 (UTC)
 
== Criticisms and Possible surprises ==
An anonymous user has come and turned 'Possible surprises' into 'Criticisms and Possible surprises'. If you read the section as it is now, the new items in the list do not really correspond to the list description "some features differ from languages such as C or Perl:". [[User:Jogloran|Jogloran]] 22:25, 8 February 2006 (UTC)
 
Ruby suffers from unconventional and below-average release management. First, Ruby version numbers are used differently from most other projects. Version 1.8.2 is not compatible with version 1.8.4. With Ruby, point releases are roughly equivalent to major releases of other projects. And since there is only 3 digits in the version number, there are no bugfix releases such as 1.8.2.1--instead, users must rely on snapshots of the repository for which there is no guarantee of backward compatibility. Another example is the release of Ruby 1.8.3 which broke Ruby's most well-known and popular application: Ruby on Rails.
 
"Omission of parentheses around method arguments may lead to unexpected results." -- like what? First I've heard of it. The fact that get/set methods are indistinguishable from fields is a feature, not a bug. [[User:Metamatic|Metamatic]] 20:46, 8 May 2006 (UTC)
 
:I got some clarification from Matz. The issue is with methods that take multiple arguments, and that's what may be disallowed in the future. I've reworded accordingly. Also, I've never seen a book recommend omitting brackets for multi-argument methods, so I've tightened that wording too. [[User:Metamatic|Metamatic]] 20:49, 16 May 2006 (UTC)
 
::In an expression like "puts Array.new 5, nil" the receiver of nil is ambiguous. In future versions such an expression will cause a syntax error. With "Array.new 5, nil" the receiver is not ambiguous so parentheses are not necessary. --[[User:Drbrain|drbrain]] 11:54, 18 June 2006 (UTC)
 
== Logo ==
 
I can't find an official Ruby logo at this point. What do you all think?
 
:I should think that the closest thing Ruby has is [http://poignantguide.net/ruby/chapter-3.html the cartoon foxes]. But they're more mascots than a logo. :) [[User:Quamaretto|Quamaretto]] 20:47, 23 February 2006 (UTC)
 
:Ruby doesn't have an official logo. --[[User:Drbrain|drbrain]] 10:09, 18 June 2006 (UTC)
 
== Ruby Strongly typed? ==
 
Anybody cares to join in and explain: [[Template_talk:Type_system_cross_reference_list#Ruby_Strongly_typed.3F]]?
 
--[[User:Krischik|Krischik]]&nbsp;<sup>[[User_talk:Krischik|T]]</sup> 07:29, 24 February 2006 (UTC)
 
:Ruby is [http://c2.com/cgi/wiki?StronglyTyped strongly] and dynamically typed, it does not have implicit type conversions like C, which is weakly typed. --[[User:Drbrain|drbrain]] 10:14, 18 June 2006 (UTC)
 
== POV Issue ==
The article states:
 
:The phrase did not originate with Matz and, generally speaking, Ruby may more closely follow a paradigm best termed as "Matz's Least Surprise", though many programmers have found it to be close to their own mental model as well.
 
In other words, ''Ruby doesn't follow the principle of least surprise; it's just Matz's idea of least surprise.'' That sounds seriously like a jab at Matz and POLS. [[User:DavidDouthitt|<SPAN STYLE="font-family:monospace; color:#006666; background-color:#ffff99; border-color:#ff0000; border-width:1px; border-style:solid; ">&nbsp;DavidDouthitt&nbsp;</SPAN>]] ([[User talk:DavidDouthitt|Talk]]) 23:25, 2 March 2006 (UTC)
 
:Matz repeatedly said he designs Ruby in a way that makes ''him'' surprise least; for example, see [http://www.artima.com/intv/ruby4.html] and [http://www.rubyweeklynews.org/20050529] --[[User:Kusunose|Kusunose]] 05:44, 3 March 2006 (UTC)
 
== Unicode and UTF8 issue ==
In the article there is the statement
Ruby currently lacks full support for Unicode, though it has partial support for UTF-8.
 
I wonder what this means for Ruby 1.8.4 (the current stable) and 1.9 (the current development release)?
An example where a file in UTF8 is read, processed and written out again would be helpful. Hannes Hirzel, 3 June 2006
 
:Ruby 1.8's regular expression engine handles multibyte characters correctly depending on what you set $KCODE to. By default it is in ASCII mode. The string library generally treats characters as raw bytes and ignores character encodings (its been a while since I've looked, I seem to recall one or two methods that check for multibyte characters). Ruby 2.0 will contain more multibyte and unicode string features, but the exact nature of those features have not been decided. --[[User:Drbrain|drbrain]] 11:51, 18 June 2006 (UTC)
 
==Bytecode or not==
I have read on the bytecode page that Ruby does not use bytecode in the current implementation. Is is true? I believe it is no longer the case. [[User:Acaciz|Acaciz]] 18:04, 3 June 2006 (UTC)
 
:Ruby 1.8 walks an [[Abstract_syntax_tree|AST]]. --[[User:Drbrain|drbrain]] 10:17, 18 June 2006 (UTC)
 
==POV issue with "surprises" section==
The section "Gotchas and possible surprises" section is POV, starting with its section name. It would be more accurately titled "Possible surprises for C and Perl programmers", but then that's still POV and getting away from what an objective, non-tutorial encyclopedic article should be. I think removal of this section should be considered. It's certainly useful information (as are reviews and tutorials), but that doesn't mean it belongs in an encyclopedia. Anyone else agree? --[[User:Ds13|Ds13]] 21:32, 15 June 2006 (UTC)
 
:The first four bullet points could be moved into the examples section. I believe the method parentheses problem refers to an expression like "puts Array.new 5, nil", where the method that should receive nil is ambiguous. "puts 5, nil" is never ambiguous. --[[User:Drbrain|drbrain]] 10:41, 18 June 2006 (UTC)
 
== Citing The Computer Language Shootout Benchmarks ==
 
This article links to the [http://shootout.alioth.debian.org/ The Computer Language Shootout Benchmarks], which is not a quality reference for Ruby's performance problems.
 
The Alioth benchmarks exercise features that are seldom used in real-world Ruby like heavy recursion or enforcing use of a pure-ruby random number generator in the fasta benchmark instead of the built-in random number generator, overly penalizing Ruby's performance. Also, some benchmarks do not contain properly optimized Ruby.
 
In some areas Ruby is slightly slower than Perl or Python, but in other areas it is faster. The Alioth benchmarks are overly pessimistic due to the artificial restrictions they impose.
 
I believe this citation should be removed until a proper reference can be found. --[[User:Drbrain|drbrain]] 22:16, 18 June 2006 (UTC)
 
== Change of Hash keys from strings to symbols by KMeyer (Jul 1) ==
 
KMeyer made some changes on July 1st to the hash examples. Rather than, say, { 'a' => 'b', 'c' => 'd' }.. it has become { :a => 'b', :c => 'd' } .. While the symbol syntax is now becoming more popular, I feel this is a poor demonstration of hash tables generally since readers may be confused as to why, say { :my string here => 'x' } doesn't work. Symbols have a prescribed purpose, and in a general hash table, they are not necessarily usable as keys. --[[User:Coop|Coop]] 14:27, 2 July 2006 (UTC)