Old Smalltalkers

I say this out of no small degree of fondness because I’ve enjoyed working around ex-Smalltalkers over the years.  I’m fully aware of just how much debt we owe to the Smalltalkers, but… 

The ultimate curmudgeon in all of classical literature is Nestor from the Illiad.  His part in Homer’s story is largely to be the old, crusty guy who tells anybody who’ll listen how much more heroic and manly his generation was compared to the ragtag gang trying to take Troy.  In positive terms, Nestor’s role is also to inspire the younger warriors to great feats.  In the world of software development today, the role of Nestor is filled by old Smalltalkers.  Every single Smalltalker I’ve ever been around will go on for hours extoling the amazing abilities and technical accomplishments of the Smalltalk environment and community.  Any thing you’ve read about or started to use that makes coding more elegant was done better 20 years ago in Smalltalk.  Ruby?  Smalltalk lite.  DSL’s?  Smalltalk did it.  Blocks, closures, and some functional programming mixed into your OO language?  Smalltalk did it.  Extension methods like what’s coming in C# 3?  You guessed it (Objective C did too apparently.  Anybody know why Obj. C didn’t really take off outside the Mac?  Just curious).

About Jeremy Miller

Jeremy is the Chief Software Architect at Dovetail Software, the coolest ISV in Austin. Jeremy began his IT career writing "Shadow IT" applications to automate his engineering documentation, then wandered into software development because it looked like more fun. Jeremy is the author of the open source StructureMap tool for Dependency Injection with .Net, StoryTeller for supercharged acceptance testing in .Net, and one of the principal developers behind FubuMVC. Jeremy's thoughts on all things software can be found at The Shade Tree Developer at http://codebetter.com/jeremymiller.
This entry was posted in Uncategorized. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • perrog

    Objective-C only used by Macs? … I’ve even heard rumours that Apple trying to trademark Objective-C as their brand. Maybe that also shows the narrow ambition on target platform. Checkout: http://www.appleinsider.com/article.php?id=2519

    But I like Objective-C and Cocoa. However, Objective-C has no implicit this pointer, so you always need to write [self myMethod], c.p. like always writing this->myMethod() in C#/C++.

    Objective-C is lika a “syntax flora” on top of C, althought the gcc compiler is standalone. In theory, one could create Objective-C#.

  • http://jroller.com/page/bloritsch Berin Loritsch

    Oh, and don’t mistakenly type “SmallTalk”, they hate that capital ‘T’! But seriously, Smalltalkers are tame compared to Lispers. Heck, anything interesting was already done 30 years ago by Lisp. Expert systems? Lisp. Lots of Insane Symmetrical Parentheses. Lisp.

    As to Objective-C, it was developed independently of C++ with NeXT as its star platform. GNU had a compiler that would let you work with Objective-C on Unix, but the libraries are what makes the tool–and tool vendors were sold on C++ as the object oriented C deviant. Since NeXT didn’t catch on, neither did Objective-C. Until Apple took over NeXT, that is.

  • Oliver Lippold

    Because Nestor was old and crusty he didn’t go out and fight Hector and instead picked Ajax in his place.

    Hmm, there’s got to be a joke in there somewhere…

  • http://ralinx.wordpress.com Davy Brion

    I recently started playing around with Objective C and Cocoa and it really is a very nice language. And the cocoa frameworks truelly are impressive. Granted, the syntax at first kinda put me off, but once you’re used to it, it actually looks pretty good.

    Regarding the garbage collection in Objective C… i kinda have mixed feelings about it. Memory management in Objective C is actually pretty easy if you just follow these rules: http://developer.apple.com/documentation/Cocoa/Conceptual/MemoryMgmt/Tasks/MemoryManagementRules.html

    The rules are pretty simple, and most Cocoa developers really understand how memory management works, which IMHO is always a good thing. It’s also not that difficult to actually implement proper memory management in your cocoa code so it’s not like you’re wasting a lot of time with it.

  • http://lazycoder.com Scott

    re: ObjC on the Mac. I think the weird syntax did it in. It’s a really nice language. With the Garbage collection coming with ObjC 2.0 in Leopard, it should be a lot nicer.

    You know who the real curmudgeons are? Old LISP programmers. They look at the Smalltalkers and say, “Yeah and LISP had that before you guys did. Get off our lawn!”

  • sergiopereira

    Some say Objective C isn’t very objective, just like the mac users, ha! :) Cheap shot, couldn’t resist. The more I try to program in ObjC, the more it feels like torture. VS has rotten my brain.

  • http://laribee.com/blog/ Dave

    That’s really funny. I have a similar riff about punch-cards and the “grumpy old man” sketch from classic SNL.