FAQ for comp.lang.ruby

RUBY NEWSGROUP FAQ – Welcome to comp.lang.ruby! (Revised 2003-1-7)

This FAQ contains information for those who want to:

  1. learn more about Ruby, and want to
  2. post to comp.lang.ruby or to the ruby-lang mail list, or want to
  3. provide anonymous feedback to help us improve Ruby.

This FAQ will be posted monthly. If you are reading the text version via
the mailing list or the newsgroup, note that you can find it on the web
at: http://rubyhacker.com/clrFAQ.html

Note that this is not the Ruby language FAQ! This can be found at:
http://www.rubygarden.org/iowa/faqtotum

TABLE OF CONTENTS

1 About Ruby
1.1 What is Ruby?
1.2 Where can I find out more about Ruby?
2 About comp.lang.ruby.
2.1 Tell me about comp.lang.ruby.
2.2 Tell me the posting guidelines for comp.lang.ruby.
2.3 Tell me about the prolific Matz poster.
2.4 How do the mailing list and newsgroup interrelate?
2.5 What are these 5-digit message numbers?
3 Anything else?

1 About Ruby

1.1 What is Ruby?

Ruby is a very high level, fully OO programming language. Indeed,
Ruby is one of the relatively few pure OO languages. Yet despite
its conceptual simplicity, Ruby is still a powerful and practical
"industrial strength" development language.  

Ruby selectively integrates many good ideas taken from Perl,
Python, Smalltalk, Eiffel, ADA, CLU, and LISP. Ruby combines 
these ideas in a natural, well-coordinated system that embodies 
the principles of least effort and least surprise to a 
substantially greater extent than most comparable languages -- 
i.e., you get more bang for your buck, and what you write is more 
likely to give you what you expected to get.  Ruby is thus a 
relatively easy to learn, easy to read, and easy to maintain 
language; yet it is very powerful and sophisticated.  

In addition to common OO features, Ruby also has threads,
singleton methods, mixins, fully integrated closures and
iterators, plus proper meta-classes.   Ruby has a true
mark-and-sweep garbage collector, which makes code more reliable
and simplifies writing extensions.  In summary, Ruby provides a
very powerful and very easy to deploy "standing on the shoulders
of giants" OO scaffolding/framework so that you can more quickly
and easily build what you want to build, to do what you want to
do.  

You will find many former (and current) Perl, Python, Java, and
C++ users on comp.lang.ruby that can help you get up to speed in
Ruby.

Finally, Ruby is an "open source" development programming
language.  

1.2 Where can I find out more about Ruby?

Ruby's home web site:

    http://www.ruby-lang.org/en (Ruby English language home page.)

        Follow the links to documentation, downloads, the Ruby
        Application Archive, the Ruby mail list archives, and lots
        of other interesting information.  

RubyCentral (Ruby's other major on-line documentation and links site):

    http://www.rubycentral.com  

Ruby FAQ: 

    http://www.rubygarden.org/iowa/faqtotum

Ruby User's Guide (introductory tutorial):

    http://www.ruby-lang.org/~slagell/ruby/

Ruby Reference Manual:

    http://www.ruby-lang.org/en/doc.html

Ruby core reference (classes, modules, methods):

    http://www.rubycentral.com/ref/

English language Ruby books (recent publication order):

    Making Use of Ruby
by Suresh Mahadevan
Wiley; ISBN 0-471-21972-X (2002)

    Teach Yourself Ruby in 21 Days
    by Mark Slagell
    Sams; ISBN: 0672322528 (March, 2002)

    Ruby Developer's Guide
    by Michael Neumann, Robert Feldt, Lyle Johnson
    Publishers Group West; ISBN: 1928994644 (February, 2002)

    The Ruby Way
    by Hal Fulton
    Sams; ISBN: 0672320835 (December, 2001)

    Ruby In A Nutshell
    by Yukihiro Matsumoto
    O'Reilly & Associates; ISBN: 0596002149 (November, 2001)

    Programming Ruby: A Pragmatic Programmers Guide
    by Dave Thomas and Andrew Hunt
    Addison Wesley; ISBN: 0201710897 (2000)
    Internet version: http://www.rubycentral.com/ref/
    Errata: http://www.pragmaticprogrammer.com/ruby/errata.html

Forthcoming English language Ruby books (author alpha order):

    The Ruby Developer's Handbook
    Robert Calco, Rich Kilmer, Dana Moore
    Sams Publishing, ISBN: ??? (2002)

    CANCELED, MARCH 2002 (for reasons unknown):
    The Ruby Programming Language
    by Yukihiro "Matz" Matsumoto and Keiju Ishitsuka 
    Addison Wesley Professional; ISBN: 020171096X (June, 2002)

German language Ruby books (author alpha order):

    Das Einsteigerseminar Ruby. Der methodische und 
    ausführliche Einstieg.
    by Dirk Engel and Klaus Spreckelsen 
    ISBN: 3826672429

    Programmieren mit Ruby
    by Armin Roehrl, Stefan Schmiedl, Clemens Wyss, et al.
    dpunkt.de; ISBN 3898641511 (February, 2002)

    Programmieren mit Ruby. Handbuch für den pragmatischen 
    Programmierer.
    Translation of the Thomas/Hunt book (Programming Ruby,
    aka the Pickaxe Book) 
    Addison-Wesley, ISBN: 382731965X (2002)

Search past postings to comp.lang.ruby or the ruby-lang mail list
(which have been mirrored to each other since mid-2000):

    http://groups.google.com/groups?hl=en&lr=&ie=ISO-8859-1&q=comp.lang.ruby
    http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml

Local Ruby users and groups in your area:

    http://www.pragprog.com/ruby?RubyUserGroups

2 About comp.lang.ruby.

2.1 Tell me about comp.lang.ruby

comp.lang.ruby was officially approved in early May, 2000. 
(Conrad Schneiker, the former maintainer of this FAQ, was 
responsible for the "net paperwork" of creating this group.)
Here is the official charter:

    CHARTER: comp.lang.ruby

    The comp.lang.ruby newsgroup is devoted to discussions of the
    Ruby programming language and related issues.

    Examples of relevant postings include, but are not limited
    to, the following subjects:

    - Bug reports
    - Announcements of software written with Ruby
    - Examples of Ruby code
    - Suggestions for Ruby developers
    - Requests for help from new Ruby programmers

    The newsgroup is not moderated.  Binaries are prohibited
    (except the small PGP type). Advertising is prohibited (except
    for announcements of new Ruby-related products).

    END CHARTER.

2.2 Tell me the posting guidelines for comp.lang.ruby.

(You should also follow these guidelines for the ruby-list mail
list, since it is mirrored to comp.lang.ruby.) 

(1) ALWAYS be friendly, considerate, tactful, and tasteful.  We
    want to keep this forum hospitable to the growing ranks of
    newbies, very young people, and their teachers, as well as
    cater to fire breathing wizards.  :-)

(2) Keep your content relevant and easy to follow. Try to keep
    your content brief and to the point, but also try to include
    all relevant information.

    (a) The general format guidelines (aka USENET Netiquette) are
        matters of common sense and common courtesy that make life
        easier for 3rd parties to follow along (in real time or 
        when perusing archives):

        - PLEASE NOTE! Include quoted text from previous posts
          *BEFORE* your responses. And *selectively* quote as much
          as is relevant. 
        - Use *plain* text; don't use HTML, RTF, or Word. Most
          mail or newsreader programs have an option for this; if
          yours doesn't, get a (freeware) program or use a
          web-based service that does.
        - Include examples from files as *in-line* text; don't
          use attachments.

    (b) If reporting a problem, give *all* the relevant
        information the first time; this isn't the psychic friends
        newsgroup.  :-)  When appropriate, include:

        - The version of Ruby. ("ruby -v")
        - The compiler name and version used to build Ruby.
        - The OS type and level. ("uname -a")
        - The actual error messages.
        - An example (preferably simple) that produces the
          problem.

    (c) If reporting a bug, please copy (cc:) your post to:

            mailto:ruby-bugs@ruby-lang.org

        This will enter your report into the Ruby bug database.
        You can browse the database at:

            http://www.ruby-lang.org/cgi-bin/ruby-bugs

(3) Make the subject line maximally informative, so that people
    who should be interested will read your post and so that people
    who wouldn't be interested can easily avoid it.  

    *Usefully* describe the contents of your post:

        This is OK: 
        
            "How can I do x with y on z?"
            "Problem: did x, expected y, got z."
            "BUG: doing x with module y crashed z."

        This is *NOT* OK:

            "Please help!!!"
            "Newbie question"
            "Need Ruby guru to tell me what's wrong"

    These prefixes have become common for subject lines:

            ANN:  (for announcements)
        BUG:  (for bug reports)
        OT:   (for off-topic, if you must post off-topic)

(4) Finally, be considerate: don't be too lazy. If you are
    seeking information, first make a reasonable effort to look it
    up. As appropriate, check the Ruby home page, check the Ruby
FAQ and other documentation, use google.com to search past
    comp.lang.ruby postings, and so on.  

2.3 Tell me about the prolific Matz poster.

Matz (aka Yukihiro Matsumoto) is the wizard who created Ruby for
us, so be nice to him. He is very busy, so be patient when asking
questions. See the Ruby home page to find out more about him and
his work. I (Conrad Schneiker) founded comp.lang.ruby at his 
suggestion. Contrary to lots of skepticism, it was approved on 
the first attempt, with 200 yes votes.

2.4 How do the mailing list and newsgroup interrelate?

The mailing list is older. When the newsgroup was created, they
diverged. In mid-2001, Dave Thomas created a two-way gateway 
that would "mirror" the newsgroup to the list and vice versa.
(This was accomplished in 200 lines of Ruby code.) It is not 
perfect; because of variability in the news feed, sometimes 
messages are dropped or duplicated.

The online archive of the mailing list therefore includes most
of the traffic on the newsgroup, excluding the posts that were
made before the creation of the gateway.

Note: Spam or other inappropriate messages are NOT the 
responsibility of Dave Thomas, who maintains the gateway. He
does everything in his power to deal with this issue. Do NOT
report spam to his ISP merely because the messages come from
his server.

2.5 What are these 5-digit message numbers?

Historically, every item on the mailing list had a subject
starting with a string like: [ruby-talk:99999]

The message numbers were convenient since they were strictly
serial and formed a good way to refer to a past message. But
they interfered with threading; Matz removed them after the
matter was put to a vote in early 2002.

The news header still refers to this number, should anyone
wish to retrieve it. On the mailing list this number can
now be found in the X-Mail-Count: header.

You can point to a specific message by appending it onto the
ruby-talk.org URL; i.e. http://ruby-talk.org/12345 will refer
to message 12345.
  1. Anything else?

    If you are new to Ruby (or haven’t previously taken the Ruby User
    Survey), please take a moment to anonymously tell us about your
    programming background and about your Ruby-related interests. The
    results will be reported back to the Ruby community from time to
    time. This helps us do a better job of helping each other, and to
    more effectively expand the Ruby community for our mutual benefit.
    The survey is at:

     http://dev.rubycentral.com/survey.html
    

    This FAQ was produced by Conrad Schneiker (schneiker@jump.net).
    It is now maintained by Hal Fulton (hal9000@hypermetrics.com).
    I’m interested in corrections and suggestions, but remember that
    the purpose of this FAQ is to be a brief and simple introduction
    for new comp.lang.ruby readers.

    In closing, one of the reasons that Ruby was designed to be
    relatively simple, uniform, yet very powerful was to make serious
    programming (among other kinds) fun. We hope you will help us
    keep comp.lang.ruby fun as well. Enjoy. :slight_smile:

This posting is automated, so it sneaked up on me.

I failed to make Josef’s changes in the FAQ.

Josef, so you still have a list of all the
changes? I have misplaced mine.

Thanks,
Hal

···

----- Original Message -----
From: hal9000@mercury.web-hosting.com
To: “ruby-talk ML” ruby-talk@ruby-lang.org; undisclosed-recipients:
Sent: Tuesday, June 10, 2003 3:15 PM
Subject: FAQ for comp.lang.ruby

RUBY NEWSGROUP FAQ – Welcome to comp.lang.ruby! (Revised 2003-1-7)

Saluton!

What about adding a pointer to

http://www.rubygarden.org/ruby?RubyAbbreviations

to the FAQ?

In the German version I did add the abbreviations themselves with
explanations in German (corrections are welcome).

Gis,

Josef ‘Jupp’ Schugt

Another good idea. I may not get to any of
this in the next week, as I am busy assisting
with a manuscript and working on a talk for
the European Ruby Conf at the same time.

The FAQ will not get posted again until July,
the 10th I think. I will get the changes in
before then.

Thanks,
Hal

···

----- Original Message -----
From: “Josef ‘Jupp’ Schugt” jupp@gmx.de
To: “ruby-talk ML” ruby-talk@ruby-lang.org
Sent: Friday, June 13, 2003 6:12 PM
Subject: Re: FAQ for comp.lang.ruby

Saluton!

What about adding a pointer to

http://www.rubygarden.org/ruby?RubyAbbreviations

to the FAQ?

In the German version I did add the abbreviations themselves with
explanations in German (corrections are welcome).

Saluton!

What about adding a pointer to

http://www.rubygarden.org/ruby?RubyAbbreviations

to the FAQ?

In the German version I did add the abbreviations themselves with
explanations in German (corrections are welcome).

Another good idea. I may not get to any of
this in the next week, as I am busy assisting
with a manuscript and working on a talk for
the European Ruby Conf at the same time.

Um, before doing so, can we consider renaming the page to
RubyGlossary instead? Half the items or so are not actual
abbreviations, and the term “glossary” seems to describe
the content and intent of the page better.

James

Saluton!

  • James Britt (ruby-talk ML); 2003-06-14, 14:37 UTC:

http://www.rubygarden.org/ruby?RubyAbbreviations

Um, before doing so, can we consider renaming the page to
RubyGlossary instead?

Alternative suggestion: RubySlang

I did already add the items to the German FAQ under the headline

comp.lang.ruby/ruby-talk slang

Are you sure you are not confusing abbreviations and acronyms? As a
rule of thumb (there are exceptions from this general rule like XP
for eXtreme Programming) acronyms are composed of initial letters of
words while abbreviations are simply shorthand.

Gis,

Josef ‘Jupp’ Schugt

Actually, the distinction I know is that acronyms
have to become a pronounceable word – so laser
would be an acronym (used to be LASER), but SPCA
would not. Many Americans don’t make even this
distinction any more.

Personally I don’t care whether it’s slang or
glossary or whatever. I’ll link to it later.

Thanks,
Hal

···

----- Original Message -----
From: “Josef ‘Jupp’ Schugt” jupp@gmx.de
To: “ruby-talk ML” ruby-talk@ruby-lang.org
Sent: Saturday, June 14, 2003 1:25 PM
Subject: Re: FAQ for comp.lang.ruby

Saluton!

  • James Britt (ruby-talk ML); 2003-06-14, 14:37 UTC:

http://www.rubygarden.org/ruby?RubyAbbreviations

Um, before doing so, can we consider renaming the page to
RubyGlossary instead?

Alternative suggestion: RubySlang

I did already add the items to the German FAQ under the headline

comp.lang.ruby/ruby-talk slang

Are you sure you are not confusing abbreviations and acronyms? As a
rule of thumb (there are exceptions from this general rule like XP
for eXtreme Programming) acronyms are composed of initial letters of
words while abbreviations are simply shorthand.

comp.lang.ruby/ruby-talk slang

Are you sure you are not confusing abbreviations and acronyms? As a
rule of thumb (there are exceptions from this general rule like XP
for eXtreme Programming) acronyms are composed of initial letters of
words while abbreviations are simply shorthand.

Well, I’d quibble and say that much of this is jargon, not slang.

And an acronym is a series of initials that are pronounced as a word
(e.g., radar or YAML ), while a mere series of initials, where each
letter is pronounced as itself (e.g. XML or IBM), are initialisms.

In general, if one were to try to find out what an unknown term meant,
one would likely look for the glossary or dictionary; not too likely
one would first try to find the slang directory.

POLS sort of thing.

James

···

Gis,

Josef ‘Jupp’ Schugt

Saluton!

  • Hal E. Fulton; 2003-06-14, 22:26 UTC:

Actually, the distinction I know is that acronyms have to become a
pronounceable word – so laser would be an acronym (used to be
LASER),

Webster: a word (as radar [that’s remote detecting and ranging])
formed from the initial letter or letters of the successive parts or
major parts of a compound term.

In Germany I wouldn’t call ‘Laser’ an acronym because few people know
that it is an abbreviation (a pity in this case because ‘light
amplification by stimulated emission of radiation’ describes how a
laser actually works).

but SPCA would not.

What’s that?

Many Americans don’t make even this distinction any more.

Personally I don’t care whether it’s slang or glossary or whatever.

Hmm, I took a closer look at these and other candidates (excerpts
form Webster’s New Encyclopedic Dictionary):

glossary

  1. a list in the back of a book of the hard or unusual words found
    in the text
  2. a dictionary of the special terms found in a particular field of
    study

jargon

  1. a) confused intelligible language : GIBBERISH
    b) a hybrid language or dialect used for communication between
    people of different speech
  2. the technical or specialized vocabulary of a particular
    profession or group
  3. obscure and often pretentiously wordy language

slang (n)

  1. language peculiar to a particular group, trade, or pursuit
    (baseball slang)
  2. an informal nonstandard vocabulary composed typically of
    short-lived coinages, arbitrarily changed words, and
    extravagant, forced, or facetious figures of speech.

slang (vb)

  1. (chiefly British) to abuse with harsh or coarse language
  2. to use slang or vulgar abuse

terminology
the technical or special terms used in a business, art, science, or
special subject (the terminology of law)

vocabulary

  1. a list or collection of words or of words and phrases usually
    alphabetically arranged and explained or defined
  2. a sum or stock of words employed by a language, group,
    individual, or work or in a field of knowledge.

Gis,

Josef ‘Jupp’ Schugt