CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Jeremy D. Miller -- The Shade Tree Developer

Under the hood and working with .Net, TDD, Software Design, and Agile Stuff

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).



Comments

Dave said:

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

# June 18, 2007 11:27 PM

sergiopereira said:

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.

# June 18, 2007 11:51 PM

Scott said:

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!"

# June 19, 2007 1:48 AM

Davy Brion said:

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: developer.apple.com/.../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.

# June 19, 2007 1:59 AM

Oliver Lippold said:

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...

# June 19, 2007 11:29 AM

Berin Loritsch said:

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.

# June 22, 2007 12:55 PM

perrog said:

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: www.appleinsider.com/article.php

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#.

# June 24, 2007 8:51 PM

Leave a Comment

(required)  
(optional)
(required)  

Enter the numbers above:
Add

About Jeremy D. Miller

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 previously worked as a systems architect building mission critical supply chain software for a Fortune 100 company and learned agile development practices as a .Net consultant at ThoughtWorks, one of the pioneers of agile development. Jeremy is the author of the open source StructureMap (http://structuremap.sourceforge.net) tool for Dependency Injection with .Net and the forthcoming StoryTeller (http://storyteller.tigris.org) tool for supercharged FIT testing in .Net. Jeremy's thoughts on just about everything software related can be found on his weblog "The Shade Tree Developer" at http://codebetter.com/blogs/jeremy.miller, part of the popular CodeBetter site. Jeremy is a Microsoft MVP for C#. Check out Devlicio.us!

Our Sponsors

This Blog

Syndication

News

All opinions expressed here constitute my (Jeremy D. Miller's) personal opinion, and do not necessarily represent the opinion of any other organization or person, including (but not limited to) my fellow employees, my employer, its clients or their agents.

About Me

"Best Of" Compendium

StructureMap (Dependency Injection for .Net)

StoryTeller (Supercharged Fit)

Build your own Cab

TestDriven

MVP