Recommened readings?

For one of my university courses, I have to complete a paper on Ruby.
I need to address the majority of the following items:
Syntax/Semantics
Bindings/Type Checking
Data Types/Expressions/ADT
Control Structures
Subprograms/Implementing Subprograms
Support for Object-Oriented Programming
Concurrency
Exception Handling

While I have found a good number of online sources, I am lacking in
print based sources, and was wondering if anyone had any
recommendations.

John Trunek

John wrote:

For one of my university courses, I have to complete a paper on Ruby.
I need to address the majority of the following items:
Syntax/Semantics
Bindings/Type Checking
Data Types/Expressions/ADT
Control Structures
Subprograms/Implementing Subprograms
Support for Object-Oriented Programming
Concurrency
Exception Handling

While I have found a good number of online sources, I am lacking in
print based sources, and was wondering if anyone had any
recommendations.

Programming Ruby, 2nd Ed., by Dave Thomas

What is the purpose of your paper? Is it comparitive? Or simply
descriptive? And what level course is it?

"Programming Ruby, 2nd Edition" is a great book on the language. "The
Ruby Way" is also great, and more of a cookbook type of book. It may
offer more examples of control structures and ways of doing typical
things a language is used for. Since you are interested in the
language specifically, these are probably the only two books. The
other Ruby books, while almost all good, focus more on task-orient
rather then language-oriented aspects of programming in Ruby.

Depending on how you searched for on-line sources, you can expand your
search from them into some really interesting on-line content. From a
link to RubyVsPython, I ended up reading Lisp Vs PythonAndRuby,
Smalltalk comparisions, discussions on closures, continuations,
coroutines, Haskell, as well as some general papers on productivty in
typed vs. dynamic languages. Run-time vs Static, weak vs. strong
typing was also interesting. Most of this was on the c2 wiki.

Books that go into this would be on language design, and probably
would not include Ruby yet, being more likely to focus on Lisp,
Scheme, Smalltalk, Haskel, ML, Caml, Ocaml etc. Smalltalk seems to be
the most conceptually similar language from my perspective, but I
don't really know Smalltalk, so I may be wrong.

If you want to explore practical applications of Ruby control
structures, the web frameworks are interesting- Borges and Wee use
continuations ala the Smalltalk Seaside framework.

There is an Aspect-Oriented-Programming proof-of-concept somewhare,
which would be an interesting way to contrast Ruby and Java.

The web framework Ruby on Rails does an amazing job of getting rid of
configuration files by using reflection and the dynamic nature of Ruby
to do amazing things.

Needle is a second generation IOC/DI (Inversion of Control/Dependency
Injection) framework, replace Copland, which the author realized used
too many Java paradigms. There are several great articles on this and
why/how it happened. Dave Thomas also has an article on his blog about
doing DI for Ruby on Rails in such a way that readability and clarity
isn't lost in the code for it's default case (e.g. it looks as if
there was no DI).

I also mention again the Ruby vs. Python discussions- the very nature
of such a discussion brings out detailed language design comparisions,
and provided a wealth of insight into Ruby for me.

Regards,
Nick

···

On Tue, 7 Dec 2004 14:32:32 +0900, John <jtrunek@hotmail.com> wrote:

For one of my university courses, I have to complete a paper on Ruby.
I need to address the majority of the following items:
Syntax/Semantics
Bindings/Type Checking
Data Types/Expressions/ADT
Control Structures
Subprograms/Implementing Subprograms
Support for Object-Oriented Programming
Concurrency
Exception Handling

While I have found a good number of online sources, I am lacking in
print based sources, and was wondering if anyone had any
recommendations.

John Trunek

I'll second that. It covers pretty much everything you need.

···

On Tue, 7 Dec 2004 15:06:27 +0900, James Britt <jamesunderbarb@neurogami.com> wrote:

Programming Ruby, 2nd Ed., by Dave Thomas

--
Regards,
John Wilger

-----------
Alice came to a fork in the road. "Which road do I take?" she asked.
"Where do you want to go?" responded the Cheshire cat.
"I don't know," Alice answered.
"Then," said the cat, "it doesn't matter."
- Lewis Carrol, Alice in Wonderland

Nicholas Van Weerdenburg wrote:

What is the purpose of your paper? Is it comparitive? Or simply
descriptive? And what level course is it?

"Programming Ruby, 2nd Edition" is a great book on the language. "The
Ruby Way" is also great, and more of a cookbook type of book. It may
offer more examples of control structures and ways of doing typical
things a language is used for. Since you are interested in the
language specifically, these are probably the only two books. The
other Ruby books, while almost all good, focus more on task-orient
rather then language-oriented aspects of programming in Ruby.

A little bit more about the purpose of the paper. The paper is for my language design and theory course. The purpose of the paper is to simply analyze a programming language and see how the various topics discussed in the course were implemented in a real language. The paper is more of an overview of how the language was designed, rather than an in depth analysis. I say this because the professor gave us a guideline of 7-8 pages, and we need to address at least 4 of the issues I mentioned earlier.

James Britt wrote:
  > Programming Ruby, 2nd Ed., by Dave Thomas

I've heard good things about that book. Now it's just a matter of tracking it down, since our library on campus seems to think that the mid 90's is up to date with computing topics.

If I need to, I may just go purchase the book, as Ruby looks like an interesting language that I'd be interested in learning more in depth. And besides, if nothing else, I can always use the excuse "He who dies with the most books wins." :wink:

yup, I'll second that too. it's simply awesome. i started with ruby
thanks to that book.

···

On Tue, 7 Dec 2004 23:05:28 +0900, John Wilger <johnwilger@gmail.com> wrote:

On Tue, 7 Dec 2004 15:06:27 +0900, James Britt > <jamesunderbarb@neurogami.com> wrote:
> Programming Ruby, 2nd Ed., by Dave Thomas

I'll second that. It covers pretty much everything you need.

--
Regards,
John Wilger

-----------
Alice came to a fork in the road. "Which road do I take?" she asked.
"Where do you want to go?" responded the Cheshire cat.
"I don't know," Alice answered.
"Then," said the cat, "it doesn't matter."
- Lewis Carrol, Alice in Wonderland

--
BlueSteel | | Merkoth

Quoting John Trunek <jtrunek@hotmail.com>:

James Britt wrote:
  > Programming Ruby, 2nd Ed., by Dave Thomas

I've heard good things about that book. Now it's just a matter of tracking
it
down, since our library on campus seems to think that the mid 90's is up to
date
with computing topics.

If I need to, I may just go purchase the book, as Ruby looks like an
interesting
language that I'd be interested in learning more in depth. And besides, if
nothing else, I can always use the excuse "He who dies with the most books
wins." :wink:

I'm in good shape if that's true!

···

--
R. Mark Volkmann
Partner, Object Computing, Inc.

For your purposes, the first edition would probably be sufficient. You
can get it free online at
http://www.ruby-doc.org/docs/ProgrammingRuby/

However, if you want to start actually _using_ Ruby, the 2nd edition
is definitely worth the money.

···

On Wed, 8 Dec 2004 05:07:31 +0900, John Trunek <jtrunek@hotmail.com> wrote:

James Britt wrote:
  > Programming Ruby, 2nd Ed., by Dave Thomas

I've heard good things about that book. Now it's just a matter of tracking it
down, since our library on campus seems to think that the mid 90's is up to date
with computing topics.

If I need to, I may just go purchase the book, as Ruby looks like an interesting
language that I'd be interested in learning more in depth. And besides, if
nothing else, I can always use the excuse "He who dies with the most books wins." :wink:

--
Regards,
John Wilger

-----------
Alice came to a fork in the road. "Which road do I take?" she asked.
"Where do you want to go?" responded the Cheshire cat.
"I don't know," Alice answered.
"Then," said the cat, "it doesn't matter."
- Lewis Carrol, Alice in Wonderland

John Wilger wrote:

···

On Wed, 8 Dec 2004 05:07:31 +0900, John Trunek <jtrunek@hotmail.com> wrote:

James Britt wrote:
> Programming Ruby, 2nd Ed., by Dave Thomas

I've heard good things about that book. Now it's just a matter of tracking it
down, since our library on campus seems to think that the mid 90's is up to date
with computing topics.

If I need to, I may just go purchase the book, as Ruby looks like an interesting
language that I'd be interested in learning more in depth. And besides, if
nothing else, I can always use the excuse "He who dies with the most books wins." :wink:

For your purposes, the first edition would probably be sufficient. You
can get it free online at
Programming Ruby: The Pragmatic Programmer's Guide

However, if you want to start actually _using_ Ruby, the 2nd edition
is definitely worth the money.

Thanks for the URL, I wasn't aware that there was an older edition available online.

For your purposes, the first edition would probably be sufficient. You
can get it free online at
Programming Ruby: The Pragmatic Programmer's Guide

However, if you want to start actually _using_ Ruby, the 2nd edition
is definitely worth the money.

Is this just excerpts? It seemed a bit brief, although it worked wonderfully for my paper. Now I'm really interested in learning more about ruby.

My apologies to the students in the course that drew Brain**** and Intercal :slight_smile:

http://www.catb.org/~esr/intercal/paper.html

I also HIGHLY second reading c2 for internet material on Ruby, and
language design in general. Gives you a feel of what is lacking
where in what languages, and so forth... Good commentary.

c2 is somewhat hard to search, so let me (and Google), help you out a bit:

http://www.google.com/search?hl=en&lr=&q=Ruby+site%3Ac2.com&btnG=Search

c2 is unbelievable. I think it's the coolest website on the web.

Nick

···

On Wed, 8 Dec 2004 07:10:13 +0900, Michael DeHaan <michael.dehaan@gmail.com> wrote:

My apologies to the students in the course that drew Brain**** and Intercal :slight_smile:

Abstraction and Modularity in INTERCAL

I also HIGHLY second reading c2 for internet material on Ruby, and
language design in general. Gives you a feel of what is lacking
where in what languages, and so forth... Good commentary.

c2 is somewhat hard to search, so let me (and Google), help you out a bit:

Ruby site:c2.com - Google Search