Hacker News new | ask | show | jobs
by stcredzero 3983 days ago
Off the cuff comment, just before I go to watch the video: Here's something that Smalltalkers didn't like to talk about during the height of the Java vs. Smalltalk flamewars of the late 90's/early 2000's -- To be a good production Smalltalk programmer, you had to be very mindful of "types." (Reason for quotes!)

Exactly what do I mean by this? The good Smalltalkers would code in a such a way, that people could rapidly and completely figure out what "type" was in every variable, and reliably keep track of all implicit "Interfaces."

So of what value was Smalltalk, if you had to do all that manual work? The fact that what would be "types" in other languages were handled as conventions. This made exploratory coding very rapid.

This is also why I appreciate Go's pragmatic language design around this issue: The compiler keeps track of these things for you, but doesn't require nearly as much bookkeeping from the programmer to have that happen.

Now to see what Mr. Bracha has to say.

(Note: Conventional Smalltalk is actually strongly typed. It's just that everything is typed "Object" and exceptions are more or less just normal program execution with one VM built-in to get it started. This is why what other languages would consider "types" are really just conventions.)