3 ms·
I think that one of the things that they neglect to mention, on why we invent new languages, and it's probably the most important thing - people want new ways t
by awesome_dude 1y ago
I think that one of the things that they neglect to mention, on why we invent new languages, and it's probably the most important thing - people want new ways to express concepts.
It's super important because those concepts get measured, and absorbed into existing languages (as best they can), but that wouldn't have happened without the new languages
New concepts like Rust's "ownership model", Smalltalk's "Object Orientation", Lisp's "Functional programming", Haskell's "Lazy evaluation", Java's "Green threads"
- DarkNova6 1y agoI don't think we have a lack of concepts, but a lack of concept connectivity. To avoid feature bloat of unconnected pieces of ad-hoc syntax Java does the right thing and focuses on expressing easily-composable language building blocks. As a last adopter language, Java has the luxory of cherry-picking good features of other languages but I think their line of thinking should be the reference moving forward.
- mrheosuper 1y agoI'm pretty sure they mentioned >we create programming languages to experience new ideas; ideas that would have remained inaccessible had we stayed with the old languages.
- pjmlp 1y agoWhile those languages made the concepts mainstream, they weren't the ones coming up with them. Rust's "ownership model", is a simplification of Cyclone, AT&T's research on a better C, based on mix of affine and linear type systems. https://en.wikipedia.org/wiki/Cyclone_(programming_language) https://en.wikipedia.org/wiki/Cyclone_(programming_language) Haskell's "Lazy evaluation" was present in Miranda, before all related researchers came up with Haskell as common playground. https://en.wikipedia.org/wiki/Miranda_(programming_language) https://en.wikipedia.org/wiki/Miranda_(programming_language) "History of Haskell" https://www.microsoft.com/en-us/research/wp-content/uploads/2016/07/history.pdf https://www.microsoft.com/en-us/research/wp-content/uploads/... Java's "Green threads" go back to systems like Concurrent Pascal. https://dl.acm.org/doi/10.1145/775332.775335 https://dl.acm.org/doi/10.1145/775332.775335
- Rochus 1y agoCyclone was indeed a very interesting language. It's always surprising what ultimately prevails.
- pjmlp 1y agoI guess it is always a matter of being there at the right time, or having the luck to spot the right audience.
- AnimalMuppet 1y agoAt the right time (or just before the right time). Spotting the right audience (or stumbling onto what a significant audience needs). And, I think, being better for what that audience is trying to do than existing tools. (But maybe that was implied in your statement.) This also implies adequate tooling and libraries. And publicity, to reach that audience (though viral is better than corporate).
- exasperaited 1y agoAnd while Smalltalk may be the first quite "pure" OO language, it by no means invented the concept (you could argue it has a purer implementation of messaging but even some of that was in Simula 67, five years earlier).
- exasperaited 1y ago> New concepts like Rust's "ownership model", Smalltalk's "Object Orientation", Lisp's "Functional programming", Haskell's "Lazy evaluation", Java's "Green threads" I sincerely want to ask if this was an ironic comment given the topic? Because obviously none of these core concepts were really new to the languages you ascribe them to.