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