D
Darren Crotchett
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
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