6 ms·
a lot of the ancient quirks of the languages seem even quirkier nowadays (e.g. Smalltalk's image-based development is just too weird for most people). I have t
by npsimons 15y ago
a lot of the ancient quirks of the languages seem even quirkier nowadays (e.g. Smalltalk's image-based development is just too weird for most people).
I have to say, as someone who primarily does C++ in Linux/Windows, Smalltalk and Lisp may not "fit in" enough for people to get over their hurdles. Just as an example, I've dabbled in Smalltalk and Lisp, but it always seemed kind of awkward how (at least Smalltalk) was in its own little cocoon (the images you mentioned) that you couldn't version control and didn't integrate well with pre-existing editors (eg, emacs). OTOH, the other day I was tasked with getting a Java program working; I've also dabbled in Java, but getting the program working and sorting things out (classpath, etc) wasn't that hard. Thankfully I had the source, and I could grep it, open it in vi, see that some paths were partially hardcoded and that whoever wrote it was using eclipse and didn't understand portable path separators, etc. In the end, it took me a couple hours, whereas I'm sure the same thing in Smalltalk or Lisp probably would have taken all day.
It's good to try radical new directions, but there is something to be said for at least having some hooks to fit into pre-existing environments; in particular being able to use libs from other languages (eg C => Python, Java => Scala, Clojure, etc) and working with entrenched DE's (including VCS's).
- gruseom 15y agoLet's call this the familiarity theory of value.
- npsimons 15y agoLet's call this the familiarity theory of value. To be sure, familiarity plays a large part; but I think there are other significant factors beyond this. Like I mentioned, having an FFI (ironically, I first learned of that term from Lisp) to leverage pre-existing codebases is huge; being able to grep/diff/git is huge. I got back into Smalltalk through "Refactoring" and admired its elegance, liked how it was different - except for the images. In the meantime, persistence has been implemented in other languages, OS's and even IDE's, some implementations being more flexible while keeping the "everything is a file" concept. I'll tell you one thing that keeps me hopeful and not completely giving up on Smalltalk is that with GNU Smalltalk, I can treat Smalltalk programs as scripts. For someone who does rapid iterative development by scripting in C/C++ (http://www.netfort.gr.jp/~dancer/software/binfmtc.html.en http://www.netfort.gr.jp/~dancer/software/binfmtc.html.en) being able to just type some code in and run it appeals to me. No images, no virtual machines, no (explicit) compilation, just type, save and run.