I just learned Python a few months ago when I started a new job.  One 
of my coworkers recommended the excellent Dive Into Python book.  
(http://www.diveintopython.org)  It's good because it's relatively 
short, and directed towards someone who has programmed before.  It also 
focuses on teach by giving examples of things you do in your code on a 
daily basis, so I've found it to be a good resource even now that I 
consider myself fairly comfortable with Python.

Perhaps something like this would be good for Ruby?  I've looked at The 
Pragmatic Programmers Guide, and while I think it's very useful, when I 
first started learning Ruby I often found it got too bogged down in 
it's examples and technical digressions to really kick-start my Ruby 
experience.

Does anyone else think it would be useful to have a short (~50 page 
max) Ruby introduction, focused on showing someone with a programming 
background how to do all the normal OO tasks?

On 29-Dec-04, at 11:22 PM, James Britt wrote:

> darren wrote:
>> 1.  Put a few links that target specific people.  For example, make 
>> it easy for them to find information on how Ruby compares to their 
>> current language.  Make a link, "How Ruby compares to:  Smalltalk, 
>> Python, C, C++", where Smalltalk, Python, C and C++ are separate 
>> links to brief examples of code snippets that illustrate how you 
>> would do a loop (or something) in that language and in Ruby.
>
> Rather than comparisons to other languages,  it would be better to 
> offer specific information on accomplishing various practical tasks.  
> Perhaps within a task-oriented section one could offer a comparison 
> with another language as a way of explaining A Ruby Way of doing 
> something in terms a Ruby newcomer might better understand, but what 
> wins people over is the specific knowledge that a tool will help them 
> accomplish some well-defined goal.
>
> Point people to web development kits, database bindings, 
> text-processing libraries, XML tools, unit testing frameworks, 
> distributed programming code, and so on.
>
> Language comparisons tend to get too abstract for most people, and are 
> often a source of goofy flame wars, as it seems nobody understands The 
> Other Language well enough to get it Just Right.
>
> The site should be task-oriented, and unless the visitor is a language 
> buff or dilettante, the Ruby <-> #{language} stuff is academic.
>
> A language attracts people looking to do something their current 
> language does not do well, if at all.
>
> James
>