From: "Hal E. Fulton" Date: 2002-02-20T14:20:40+09:00 Subject: FAQ for comp.lang.ruby This is a multi-part message in MIME format. ------=_NextPart_000_0007_01C1B99C.2EA3AD80 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable RUBY NEWSGROUP FAQ -- Welcome to comp.lang.ruby! (Revised 2001-2-18) This FAQ contains information for those who want to: 1) learn more about Ruby, and want to=20 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. 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. =20 Ruby selectively integrates many good ideas taken from Perl, Python, Smalltalk, Eiffel, ADA, Clu, and Lisp. (Ruby is more fully OO than Python in so far as basic types such as hashes can be subclassed. See Ruby FAQ 1.4.) 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. =20 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. =20 =20 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. =20 1.2 Where can I find out more about Ruby? Ruby's home web site: =20 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. =20 =20 Ruby's other major on-line documentation and links site: =20 http://www.rubycentral.com Ruby FAQ:=20 =20 http://www.rubycentral.com/faq/ 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 classes, modules, and methods reference: http://www.rubycentral.com/ref/ English language Ruby books (recent publication order): 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 Guide by Dave Thomas and Andrew Hunt Addison Wesley; ISBN: 0201710897 (2000) Internet version: http://www.rubycentral.com/ref/ Eratta: http://www.pragmaticprogrammer.com/ruby/errata.html Forthcoming English language Ruby books (author alpha order): The Ruby Programming Language by Yukihiro "Matz" Matsumoto and Keiju Ishitsuka=20 Addison Wesley Professional; ISBN: 020171096X (June, 2002) Sams Teach Yourself Ruby in 21 Days by Mark Slagell Sams; ISBN: 0672322528 (March, 2002) Forthcoming German language Ruby books (author alpha order): Programmieren mit Ruby by Armin Roehrl, Stefan Schmiedl, Clemens Wyss, etc. dpunkt.de; ISBN 3898641511 (February, 2002) Apparently _Programming Ruby_ (Thomas/Hunt)is being published=20 in German by AWL. More on this later. Search past postings to comp.lang.ruby or the ruby-lang mail list (which have been mirrored to each other since mid-2000): http://www.deja.com/home_ps.shtml (Enter comp.lang.ruby in the "forum" entry field.) 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.=20 (Conrad Schneiker, the former maintainer of this FAQ, was=20 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.)=20 (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=20 when perusing archives): - PLEASE NOTE! Include quoted text from previous posts *BEFORE* your responses. And *selectively* quote as much as is relevant.=20 - 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. =20 *Usefully* describe the contents of your post: This is OK:=20 =20 "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" =20 (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 deja.com to search past comp.lang.ruby postings, and so on. =20 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=20 suggestion. Contrary to lots of skepticism, it was approved on=20 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=20 that would "mirror" the newsgroup to the list and vice versa. It is not perfect; because of variability in the news feed,=20 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. 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. 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. 3. 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. =20 =20 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. :-) ------=_NextPart_000_0007_01C1B99C.2EA3AD80 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
RUBY NEWSGROUP FAQ -- Welcome to = comp.lang.ruby! =20 (Revised 2001-2-18)
 
This FAQ contains information for those who want=20 to:
 
  1) learn more about Ruby, and want to =
  2)=20 post to comp.lang.ruby or to the ruby-lang mail list, or want = to
  3)=20 provide anonymous feedback to help us improve Ruby.
 
This FAQ will be posted monthly.
 
TABLE OF CONTENTS
 
    1 About = Ruby
    1.1 What=20 is Ruby?
    1.2 Where can I find out more about=20 Ruby?
    2 About = comp.lang.ruby.
    2.1=20 Tell me about comp.lang.ruby.
    2.2 Tell me the = posting=20 guidelines for comp.lang.ruby.
    2.3 Tell me about = the=20 prolific Matz poster.
    2.4 How do the mailing list = and=20 newsgroup interrelate?
    2.5 What are these 5-digit = message=20 numbers?
    3 Anything else?
 
1 About Ruby
 
1.1 What is Ruby?
 
    Ruby is a very high level, fully = OO=20 programming language. Indeed,
    Ruby is one of the=20 relatively few pure OO languages. Yet despite
    its=20 conceptual simplicity, Ruby is still a powerful and=20 practical
    "industrial strength" development=20 language. 
 
    Ruby selectively integrates many = good ideas=20 taken from Perl,
    Python, Smalltalk, Eiffel, ADA, = Clu, and=20 Lisp.  (Ruby is more
    fully OO than Python in = so far=20 as basic types such as hashes can
    be subclassed. = See Ruby=20 FAQ 1.4.) Ruby combines these ideas in a
    natural,=20 well-coordinated system that embodies the principles = of
   =20 least effort and least surprise to a substantially greater=20 extent
    than most comparable languages--i.e. you = get more=20 bang for your
    buck, and what you write is more = likely to=20 give you what you
    expected to get.  Ruby is = thus a=20 relatively easy to learn, easy to
    read, and easy = to=20 maintain language; yet it is very powerful and
   =20 sophisticated. 
 
    In addition to common OO = features, Ruby=20 also has threads,
    singleton methods, mixins, fully = integrated closures and
    iterators, plus proper=20 meta-classes.   Ruby has a true
    = mark-and-sweep=20 garbage collector, which makes code more reliable
    = and=20 simplifies writing extensions.  In summary, Ruby provides=20 a
    very powerful and very easy to deploy "standing = on the=20 shoulders
    of giants" OO scaffolding/framework so = that you=20 can more quickly
    and easily build what you want to = build,=20 to do what you want to
    do.  =
   =20
    You will find many former (and current) Perl, = Python,=20 Java, and
    C++ users on comp.lang.ruby that can = help you=20 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:
   =20
        http://www.ruby-lang.org/en = (Ruby English=20 language home page.)
 
          &nbs= p; Follow=20 the links to documentation, downloads, the=20 Ruby
           = ;=20 Application Archive, the Ruby mail list archives, and=20 lots
           = ; of=20 other interesting information. 
   =20
    Ruby's other major on-line documentation and = links=20 site:
    =
        http://www.rubycentral.com=
 
    Ruby FAQ:
   =20
        http://www.rubycentral.com/faq/<= /A>
 
    Ruby User's Guide (introductory=20 tutorial):
 
        http://www.ruby-lang.org= /~slagell/ruby/
 
    Ruby Reference = Manual:
 
        http://www.ruby-lang.org/en= /doc.html
 
    Ruby classes, modules, and = methods=20 reference:
 
        http://www.rubycentral.com/ref/<= /A>
 
    English language Ruby books = (recent=20 publication order):
 
        Ruby = Developer's=20 Guide
        by Michael Neumann, = Robert=20 Feldt, Lyle Johnson
        = Publishers=20 Group West; ISBN: 1928994644 (February, 2002)
 
        The Ruby=20 Way
        by Hal=20 Fulton
        Sams; ISBN: = 0672320835=20 (December, 2001)
 
        Ruby In A = Nutshell
        by Yukihiro=20 Matsumoto
        O'Reilly &=20 Associates; ISBN: 0596002149 (November, 2001)
 
        = Programming Ruby: A=20 Pragmatic Guide
        by Dave = Thomas and=20 Andrew Hunt
        Addison = Wesley; ISBN:=20 0201710897 (2000)
        Internet = version: http://www.rubycentral.com/ref/<= /A>
       =20 Eratta: http://www.p= ragmaticprogrammer.com/ruby/errata.html
 
    Forthcoming English language Ruby = books=20 (author alpha order):
 
        The Ruby=20 Programming Language
        by = Yukihiro=20 "Matz" Matsumoto and Keiju Ishitsuka=20
        Addison Wesley = Professional;=20 ISBN: 020171096X (June, 2002)
 
        Sams = Teach Yourself=20 Ruby in 21 Days
        by Mark=20 Slagell
        Sams; ISBN: = 0672322528=20 (March, 2002)
 
    Forthcoming German language Ruby = books=20 (author alpha order):
 
        = Programmieren mit=20 Ruby
        by Armin Roehrl, = Stefan=20 Schmiedl, Clemens Wyss, = etc.
       =20 dpunkt.de; ISBN 3898641511 (February, 2002)
 
        = Apparently=20 _Programming Ruby_ (Thomas/Hunt)is being published=20
        in German by AWL. More on = this=20 later.
 
    Search past postings to = comp.lang.ruby or=20 the ruby-lang mail list
    (which have been mirrored = to each=20 other since mid-2000):
 
        http://www.deja.com/home_ps.sh= tml
       =20 (Enter comp.lang.ruby in the "forum" entry field.)
 
        http://b= lade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml
 
    Local Ruby users and groups in = your=20 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=20 early May, 2000.
    (Conrad Schneiker, the former = maintainer=20 of this FAQ, was
    responsible for the "net = paperwork" of=20 creating this group.)
    Here is the official=20 charter:
 
        CHARTER:=20 comp.lang.ruby
 
        The = comp.lang.ruby=20 newsgroup is devoted to discussions of=20 the
        Ruby programming = language and=20 related issues.
 
        Examples = of=20 relevant postings include, but are not=20 limited
        to, the following=20 subjects:
 
        - Bug=20 reports
        - Announcements of = software written with Ruby
        = -=20 Examples of Ruby code
        -=20 Suggestions for Ruby = developers
        -=20 Requests for help from new Ruby programmers
 
        The = newsgroup is=20 not moderated.  Binaries are=20 prohibited
        (except the = small PGP=20 type). Advertising is prohibited=20 (except
        for announcements = of new=20 Ruby-related products).
 
        END=20 CHARTER.
 
2.2 Tell me the posting guidelines for=20 comp.lang.ruby.
 
    (You should also follow these = guidelines=20 for the ruby-list mail
    list, since it is mirrored = to=20 comp.lang.ruby.)
 
    (1) ALWAYS be friendly, = considerate,=20 tactful, and tasteful.  = We
       =20 want to keep this forum hospitable to the growing ranks=20 of
        newbies, very young = people, and=20 their teachers, as well as
        = cater=20 to fire breathing wizards.  :-)
 
    (2) Keep your content relevant = and easy to=20 follow. Try to keep
        your = content=20 brief and to the point, but also try to=20 include
        all relevant=20 information.
 
        (a) The = general=20 format guidelines (aka USENET Netiquette)=20 are
           = =20 matters of common sense and common courtesy that make=20 life
           = ;=20 easier for 3rd parties to follow along (in real time or=20
            = when=20 perusing archives):
 
          &nbs= p; -=20 PLEASE NOTE! Include quoted text from previous=20 posts
          &nbs= p;  =20 *BEFORE* your responses. And *selectively* quote as=20 much
           = ;  =20 as is relevant.=20
            - = Use=20 *plain* text; don't use HTML, RTF, or Word.=20 Most
           = ;  =20 mail or newsreader programs have an option for this;=20 if
           &= nbsp; =20 yours doesn't, get a (freeware) program or use=20 a
           &n= bsp; =20 web-based service that=20 does.
          &nbs= p; -=20 Include examples from files as *in-line* text;=20 don't
          &nbs= p;  =20 use attachments.
 
        (b) If = reporting a=20 problem, give *all* the=20 relevant
          &= nbsp;=20 information the first time; this isn't the psychic=20 friends
          &n= bsp;=20 newsgroup.  :-)  When appropriate, include:
 
          &nbs= p; - The=20 version of Ruby. ("ruby=20 -v")
           = ; - The=20 compiler name and version used to build=20 Ruby.
          &nbs= p; -=20 The OS type and level. ("uname=20 -a")
           = ; - The=20 actual error=20 messages.
          =  =20 - An example (preferably simple) that produces=20 the
           =   =20 problem.
 
        (c) If = reporting a=20 bug, please copy (cc:) your post to:
 
          &nbs= p;    =20 mailto:ruby-bugs@ruby-lang.org
 
          &nbs= p; This=20 will enter your report into the Ruby bug=20 database.
          =  =20 You can browse the database at:
 
          &nbs= p;    =20 http://www.ruby-lang.= org/cgi-bin/ruby-bugs
 
    (3) Make the subject line = maximally=20 informative, so that = people
        who=20 should be interested will read your post and so that=20 people
        who wouldn't be = interested=20 can easily avoid it. 
 
        = *Usefully* describe=20 the contents of your post:
 
          &nbs= p; This=20 is OK: =
           =20
           &nb= sp;   =20 "How can I do x with y on=20 z?"
           =     =20 "Problem: did x, expected y, got=20 z."
           =     =20 "Bug: doing x with module y crashed z."
 
          &nbs= p; This=20 is *NOT* OK:
 
          &nbs= p;    =20 "Please=20 help!!!"
          &= nbsp;    =20 "Newbie=20 question"
          =      =20 "Need Ruby guru to tell me what's wrong"
   =20
    (4) Finally, be considerate: don't be too lazy. = If you=20 are
        seeking information, = first=20 make a reasonable effort to look=20 it
        up. As appropriate, = check the=20 Ruby home page, check the = Ruby
        FAQ=20 and other documentation, use deja.com to search=20 past
        comp.lang.ruby = postings, and=20 so on. 
 
2.3 Tell me about the prolific Matz = poster.
 
    Matz (aka Yukihiro Matsumoto) is = the wizard=20 who created Ruby for
    us, so be nice to him. He is = very=20 busy, so be patient when asking
    questions. See the = Ruby=20 home page to find out more about him and
    his work. = I=20 (Conrad Schneiker) founded comp.lang.ruby at his
   =20 suggestion. Contrary to lots of skepticism, it was approved on=20
    the first attempt, with 200 yes = votes.
 
2.4 How do the mailing list and newsgroup=20 interrelate?
 
    The mailing list is older. When = the=20 newsgroup was created, they
    diverged. In mid-2001, = Dave=20 Thomas created a two-way gateway
    that would = "mirror" the=20 newsgroup to the list and vice versa.
    It is not = perfect;=20 because of variability in the news feed,
    = sometimes=20 messages are dropped or duplicated.
 
    The online archive of the mailing = list=20 therefore includes most
    of the traffic on the = newsgroup,=20 excluding the posts that were
    made before the = creation of=20 the gateway.
 
2.5 What are these 5-digit message = numbers?
 
    Historically, every item on the = mailing=20 list had a subject
    starting with a string like:=20 [ruby-talk:99999]
 
    The message numbers were = convenient since=20 they were strictly
    serial and formed a good way to = refer=20 to a past message. But
    they interfered with = threading;=20 Matz removed them after the
    matter was put to a = vote in=20 early 2002.
 
    The news header still refers to = this=20 number, should anyone
    wish to retrieve = it.
 
    You can point to a specific = message by=20 appending it onto the
    ruby-talk.org URL; i.e. http://ruby-talk.org/12345 will=20 refer
    to message 12345.
 

3. Anything else?
 
    If you are new to Ruby (or haven't previously = taken the=20 Ruby User
    Survey), please take a moment to = anonymously=20 tell us about your
    programming background and = about your=20 Ruby-related interests. The
    results will be = reported back=20 to the Ruby community from time to
    time. This = helps us do=20 a better job of helping each other, and to
    more=20 effectively expand the Ruby community for our mutual=20 benefit.
    The survey is at:
 
        http://dev.rubycentral.co= m/survey.html
 
    This FAQ was produced by Conrad Schneiker (schneiker@jump.net).
 &nbs= p; =20 It is now maintained by Hal Fulton (hal9000@hypermetrics.com).   =20 I'm interested in corrections and suggestions, but remember=20 that
    the purpose of this FAQ is to be a brief and = simple=20 introduction
    for new comp.lang.ruby readers.  =
   
    In closing, one of the = reasons=20 that Ruby was designed to be
    relatively simple, = uniform,=20 yet very powerful was to make serious
    programming = (among=20 other kinds) fun.  We hope you will help us
    = keep=20 comp.lang.ruby fun as well. Enjoy.  = :-)
------=_NextPart_000_0007_01C1B99C.2EA3AD80--