Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

According to you, what was lost?

I've never fully experienced Smalltalk, but the few posts that came by on HN always fascinated me, since there's a whole interactivity element to it. And I've noticed when it comes to programming, I like interactivity.



The only two things I miss and they are closely related:

1. being able to catch an exception, and injecting a sensible return value so the underlying code could continue. Its incredibly powerful although a lot of inexperienced smalltalkers used it as a crutch for poor design. I.e. I won't handle the error or do bounds checking, I will put a try/catch block around it and send back some value the code can handle.

2. The interactive debugger was truly fix and continue, not the pale imitation you get in .NET or Java. Your code crashed, it threw up an exception window, you fixed the method and restarted the thread of execution like nothing happened. You can kinda do this in .NET now but its slow and doesn't always work right.

The rest of the environment goodies like variable inspectors and live expression evaluation are largely as good or better in java and C# than the classic commercial smalltalks.


Still not the same, but the recently hot reload on VS 2022, or JRebel get closer to the experience.

And this is the best we currently have, other languages are even more behind than those two ones.


> And this is the best we currently have

You should take a look at hot reload in Dart and Flutter:

https://flutter.dev/docs/development/tools/hot-reload


> And this is the best we currently have,

Haha, no... have you heard of Lisp?


Haha, are you new around here?

I have certainly heard about Lisp, in fact, many haven't heard about Allegro Common Lisp or Lisp Works, the only ones that matter, which the FOSS usually ignores.

This doesn't change the fact that sadly Lisp and Smalltalk are almost nowhere to be seen in 2021 (in large deployments).


Clojure is most certainly on par or exceeds both in business use.


How is Clojure relevant for the topic of fully interactive development? Unlike Smalltalk or Common Lisp, it doesn't even attempt it.


On par with Allegro and Lisp Works it isn't certainly not.


What are the innovations brought by Allegro and Lisp Works, relative to Clojure? Just asking as I haven't heard about those, I only have experience with Clj.


A proper development experience like in the Lisp Machines, the whole stack is Lisp, compilation to native code AOT/JIT.

As Guy Steele puts it, Java is half-way to Lisp, even if you put Clojure on top, it isn't the same deal as 100% Lisp.


Agreed, Clojure very likely exceeds them combined in active business use.


Moving goal posts, the point is tooling and dev experience.


Exceeding the common lisps in number of users is easy. Exceeding them in language capabilities is not.


The Pharo "Features" page features animated GIFs and some text explaining the awesomeness of Smalltalk: https://pharo.org/features


FYI: Responded to your email privately.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: