This post originated from an RSS feed registered with Agile Buzz
by James Robertson.
Original Post: A Visit with an Old Friend
Feed Title: Travis Griggs - Blog
Feed URL: http://www.cincomsmalltalk.com/rssBlog/travis-rss.xml
Feed Description: This TAG Line is Extra
Every now and then again, I have to have a peek at eXept's Smalltalk/X. I sojourned to their website a week or so ago, and noticed they had a new 5.2.2 version available. To be fair, I don't see a date on it, I have NO IDEA when 5.2.2 came out, but it's new to me.
There's something about Smalltalk/X that keeps drawing me back to it. And I haven't been able to put my finger on it completely yet. I downloaded and installed on my box (an 800 MHz Duron running Debian Linux). It's as simple as download to tgz files and uncompress them in the same directory. Navigated down into the projects directory, entered 'smalltalk', accepted the license aggreement and was away and running.
I'm always amazed at the plethora of stuff in the Smalltalk/X system. It's in some ways, like Squeak, but yet different. Maybe what blows me away is that its a HUGE system written and evolved by just a small group of people. Some of it's kind of rough. But there's just a lot of stuff there. Here's some initial observations:
Lots of Looks - Most dated, but fun. I've flipped through a Next L&F, OS2, and now the MSWin95 one.
Lots of (semi) integrated demos - I turned on the Chicken Eyes one, a chicken keeps poking his head out of the windows now
Settings tool has more options than VisualWorks
Looks like it integrates automatically with CVS for code management--I didn't try it out
The file browser RULES. It's full of cool features. Including the ability to browse all of the ST/X html doc files--which they're seems to be more of since last time I played with this thing
Responsive seems to be very good
On the fly code highlighting; plus some sort of formatter with tunable options!
Inpsectors with meta
I wish I could play with it under OS/X.
What draws me most to it is its inline C primitives. Quoting from one of the Introductions:
Standard smalltalk implementations define a set of primitive operations which are built into a virtual (Smalltalk-) machine; these primitives do the kind of work which cannot be expressed as smalltalk code (for example integer addition) or which is reimplemented for performance reasons (for example copying Arrays).
Smalltalk/X does not support these; instead primitive code is entered as C-code into the methods. This allows the programmer to code everything he/she likes as C-code (beside the traditional primitive).
I'll be playing with this system in the background in the weeks to come--I have some C integration testing that this just sounds like it makes easier. I'll keep you all updated. If there's something simple you want me to check out or keep an eye out for, let me know.