Recommened readings?

J

John

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
 
J

James Britt

John said:
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
 
J

John Wilger

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
 
I

Ivan Vodopiviz

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

Nicholas Van Weerdenburg

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
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
 
R

R. Mark Volkmann

Quoting John Trunek said:
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." ;)

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

John Wilger

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." ;)

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.

--
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
 
N

Nicholas Van Weerdenburg

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

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:c2.com&btnG=Search

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

Nick
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,483
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top