Christopher Browne wrote:
I have long found Smalltalk to be interesting in concept, but excruciatingly painful in practice, as the whole "objects all the way down" model means you have to build a whole infrastructure in order to get *anything* to work. That is, you have to figure out the integration between the little "hello_cruel_world" method I'm trying to create and the entirety of the Smalltalk environment.
Well Smalltalk was made to be *the* operating system of a machine. I don't mind the whole infrastructure as we still have that with Java, C#, and if you want to do anything useful with C/C++ you have to learn how to use many other libraries.
I think the only reason anyone complains about Smalltalk's whole infrastructure is because it isn't hidden from them where as with the typical language or IDE, all the other libraries are hidden and only appear when they are used. So other languages/IDEs only *appear* to be simple and only *appear* to have less constraints.
Every couple of years, I install Squeak briefly, amaze myself that the web browser gets out of the VM into the network, and then promptly turf it because I haven't the patience to struggle thru realigning all my thought processes to use *their* editor and *their* class manager and so forth.
I felt like that at first. I found it very quick and easy to use though and I appreciated it more than any Java or Microsoft IDE.
A couple years ago, other Chris did a talk for TLUG on how exciting the Seaside framework was; unfortunately, doing simple stuff like "where do I serve up some bits of static content" seemed about as difficult as the wacky dynamic stuff that's hard to conceptualize. The "hello world" bit was too much to explain in an hour, and there's something bad when that's the case.
Yeah, the static content had to be imported into the image. It's a tiny bit of a pain in the ass but I think Seaside lets you add the static content from the web browser so it isn't too bad. I'll have to take a look at the code I wrote up to see how I handled it. The advantage for me was that I could take the image *anywhere* while I was developing and I had to demonstrate the web application to a few diff people who were running 2 different varieties of Windows (XP and Vista) while I was using GNU/Linux for development. Very nice to just move the image around and knowing that the whole app is self-contained and that I wouldn't have to worry about missing directories or missing static content.
I'm curious as to how the "hello world" bit was explained. It shouldn't take that long :S -Rudolf