Versus Smalltalk, the impression I get is that Ruby is file-based with
convenience  libraries for files, text, system administration, and web
development. That has a much bigger impact then it would seem. It's
sort-of why sed/awk/bash can still useful, even if you know Ruby or
Perl- they are even closer to the file and operating system items you
want to manipulate.

This leads to bottom-up value propositions. I can learn Ruby in a day,
and do really useful things for scripting and automation. I can then
incrementally extend my knowledge, and tackle bigger problems.

So, I don't think there is anything too explicit  that Ruby "fixes"
versus Smalltalk. Rather, it's pragmatic file-based focus give a
different feel, and a different utility and learning path then
Smalltalk.

It's Perl regex, text-processing, and system scripting influence also
offers some comfort in  using Ruby. Ruby's infix notation (it's been
referred to a Lisp with infix notation by some) also offers some
comfort for people from a C/Java-style language backgroup. Ruby feels
to me like C or Java with annoying extra syntax removed, so there is
an immediate "I know this" feeling- especially with a bit of Perl
background.

Considered another-way, Ruby is well positioned for adoption from a
path-dependence perspective- experience in Java and Perl, with the
mystique of SmallTalk attached to it, gave me an overwhelming urge to
learn Ruby.

On Tue, 28 Dec 2004 17:02:21 +0900, Darren Crotchett
<rubylang / usmstudent.com> wrote:
> I'm trying to get a feel for the philosophical differences between Smalltalk,
> Ruby and Python.  I realize that many of the technical differences are only
> going to come from hands on experience.  And, I'm sure they all have their
> good and bad points.  I'm just trying to get some idea of why some people
> choose one of these languages over the other.
> 
> Without any point of reference, this could be a difficult question to answer.
> Therefore, I thought it might be more helpful if I gave a little background
> info on my experience with those languages and my level of experience in
> general.
> 
> First, let me say that I am a 4th year CS student (with 3 classes left).  I've
> taken classes in C, C++, Ada and Smalltalk.  I have done just enough C++ to
> come to the conclusion that I don't like it.  Ada is OK (until I get to
> generics), if I have to compile something.  But, Smalltalk seems to make the
> most sense to me out of the languages that I've been exposed to so far.
> 
> Regarding the 3 languages in question, here is how I summarize them:
> 
> Smalltalk.  I like it.  Smalltalk feels "natural".  It seems very intuitive,
> consistent and predictable.  After learning the basics, I could often guess
> how to do stuff.  But, I get the impression that the Smalltalk community is
> shrinking (or at least, stagnate).
> 
> In class, we used Cincom's VisualWorks.  VisualWorks seems like it has a lot
> of nice features.  But, it also has too many quirks that get on my nerves to
> the extent that I couldn't actually use it unless those oddities were fixed.
> I do like Smalltalk, though.
> 
> Python.  Its strength seems to be its popularity.  To me, however, it really
> seems to lack consistency.  I've read quite a bit about the Python way of
> doing things.  Yet, for the life of me, I can't seem to get the hang of it.
> For example, I may have the wrong idea, but one thing that bugs me is the way
> that "self" must be included as a parameter to the __init__ constructor
> function in a class.  That seems weird to me.  Who else is going to call that
> __init__?  And, I can never seem to remember if it's str.length() or
> length(str).  It's like Python wants to appeal to people more familiar with C
> so as to not scare off newbies.  Maybe it's just me.  Maybe after awhile I'll
> see the consistency.
> 
> Ruby.  I've been reading up on Ruby, a little.  I just bought the Programming
> Ruby book.  It seems to be a lot like Smalltalk.  I'm thinking that I like it
> better than Python because it seems a lot more consistent like Smalltalk.
> But, then I question, if it is good because it is a lot like Smalltalk, why
> not just use Smalltalk?  I'm sure there must be some good answers to this
> question.
> 
> Also, is the Ruby community experiencing a lot of growth or what?
> 
> TIA,
> Darren
> 
> 


-- 
Nicholas Van Weerdenburg