I've heard Smalltalk described (fairly or unfairly) as a "dying" language and have been advised not to spend much time looking at it; C++ , my CompSci instructor declared, was the way to go in learning marketable OO skills. In the face of such opposition, I wonder how it is that people are investing the resources to get an ANSI standard in the pipeline. What are the advantages of Smalltalk over other languages...or is there a FAQ list I'm supposed to read for questions like that?
I've noticed some international participation in the list. If ANSI gets a standard in place, will ISO follow suit, or is that another can of worms entirely?
Thanx, Bill McClain (mailto:alumshubby@aol.com)
AlumsHubby@aol.com said:
I've heard Smalltalk described (fairly or unfairly) as a "dying" language and have been advised not to spend much time looking at it; C++ , my CompSci instructor declared, was the way to go in learning marketable OO skills. In the face of such opposition, I wonder how it is that people are investing the resources to get an ANSI standard in the pipeline. What are the advantages of Smalltalk over other languages...or is there a FAQ list I'm supposed to read for questions like that?
You need to be careful with questions like this, since they touch on deeply religious issues, and can spark endless almost meaningless discussions.
Smalltalk is a very small language that provides an excellect introduction object oriented programming.
At one time I advised people, myself included, to learn Smalltalk as a step in moving from C to C++. I took my advice and found it had a minor problem: I found Smalltalk's vision of Object Oriented Programming well suited to my way of approaching design -- after I got over the hump, it seemed like "the right way". I then moved on to doing OO programing in C++. (I had/have no problem with Abstract Data Type programming in C++ -- it fits nicely, and I like C++ for that purpose.) Unfortunately, I found myself very frustrated by C++ when trying to do what I had learned to call OO programing. The problem with my advice seems to be that if you learn Smalltalk and then C++, you may not want to move to C++...
Basically, if "Object Oriented" means to you what it means in Smalltalk, you can't do it in C++. Similarly, if "Objected Oriented" means to you what it does in C++, you'll probably be frustrated by Smalltalk.
I'll stop here, before getting too far into my opinions.
It's probably more important to learn different programming paradigms than particular languages. Different languages support different paradigms better than others. The short list of languages I'd tell people to learn would be something like: Lisp, Smalltalk, Snobol, and C. I'd be willing to substitute Algol, Pascal, Fortran, PL/1, or C++ for C, as they all have the same basic paradigm behind them.
joe
squeak-dev@lists.squeakfoundation.org