Hacker News new | ask | show | jobs
by seanmcdirmid 4249 days ago
This is actually a law:

Whenever someone brings up any kind of interactive programming environment, no matter how much it does not resembles Smalltalk or Lisp, someone will always say it completely resembles Smalltalk or Lisp with no significant improvement. We call it the "smug smalltalk/lisp weenie" syndrome.

BTW, Smalltalk supports hotswapping without the liveness of course. There is nothing in smalltalk that allows the code to re-execute in its proper context without execution coming back to the code in a refresh loop setup by the user.

1 comments

No smugness intended, sorry. I only ever toyed with it. I am genuinely curious why e.g. Squeak never caught on with the artsy types considering it has many but by no means all of the interactivty and feedback that is desirable in these spaces. And again Squeak at least tried to position itself as a media-rich system. Perhaps performance always has primacy. And I don't seem to follow your point regarding liveness -- a language that supports many aspects of live programming but requires a supporting loop is of no value? That does seem like a very strong criticism.
Squeak supports two kinds of liveness. The first is general hotswapping, which appears in mainstream languages (though not done as well as smalltalk), and as mentioned, isn't very live. Once you add the loop, you still have lots of problems to solve (e.g. is their encapsulated state, how is the state upgraded on a code change?). To make it live requires huge compromises, and anyways you could make the same modification with any language that supports hotswapping.

The second is direct object manipulation via morphic, which is quite different from manipulating the program via its code. The line is blurred a bit given that Squeak is image based (so changes to objects that you make will persist).