Talk:Ruby (programming language): Difference between revisions

Content deleted Content added
m Archiving 1 discussion(s) to Talk:Ruby (programming language)/Archive 1) (bot
 
(46 intermediate revisions by 30 users not shown)
Line 1:
{{afd-merged-from|History of Ruby|History of Ruby|28 March 2025}}
{{talkheader|search=yes}}
{{Talk header}}
{{WPFS|class=B|importance=High|computing-importance=Mid}}
{{WikiProject banner shell|class=B|vital=yes|1=
{{auto archiving notice|bot=MiszaBot I|age=30|dounreplied=yes}}
{{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
Line 17 ⟶ 20:
}}
 
== Let us include at least one pointer to a good [[Programming language reference]] ==
== Magic Global ==
 
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].
Alternatively, the most recent exception is stored in the magic global <code>$!</code>.
 
* [https://ruby-doc.org/ ruby-doc.org] is of course OK, but is not easy, it does not have a good table of contents.
Is <code>$!</code> really considered a magic global? It feels like an unnecessary adjective. Simply stating "the global <code>$!</code>" seems adequate.
* [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:AdamstegmanFbergo|AdamstegmanFbergo]] ([[User talk:AdamstegmanFbergo|talk]]) 1512:2110, 22 FebruaryOctober 20102020 (UTC)
:* 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-->
 
:All variables that start with a $ are "global variables.2 I do not know who came up with the word "magic global", I think it is a misnomer. Nothing in the source of ruby refers to anything as a "magic global". However, not all global variables are the same in ruby. $1 $2 etc... are somewhat special and volatile, used for regexes. They may tend to "disappear" more rapidly than other variables, when you use a new =~ regex check. [[Special:Contributions/193.83.131.214|193.83.131.214]] ([[User talk:193.83.131.214|talk]]) 11:21, 6 February 2013 (UTC)
 
== mruby ==
 
matz is working on mruby, a light variant of ruby, a bit similar to lua. Should the main article mention mruby eventually? The link to the github page is at: https://github.com/mruby/mruby I suppose one day mruby may be ready, and then the main article could have a small subsection about mruby. [[Special:Contributions/193.83.131.214|193.83.131.214]] ([[User talk:193.83.131.214|talk]]) 11:23, 6 February 2013 (UTC)
 
== Is [[Ruby]] a [[:Category talk:C programming language family|"C family" programming language]]? ==
 
Please see [[Wikipedia:Categories_for_discussion/Log/2014_October_24#Category_talk:C_programming_language_family]]. [[User:Andy Dingley|Andy Dingley]] ([[User talk:Andy Dingley|talk]]) 12:20, 24 October 2014 (UTC)
 
== A suggestion for the lede: include the fact that Ruby is free ==
 
I am fully aware that what goes into the lede is a touchy subject where outsiders are usually wrong. But I went to Wikipedia with the sole purpose of knowing whether Ruby is freely available, something any devotee of open source learning would want to know. I had to go past the lede to learn that Ruby costs nothing. --- Just something to think about. --[[User:Guy vandegrift|guyvan52]] ([[User talk:Guy vandegrift|talk]]) 01:57, 31 January 2015 (UTC)
:OK, I just found the info in the box situated in the lede. I am not qualified to address the question of whether you want to include the word "free" in the first three or four sentences.
 
== Nonsense claim in the metaprogramming section ==
 
"To implement the equivalent in many other languages, the programmer would have to write each method (in_black, in_red, in_green, etc.) separately."
 
That is absurd: I have worked in over a dozen languages, and I can't think of one of them where one would need to write a method per color! In C, for instance, you would write a print_in_color() function, and pass in an array index (e.g., 'BLUE') for which HTML code you wanted to output. This appears to have been written by someone who has not programmed in any language but Ruby. [[User:GeneCallahan|GeneCallahan]] ([[User talk:GeneCallahan|talk]]) 19:32, 2 March 2015 (UTC)
 
:I'm certainly no fan of Ruby (currently struggling with it for work...) but this claim seems legitimate. The result is that the user can write "in_blue(x)", the fact that blue is chosen is part of the identifier for the function. You are saying "blue" can be passed as an argument to the function but that is different. I would suspect lisp can do this pretty easily, and probably most interpreted languages can do something like this but perhaps using non-portable code specific to a given interpreter.[[User:Spitzak|Spitzak]] ([[User talk:Spitzak|talk]]) 21:45, 2 March 2015 (UTC)
 
== Version table ==
Line 80 ⟶ 63:
 
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)
 
: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)
::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)
:::[[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? ==
Line 89 ⟶ 78:
:::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)
:::: 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 ==
== External links modified ==
 
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)]].
Hello fellow Wikipedians,
 
The latter redirects to the former, but I've screwed things up :-(
I have just modified {{plural:1|one external link|1 external links}} on [[Ruby (programming language)]]. Please take a moment to review [https://en.wikipedia.org/w/index.php?diff=prev&oldid=713121697 my edit]. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit [[User:Cyberpower678/FaQs#InternetArchiveBot|this simple FaQ]] for additional information. I made the following changes:
*Corrected formatting/usage for http://www-4.ibm.com/software/developer/library/ruby.html
 
[[User:Scottmacpherson|Scottmacpherson]] ([[User talk:Scottmacpherson|talk]]) 10:02, 26 June 2017 (UTC)
When you have finished reviewing my changes, please set the ''checked'' parameter below to '''true''' or '''failed''' to let others know (documentation at {{tlx|Sourcecheck}}).
 
:{{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)
{{sourcecheck|checked=false}}
 
== POLA Principle of least astonishment / surprise ==
Cheers.—[[User:Cyberbot II|<sup style="color:green;font-family:Courier">cyberbot II</sup>]]<small><sub style="margin-left:-14.9ex;color:green;font-family:Comic Sans MS">[[User talk:Cyberbot II|<span style="color:green">Talk to my owner</span>]]:Online</sub></small> 02:08, 2 April 2016 (UTC)
 
The article right now states:
== Relevance of old version sections? ==
 
"Matsumoto attempted to distance Ruby from POLA"
I'm not sure what the sections that basically amount to release "cliffnotes" (''especially'' for the versions that are obsolete) add to this page. Is there a reason to include them? The table with version numbers and support status seems like it would suffice. [[User:Rubah|rubah]] ([[User talk:Rubah|talk]]) 05:28, 10 September 2016 (UTC)
 
But this is historically incorrect. Matz never coined POLS or POLA himself; that was in particular pragdave who coined this.
== Keep "differences"? ==
 
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)
About [https://en.wikipedia.org/w/index.php?title=Ruby_(programming_language)&diff=769305703&oldid=765870761 this edit]. Is it bad to show differences? I didn't look over, saying any of them are true (or not).
 
== Important Question ==
Just, if language A (Ruby) has for sure some syntax/semantics and some other language B something else, then ok with [[WP:V]]? I'm not even sure you need an official spec. [[User:Comp.arch|comp.arch]] ([[User talk:Comp.arch|talk]]) 14:37, 13 March 2017 (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)
== Latest stable software release template ==
== "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)
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)]].
 
== New alternative implementation ==
The latter redirects to the former, but I've screwed things up :-(
 
[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)
[[User:Scottmacpherson|Scottmacpherson]] ([[User talk:Scottmacpherson|talk]]) 10:02, 26 June 2017 (UTC)
 
== Changelog cruft ==
 
@[[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)
== "[[:Ruby-gnome2]]" listed at [[Wikipedia:Redirects for discussion|Redirects for discussion]] ==
[[File:Information.svg|30px]]
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)