Talk:Ruby (programming language): Difference between revisions

Content deleted Content added
m Archiving 1 discussion(s) to Talk:Ruby (programming language)/Archive 1) (bot
 
(278 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 ==
::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)
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)
:::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]]
== "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)
== Implementations ==
 
== New alternative implementation ==
''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]].''
 
[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)
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)
 
== Changelog cruft ==
: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)
 
@[[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)
:: 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.
== "[[:Ruby-gnome2]]" listed at [[Wikipedia:Redirects for discussion|Redirects for discussion]] ==
 
[[File:Information.svg|30px]]
== Criticisms and Possible surprises ==
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)
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)
 
== 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 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)
 
== 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)