It drank the OO koolaid complete with multiple derivation.
For GUI I switched to the MS windows C-toolkit. Event driven and very easy to manage. The OO solutions from Borland and MS (MFC if memory serves) were very hard to use
When I had the choice I switched to using the C-SDK and an event loop.
Twenty years ago now, but I can still recall my frustration. So much work (by Borland and MS) to make things so much worse
To do what? Compared to what?
> verbose
Definitely! By design. It was supposed to be readable.
> couldn't integrate with CVS
Could use integrated configuration and version control
https://www.google.com/books/edition/Mastering_ENVY_Develope...
> required you to use their editor
An IDE that allowed you to evaluate code and make structural edits.
> a UI which was completely non-native
Depends which Smalltalk implementation -- both native and emulated cross platform.
> cost a small fortune
Depends which Smalltalk implementation and what you wanted to do.
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.
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.
And this is the best we currently have, other languages are even more behind than those two ones.
You should take a look at hot reload in Dart and Flutter:
Haha, no... have you heard of Lisp?
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).
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.