Fog Creek Software
Discussion Board




Smalltlak Anyone ?

I am developing a new Smalltalk implementation. I have done away with the traditional 'everything in a single image file' smalltalk approach, so things are a lot more like C/C++, Java etc. ie: .st source files compiled into .stc files.

How many Joel'ers have used Smalltalk ?

Did you like it ? If so why, and if not, why not ?

Would you be interested in try Smalltalk (again) if it worked a lot more like IDE'/Command Lines found in languages like C/C++ and Java ?

If you want to help with the project, then also feel free to email me directly.

I look forward to your comments.

James Ladd
Thursday, April 11, 2002

Doh - Sorry about the type in Smalltalk Anyone :)

James Ladd
Thursday, April 11, 2002

Oh, Smalltalk's wonderful. The language itself is beautiful, and Smalltalk IDEs are better than anything I've ever seen in the C++/Java world. Very, very productive.

As for the idea of creating a more "normal" version of Smalltalk - are you familiar with the Ruby language? ( http://www.rubycentral.com ) If you are, and you think you can make something better, go for it - but Ruby fills the "non-image-based Smalltalk" niche very well. The language itself is much more complex than Smalltalk, but the underlying worldview (everything is an object, variables are dynamically typed) is very similar to Smalltalk's. One look through the library reference was enough to convince me that I'd be comfortable there.

So I suppose my answer is: yes, I like the idea of a non-image-based version of Smalltalk, and that's why I switched to Ruby. If you can make something better, I'll certainly try it.

Adam Spitz
Thursday, April 11, 2002

Adam,

Thanks for the reply. I'll certainly re-look at Ruby.
I think it will be hard for me to change from Smalltalk though. Most of my time is spent in Java and C/C++, but I just love smalltalk. I so wish it was more popular.

My plans for the VM should see my implementation blow the socks of the competition in the VM area.

Would you like to help with the Smalltalk implementation ?

James Ladd
Friday, April 12, 2002

Python is also very well done; To someone with a Smalltalk background it would probably look somewhat like a cross between Smalltalk and C - everything is an object, notation is standard infix, the interpretive environment more resembles smalltalk than anything else, and you can't write your own control structures (lambda functions are supported, but do not IMHO offer a sufficient replacement).

Python is unbelievably readable - good Python programs look like executable pseudo code. Performance is good enough to compete with common Java code but not with C code [see note below]. There's a very promising piece of work called "Psyco" (Python Specialiazing Compiler), which is a JIT on steroids - most JITs compile p-code to machine code. Psyco goes a step further, and compiles special cases (e.g., if a loop often breaks before the 5th iteration, Psyco will probably unroll 5 iterations, noting any constants and variables as they ACTUALLY appear, and create special machine code for that. There is no type declaration in Python, but if you write a routine that works on many types, a special version will be compiled for each type in common use).

Give it a try; I was planning on "creating a better language" for a lot of time, until I met Python.

Ori Berger
Friday, April 12, 2002

Thanks Ori.

I have had a look at python before and, yes it is really kewl.

I just cant shake my desire for the smalltalk syntax. Its just too simple.

I will look at psycho to see if there is anything I can grasp from it.

Keep well all

James Ladd
Friday, April 12, 2002

*  Recent Topics

*  Fog Creek Home