Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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"



While 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)

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)

"History of Haskell"

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


And 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).


Cyclone was indeed a very interesting language. It's always surprising what ultimately prevails.


I guess it is always a matter of being there at the right time, or having the luck to spot the right audience.


At 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).


I 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.


I'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.


> 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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: