5 ms·
There are sound reasons why no substantial system in common use is coded in Smalltalk. Kay could have spent the decades since his time at PARC figuring out why,
by angiosperm 3y ago
There are sound reasons why no substantial system in common use is coded in Smalltalk. Kay could have spent the decades since his time at PARC figuring out why, and remedying them.
One of the reasons is that O-O is just one of several important ways discovered to organize software. Any big enough problem will have places for each. Specialization is for insects.
- lproven 3y ago> There are sound reasons why no substantial system in common use is coded in Smalltalk. Points in the direction of... https://newspeaklanguage.org/ https://newspeaklanguage.org/ https://bracha.org/Site/Newspeak.html https://bracha.org/Site/Newspeak.html https://en.wikipedia.org/wiki/Newspeak_(programming_language) https://en.wikipedia.org/wiki/Newspeak_(programming_language...
- kragen 3y agoyou may or may not be aware that when he headed vpri, they did some substantial research into some of the other important ways to organize software, including things like array languages, david p. reed's work on spatially replicated computation, and cooperating communities of specialized solvers. in this talk, he also mentioned gelernter's tuple-space architecture, though you may have missed it. he definitely isn't arguing that oo should be the universal way to build everything, much less smalltalk; he's lamenting that no better paradigm than their research prototype has emerged since then however, i do agree that there are some advances made since then that he doesn't fully appreciate, things like the importance of free-software licensing, roy fielding's work on architectural styles, recent advances in formal methods and functional programming, and the web's principle of least power
- angiosperm 3y agoAnd static type calculus as seen in the MLs, Haskell, and lately C++.
- kragen 3y agoyes, although recent advances in functional programming and formal methods go a lot further than that
- linguae 3y agoThis is really interesting; it’s really cool to think about the “statics” and “dynamics” of programming, and I while I have a basic understanding of functional programming (both the dynamic world of Scheme and the static world of languages like Standard ML and Haskell), I’m unfamiliar with these recent advances in functional programming and formal analysis. I’m wondering if you could share some links or references to some of this material?
- kragen 3y agoi'm not the best person to ask, and i don't really know where to start tla+ is getting uptake in industry, idris is sort of making dependent types practical, acl2 has more and more stuff in it, pvs is still around and still improving, adam chlipala keeps blogging cool stuff, so does hillel wayne, sel4 is an entire formally-proven-secure microkernel, you can try compcert on godbolt's compiler explorer, ləɐn has formalized significant mathematical definitions that working mathematicians use actively while metamath has an extremely convincing approach to proof and an ever-growing body of proofs of basic math, smt solvers like z3 are able to solve bigger and bigger problems and therefore able to tackle bigger subproblems of verifying software (and are easily apt installable and callable from python or from cprover's cbmc), cryptocurrency smart contracts have an incentive to be correct in a way that no previous software did (and people are applying at least idris to at least ethereum), ... a thing i saw recently that was really impressive to me was parsley, by the main author of pvs as well as some other people: http://spw20.langsec.org/papers/parsley-langsec2020.pdf http://spw20.langsec.org/papers/parsley-langsec2020.pdf
- zelphirkalt 3y agoPretty sure he would appreciate it for the guarantees those come with, but criticize them for being dead programs, that are not alive like for example the internet, one of his examples for systems, that started and from that moment on have not been taken offline to be changed.
- bobajeff 3y ago>you may or may not be aware that when he headed vpri, they did some substantial research into some of the other important ways to organize software, including things like array languages, david p. reed's work on spatially replicated computation, and cooperating communities of specialized solvers. I'm very interested in knowing what array languages they were researching. The only thing I can find is Nile[1] but from the examples it doesn't look like an array language to me. [1] https://github.com/damelang/nile https://github.com/damelang/nile
- kragen 3y agonile was the thing i was thinking of, yes
- infinite8s 3y agoBret Victor's DynamicLand seems to be a direct descendent of many of these ideas. RealTalk's reactive DB combines Linda tuplespace ideas with LISP 71 pattern matching and reactive semantics. Each Realtalk object is self contained and can't be 'messed with' externally. It's all introspective and reconfigurable, etc
- kragen 3y agobtw, is there a lisp 71, or do you mean larry tesler's lisp70?
- infinite8s 3y agoSorry I meant Tesler's Lisp70 - http://www.bitsavers.org/pdf/stanford/sail/lisp70patmatch_Feb73.pdf http://www.bitsavers.org/pdf/stanford/sail/lisp70patmatch_Fe...
- kragen 3y agothanks!
- octed 3y agoDo you know anywhere where one can look into dynamicland more deeply? I've been interested in playing around with it for a while (hopefully I can get my hands on a projector lol) but have never found any details. Omar Rizwan's website had a cool post on geokit but that was all I managed to find.
- kragen 3y agoyou'll probably have to talk to the dynamicland folks; i'm not sure what their current strategy is for getting it out into the world, but it doesn't seem to be the obvious 'upload the software to gitlab and hope for the best' approach
- infinite8s 3y ago
- pjmlp 3y agoThe reason is called Java, and having all key Smalltalk vendors pivoting into Java. Smalltalk was the ".NET" of OS/2, and Visual Age for Smalltalk code browser still lives on Eclipse. Then there are those Objective-C and Ruby developers still around, heavily influenced from Smalltalk.
- incanus77 3y agoI recently got back into Objective-C (first did in 2002) doing some (for hire) framework work on an app that was built in it originally. And it's very refreshing! I've done a lot of C in between then and now, and I almost have to keep reminding myself that it's C under the hood, really.
- timbit42 3y agoIs there a Smalltalk that runs on the JVM?
- timrowledge 3y agoNot that I've read of, but Vanessa Freudenberg created SqueakJS; a javascript system that can run (pretty much) any Squeak based image in your browser. See https://squeak.js.org/run/ https://squeak.js.org/run/
- igouy 3y agohttps://github.com/hpi-swa/trufflesqueak https://github.com/hpi-swa/trufflesqueak
- igouy 3y ago"Rudolph Technologies Helps Semiconductor Customers Reach Market Faster with Smalltalk-Based ControlWORKS" https://www.cincom.com/pdf/CS050418-1.pdf https://www.cincom.com/pdf/CS050418-1.pdf Someone suggested Smalltalk a million lines long which I have no way to confirm or contradict ;-)
- rbanffy 3y agoCincom Systems has been a pioneer of extremely productive programming tools since ever. My first real programming internship was on an IBM 4381 running their Mantis 4GL tool (in 1984-ish). I like to compare it to Ruby on Rails. Mantis is Ruby on Rails for the 3278 (and Dataflex 2 would be Ruby on Rails for the VT-100).