RUBY NEWSGROUP FAQ -- Welcome to comp.lang.ruby!

(Last modified on 2000-06-18.)

This FAQ contains information for those who want to

  1) learn more about Ruby, and want to
  2) post to comp.lang.ruby.

This FAQ is normally posted every 2 weeks or so.

1 About Ruby.

1.1 What is Ruby?

    Ruby is a relatively new, very high level, fully OO language that
    integrated many good ideas 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.) In addition to common OO features, Ruby has threads,
    singleton methods, mix-ins, fully integrated closures and
    iterators, plus proper meta-classes.  Ruby is a relatively easy to
    learn and easy to read language, yet it is very powerful and
    sophisticated. Ruby has a true mark-and-sweep garbage collector,
    which makes code more reliable and simplifies writing extensions.
    For many of us, Ruby is "better Perl than Perl" and a "better
    Python than Python". You could characterize the Ruby philosophy as
    "there's a better way to do it" (TABWTDI).

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.

        http://www.ruby-lang.org/en/whats.html (Ruby feature list.)

    Ruby FAQ:

        http://www.rubycentral.com/faq/

    Ruby User's Guide (introductory tutorial):

        http://www.math.sci.hokudai.ac.jp/~gotoken/ruby/
        (Look under "Documents" heading.)

    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:

        Two forthcoming English-language Ruby are planned for
        publication later in Y2K:

            <<Don't know title yet.>> by Yukihiro Matsumoto

            "Pragmatic Ruby" by Dave Thomas and Andrew Hunt

2 About comp.lang.ruby.

2.1 Tell me about comp.lang.ruby.

    comp.lang.ruby was officially approved in early May, 2000. 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 be 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 about the prolific Matz poster.

    Matz (aka Yukihiro Matsumoto) is the wizard that 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 founded comp.lang.ruby at his suggestion. Contrary to
    lots of skepticism, it was approved on the first attempt, with 200
    yes votes.

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

    (1) First of all, 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.

    (2) 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.

        (a) Start with one of these keywords if appropriate:

            ANNOUNCE -- new Ruby code, docs, or URLs of interest.
            Bug      -- report a definite bug.
            Job      -- advertise a Ruby-related job.
            OT       -- off topic.
            Problem  -- any sort of problem with using Ruby.
            Product  -- advertise a Ruby-related product.

        (b) 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"

    (3) 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) General format guidelines:

            - Use plain text; don't use HTML, RTF, or Word.
            - Include examples from files as in-line text; don't
              use attachments.
            - Include quoted text from previous posts *BEFORE* your
              responses. *SELECTIVELY* quote as much as is relevant.

        (b) If reporting a problem, give all the relevant information;
            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. Anything else?

    This FAQ was produced by Conrad Schneiker (schneiker / jump.net).
    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.  :-)