3 ms·
I used to do smalltalk for a job (internship, but still learned a lot). I love it, it's a terribly under-appreciated language. I think what ended up sidelining
by overgard 15y ago
I used to do smalltalk for a job (internship, but still learned a lot). I love it, it's a terribly under-appreciated language.
I think what ended up sidelining it was that it didn't really integrate well with the rest of the system. Part of this was the syntax, even though you could bridge it with C, it was awkward. IE, "something.f(a,b,c)" would become "something f: a with: b with: c". Smalltalk's syntax is really cool when you're just working within the smalltalk system itself, but at the edges it gets clunky.
The other problem is smalltalk just seems to like living in its own world. Even now that's largely the case. (Fun challenge: try making a smalltalk app that isn't easily recognizable as a smalltalk app.)
Given what Clojure is to lisp, I hope too there can be a "Clojure for smalltalk", if you will. Something that captures what's really cool about the language but throws away the historical baggage and makes it integrate well with the rest of the system.
- saurik 15y agoFWIW, a lot of people like Objective-C, and it uses that same colon infix syntax.
- overgard 15y agoObjective-C certainly borrows the syntax, but that syntax is a second-class citizen in the C world. That removes its negative bits (interoperability), but it also removes most of its positive bits too (ie, uniformity, being able to construct new language primitives, everything-is-a-message, etc.))
- saurik 15y agoMy point was that the colon infix syntax, which you seem to be claiming is awkward (but maybe I don't understand your sentence construction) is something a lot of people actually consider a feature.
- protomyth 15y agoF-Script seems to be an OS X specific attempt.
- fusiongyro 15y ago> Fun challenge: try making a smalltalk app that isn't easily recognizable as a smalltalk app. It is true that both Lisp and Smalltalk make it very easy for people to build things that would normally take a team and an architecture. This has the down side that if it's easy to build something that acts sort of like a button, that's what ships rather than bridging to some OS button. It's a lot of work to implement for no obvious benefit, especially to the Smalltalk programmer who is using the system because they like it and don't mind the differences. This seems like exactly the sort of thing that would make for-pay Smalltalk systems viable, but nobody seems to be willing to pay for a language now. Even if it would be cheaper in the long run, it's harder to do the math and it's hard to compete with free. > I hope too there can be a "Clojure for smalltalk", if you will. I think this is a concept that should be explored in more depth. Some things I'd toss out as worth discussing: - Having a standard library or syntax for defining classes (GNU Smalltalk addresses this) - Real namespacing, because I'm sick of seeing XXYYZZClassName - Sexy, dirt-simple FFI to C or Java. Probably, as you point out, through a standard calling convention for external stuff (maybe borrow the Block API, something f value: a value: b value: c). I think apart from these things you could really build the Smalltalk of tomorrow in the Smalltalk of today. You need really good OS integration, especially graphically but every other way as well. You probably need to be able to serialize the system to ordinary flat text files so you can use modern VC. I know Juan Vuletich has been rebuilding the standard image his way from the ground up with Cuis but as far as I can tell progress is stalled. Other than that I don't know of any big project besides Pharo, which is even more modest, really just about removing crap from Squeak and producing a professional shame-free open source Smalltalk.
- fusiongyro 15y agoLiterally two days after I said this, Juan released a new version of Cuis.
- pjmlp 15y ago> ..., it's a terribly under-appreciated language. I read somewhere that Java is to blame for that. As Smalltalk was finally gaining a footstep in the enterprise, Sun's marketing was able to convince managers to replace those projects by Java. Eclipse design was initially based on Visual Age for Smalltalk. Actually you can still make use of a Smalltalk like browser in Eclipse. >Fun challenge: try making a smalltalk app that isn't easily recognizable as a smalltalk app. This can also be said of other GUI libraries. Back in the early 80-90's it was very easy to recognize Clipper, Turbo Vision and OWL applications, as the developers seldom changed the default L&F.
- recursive68 15y agoThere is a "Clojure for Smalltalk" being developed, if you mean running on a JVM: http://www.redline.st/ http://www.redline.st/