DevPinoy.org
A Filipino Developers Community
   
Smalltalk: "Been here, done that"

The .NET world is eagerly anticipating the release of version 3.5 of the .NET Framework and Visual Studio 2008 later this month. Naturally there is a build-up of technical discussions, events and online material about the features the new release is adding to the table.

In the meantime, here I am studying Smalltalk, an object oriented language dating back to the 70s. I was still an avid watcher of Sesame Street that time! Will I just let the computing world pass me by as I dabble in programming nostalgia?

No way. In fact, many of the touted features for .NET 3.5 (and C# 3.0) as well as Java 7 have been in Smalltalk since it came out of Xerox PARC. LINQ, you say? What about

wantedPeople := allPeople select: [ :person | person name beginsWith: 'J' ].

Extension methods? Hey, the entire Smalltalk virtual machine is extensible and you can modify the thing as it is running. I remember all the talk about "Edit and Continue" in Visual Studio 2005...Smalltalk oldies must have been yawning and saying, "Been here, done that."

Couldn't believe that your cutting-edge .NET technology has a signboard saying "Welcome to the 80s" around it? See it for yourself. Download Squeak, an open source implementation of Smalltalk. Take a look at the tutorials. Watch a video of Smalltalk in action.

.NET developers, it's time to come out of your shells. Welcome to the 80s.

 


Posted 11-07-2007 2:58 PM by cruizer

Comments

lamia wrote re: Smalltalk: "Been here, done that"
on 11-07-2007 1:55 AM

I agree with you cruizer. My friend who's also a Java developer even told me that the things that EJB is doing, they've done before using Delphi(pre-EJB)!

Alan Lovejoy wrote re: Smalltalk: "Been here, done that"
on 11-07-2007 8:16 AM

You might find my Smalltalk tutorial/primer of interest: www.chronos-st.org/Smalltalk-Getting-the-Message.html

bit qua bit » Blog Archive » Boldly Going Where We’ve Gone Before wrote bit qua bit » Blog Archive » Boldly Going Where We’ve Gone Before
on 11-07-2007 8:31 AM

Pingback from  bit qua bit  » Blog Archive   » Boldly Going Where We’ve Gone Before

Arden Thomas wrote re: Smalltalk: "Been here, done that"
on 11-07-2007 1:10 PM

You can download and use the powerful VisualWorks Smalltalk or ObjectStudio Smalltalk here:

www.cincomsmalltalk.com/.../CommunityDownloadPage.ssp

By the way, I looked at Alan Lovejoy's link above - an Excellent reference and tutorial about Smalltalk.

cruizer wrote re: Smalltalk: "Been here, done that"
on 11-07-2007 4:43 PM

yep i've read that "getting the message" article. basically that's what OOP is all about and i've blogged about OOP languages used procedurally because of languages like C++ which treated methods as simply glorified functions, not messages.

Jack @ The Tech Teapot wrote re: Smalltalk: "Been here, done that"
on 11-08-2007 4:07 AM

>"Welcome to the 80s"

Err, Welcome to the 70s more like!

Has anything truly been invented in programming since 1979?

Tommy wrote re: Smalltalk: "Been here, done that"
on 11-08-2007 5:17 AM

I think region-based GC is newer than 1979, but I could be wrong. :)

asjf wrote re: Smalltalk: "Been here, done that"
on 11-08-2007 5:44 AM

> Hey, the entire Smalltalk virtual machine is extensible and you can modify the thing as it is running

constraining what the programmer is able to do is one of the key kinds of progress that has been made in languages like Java and C#. Cautiously recovering some functionality in a safe manner is happening, but saying that you used to be able to do anything is missing the a very big point.

John wrote re: Smalltalk: "Been here, done that"
on 11-08-2007 6:00 AM

I program in VB.NET at work. Has it really brought nothing new with it?

I suppose all the things I like about it are Visual Studio based rather than the language itself.

If I use other languages I miss right-clicking on objects and heading straight to it was declared.

Dave wrote re: Smalltalk: "Been here, done that"
on 11-08-2007 6:40 AM

@Tommy: I think region-based GC is newer than 1979, but I could be wrong.

That's a pretty small aspect of a language to focus on, and doesn't have much to do with the language itself.

@ John: If I use other languages I miss right-clicking on objects and heading straight to it was declared.

Like you said, that has nothing to do with the language, and out of the half-dozen or so I use regularly I can always do that.

David wrote re: Smalltalk: "Been here, done that"
on 11-08-2007 6:41 AM

Inventing things is easy, getting them into widespread use is hard.

Daniel wrote re: Smalltalk: "Been here, done that"
on 11-08-2007 7:33 AM

Then you never have used the smalltalk code browser or debugger. It's not the prettiest, but the ability to edit code in a running system really makes bug fixing easy. That, and searching for where things are defined is pretty easy as well.

Most GC algorithms were developed for languages like SmallTalk and Lisp, which predate C# by a couple of decades.

Also, restricting what programmers can do for 'safety' is stupid. The computer is there to do your bidding. Sure, you don't need to use these features all the time, but the tough 10% where they are needed, they are a lifesaver.

Richard Kulisz wrote re: Smalltalk: "Been here, done that"
on 11-08-2007 1:22 PM

There's a number of things in the Smalltalk system which you CANNOT introspect upon and modify. How about the object pointer format? Or the format of the Object Memory? How about the definition of message sending in the virtual machine? Smalltalk is not metacircular and nobody claims it is. It would be fantastic if Smalltalk *were* metacircular but it is not.

cruizer wrote re: Smalltalk: "Been here, done that"
on 11-08-2007 3:40 PM

@asjf -- what is "safe?" is it a compiler that catches typing errors during compile time? for some people that is not "safe" enough. comprehensive tests are safer for them. personally i now find compilers like a straitjacket.

@richard -- i guess nobody made such a claim anyway.

@daniel -- i agree with you 100%. wow, if only my fellow .NET devs have seen a smalltalk debugger in action with SUnit (built into Squeak)...their jaws will drop! :P

diggit wrote re: Smalltalk: "Been here, done that"
on 11-09-2007 5:32 AM

Welcome to the club!

Once Smalltalk, always Smalltalk :)

long time 'talker wrote re: Smalltalk: "Been here, done that"
on 11-10-2007 1:42 AM

@asjf -- those of us who know how to program are only annoyed by languages that throw up needless constraints.  If you can't handle the power, then maybe you shouldn't be programming.  The rest of us have work to do and not time for crippled languages.

velocity wrote re: Smalltalk: "Been here, done that"
on 11-10-2007 6:00 AM

I guess smalltalk is going to be my 2008 "language to learn" for the year. :-)

I first heard about smalltalk around 1985 when I did some contract work on WordBasic. <grin>

So what's keeping it from going more mainstream? First it was C/C++ and now Java/.NET that seem to "dominate". Is it because it's harder to grok or its just not readily available/accessible for most?

cruizer wrote re: Smalltalk: "Been here, done that"
on 11-10-2007 4:03 PM

@velocity --> it's because it's "unconventional." like, you know, being image-based instead of file-based. and i reckon in the early days it was very slow because the PC CPUs then were still too slow.

finch wrote re: Smalltalk: "Been here, done that"
on 11-17-2007 8:24 AM

g00DLuck with sm@lLt@lk :)


Copyright DevPinoy 2005-2008