Have you ever tried to go back an make significant changes to a large Smalltalk application that you haven't touched the code for in 3-5 years or maybe didn't even a part in writing? Try that some time if you haven't and then tell us what you think of Smalltalk. If a language can't pass that battle test, it sucks. IMO, Java passes that test very well, much better than Smalltalk or C/C++.
Well, yes. I've picked up Smalltalk code at customer sites that I've either:
- Never seen before
- Have not seen in years
It's never been a big deal to figure out what's going on, even with large codebases that are badly written (and yes, I've seen plenty of large, badly written Smalltalk systems). I spent a number of years as a C programmer previously, and leaving code alone for a week or two would result in a long period of ramp up - along with lots of printouts. I've been using Smalltalk for 13 years now, and I've yet to print code out in order to understand it. Back in the C language family, printing code out in order to eyeball it was a constant experience. Smalltalk, in my experience, is vastly easier to pick back up than C, C++, or Java code. Ruby, I have no idea, but I expect it falls over on the Smalltalk side in terms of ease of pickup.