Chris Martin

Smalltalk, go away

I like what I wrote for my 2340 survey comment. So I’m sharing it.

I would like to write an essay on why Cincom Visualworks should not be used for this course, but I’m sure everyone else is also saying this, so I’ll keep it brief.

Smalltalk’s “everything is an object” idea sounds like it makes the perfect 2340 language in theory, but it’s really not that much different from any other OO language. The only difference is that it has no literals - which only affects a handful of data types. So, the statement that Smalltalk is “more” object-oriented than, say, Java, is not significantly true.

I cannot imagine why a type-safe language was not chosen for this course. It was interesting every time a code example in the lecture had to be given in Java, because it would not make sense in Smalltalk. “Program to interfaces” is great advice, but it’s not something we can see in our projects because the language doesn’t have interfaces!

The IDE is what made me dislike this project the most. It forces code to be spread out over countless windows, panels, and tabs, making it very difficult to find code that other group members have written. Version control, which would be incredibly easy with SVN and flat text files, is a chore under Visualworks Store. I think a lot more people would give Smalltalk a chance if it could be edited in a decent program. We all have our favorite environments and text editors, and Visualworks replaces all of that with aliased fonts, no syntax coloring, few key shortcuts, and plenty more fodder for a negative design review. Cincom has reinvented the wheel, and it is shaped like a square.

Course reviews are fun.

I write about Haskell and related topics; you can find my works online on Type Classes and in print from The Joy of Haskell.