4 ms·
I don't assume there's been no innovation. HotSpot today is faster than Strongtalk ever was. Java has lots more libraries than Smalltalk today. For a broad rang
by cwp 11y ago
I don't assume there's been no innovation. HotSpot today is faster than Strongtalk ever was. Java has lots more libraries than Smalltalk today. For a broad range purposes, it's a better choice than Smalltalk today.
But a lot of what you wrote was just false. Smalltalk does have refactoring IDEs. It does have excellent debuggers. It does have fast JIT-compiling virtual machines. (Not as fast as Hotspot, but way faster than Ruby, Python, Perl and most other dynamic languages.)
Note that I'm using the present tense here. We're not talking about technologies "separated by twenty years." Smalltalk has all these features today. I brought up the history because it's pretty cheeky to say that Java is better than Smalltalk because it has a refactoring IDE.
There are big problems in the Smalltalk world, stemming from a small community and lack of corporate investment in the technology. As much as I like Smalltalk, I don't choose it for my day-to-day work because that would be a poor business strategy for my company. This is why I don't believe in advocacy. You make the right choice for your situation, and most of the time, somebody else can't make that choice for you.
As for honesty, yes, I do think I'm being honest. For starters, everything I wrote was true.
- incepted 11y ago> Smalltalk does have refactoring IDEs. Yes, but very few of those are automated. Which is not surprising since the absence of types in Smalltalk can lead to refactorings that break your code, so user supervision is necessary. > I brought up the history because it's pretty cheeky to say that Java is better than Smalltalk because it has a refactoring IDE. Definitely, so it's a good thing I never said such a thing.
- cwp 11y ago> Yes, but very few of those are automated. Which is not surprising since the absence of types in Smalltalk can lead to refactorings that break your code, so user supervision is necessary. This is just not true. Go download a copy of VisualWorks. Try a Squeak image with OmniBrowser installed. They both have IDEs with automated refactorings. I have used both. I have contributed to the OmniBrowser implementation. What you say does apply to Ruby or Python. It does not apply to Smalltalk.
- incepted 11y ago> They both have IDEs with automated refactorings. Yes but they do not guarantee correctness. They can't, the IDE simply doesn't have enough type information for that.
- cwp 11y agoAs a matter of fact, they do. Unlike Java IDEs, Smalltalk dev tools are implemented via reflection on the running program. Between information available from the runtime data structures in the program and the fact that Smalltalk uses single dispatch polymorphism, static type declarations aren't necessary for correct automatic refactorings. This will be my last post in this thread.
- incepted 11y ago> static type declarations aren't necessary for correct automatic refactorings. They very much are, it's a scientific fact (look up the Curry-Howard isomorphism).