On Thu, Jan 14, 2010 at 08:55:11PM -0500, David T. Lewis wrote:
On Thu, Jan 14, 2010 at 07:57:53PM -0500, waufrepi III wrote:
Hi, I was talking to one of my Professors about Squeak the other day and I got an mail asking:
"I had lunch with several of the other CS faculty yesterday and I brought up your enthusiasm for smalltalk, which I've never used. Some of the faculty panned it because they claimed the I/O features were either poor or nonexistent. [Java will never be displaced as the first language at ............] What is your impression of the I/O abilities of smalltalk? There is much discussion about the need to learn a language with OOP features before Java.
I'm still a novice and I actually haven't been able to play with squeak much lately do to other classwork..so rather than blow an opportunity for squeak I thought I'd ask here and see what the pros say. wfpi
Learning how to accomplish programming tasks in different ways is always instructive. I think the theory of OO is far easier demonstrated with Smalltalk, but "practical" OO (as in, real-world OO software) seems to be predominately done in Java, C#, and C++. Indeed, I think the light would go on quicker if the students were introduced to OO concepts via Smalltalk (or even CLOS), rather than "public class Foo implements Bar,Baz", most of which is syntactic noise at the introductory level. My students consistently treated such (Java) code as mysterious incantations, rather than anything comprehensible.
If you want to get a job, study Java. If you want an education, study Squeak.
At the university, are we training thinkers or plug-compatible software engineers? Or, to put it another way, is an undergraduate CS program a vocational school for future low-level industrial programmers, or is it a broad introduction to topics in computer science?
Long term, you will be happier, wealthier and wiser if you get a good education.
Absolutely agreed.