An often repeated erroneous assumption is that static type checking is necessary for all the good IDE features like code completion and refactoring. Well, no.
The first and still best refactoring tool is for Smalltalk. Lisp and Smalltalk have had code completion mechanisms for decades.
James Robertson feeds off the recent "dynamic languages are too something or not enough something else" brouhaha and provides a Smalltalk Daily on code completion.
7 comments:
"The first and still best refactoring tool is for Smalltalk."
I completely disagree based on experience. I use both Smalltalk environments (much love) and Eclipse (for work), and to be honest, the refactoring support in Eclipse blows the doors off of what the Smalltalk environments have to offer. As for the code completion, the Smalltalk environments always provide more target objects than what I really need.
Fair enough. Truth be told, I've only used Java and C# IDEs a wee bit, and progress must have been made since I last used them.
But at the end of the day the Smalltalk tools work with *Smalltalk* while the Eclipse users still have to program in Java, so the overall experience is significantly worse. No love there.
At the OOPSLA panel featuring Steele, Gosling, etc talking about Simula 67, Anders Hejlsberg went off on a tangent rant about how, while some features of dynamic languages might make it mainstream, dynamic languages never will because of insufficient tooling..."How can the environment give you method name completion?!" It was bizarrely vehement.
Hejlsberg did Turbo Pascal, and then carried that forward with Delphi, which was not much more complicated as far as I know.
Since joining Microsoft he's gone off the deep end with C# and all subsequent contraptions. So he's not really someone I pay attention to re: languages.
Another shrug.
Not sure what you mean by "the Smalltalk tools work with *Smalltalk* while the Eclipse users still have to program in Java". If that's a Java dig, fair enough. However, Java has now become by far, the most popular tooling language we've ever seen if you count all the uses it's been extended to.
The Eclipse downloads have now been segmented into Java, C++ and a monolithic installer. Eclipse isn't limited to Java any longer and based on some sessions I went to at OSCON this year, it's now popular for concurrent programming at the C/C++ level.
Add Jython, JRuby, Scala, and Java has far "eclipsed" Smalltalk in terms of applied usage on a day-to-day basis.
Erik -- yes, it was completely a dig at Java.
20 years ago the use of C far eclipsed that of Smalltalk.
15 years ago the use of C++ far eclipsed that of Smalltalk. (Although I advocated the use of Objective C rather than C++ if you wanted "C with objects".)
I am in no way surprised that Java usage far exceeds that of Smalltalk to day. I am also significantly happier using Java than C++ or C.
But Smalltalk remains far superior to any of these for the kinds of things I've been doing day in and day out. Period. You can't take that away from me. :-(
Agree. Common Lisp + Emacs + Slime has great code completion, "go to definition", and hyperlinked documentation.
Post a Comment