4 ms·
What language created in the last 5 years has a feature that wasn't originally discovered in the 80s or earlier? It's all too easy to bash new languages for not
by rubiquity 13y ago
What language created in the last 5 years has a feature that wasn't originally discovered in the 80s or earlier? It's all too easy to bash new languages for not having some hot new, never before seen feature, meanwhile there are almost no examples of new languages doing earth shattering things.
I think what we're currently seeing with Go, Rust, Elixir and others is taking the features that are perceived as good as trying to combine them in different ways.
- pseudonom- 13y agoI think the point of the above comment is that Go doesn't even include those decades old features.
- pjmlp 13y agoQuite true. Just that Go designers didn't include most of the things that became mainstream since then.
- mseepgood 13y agoSo they had enough time to observe these things in mainstream languages and recognize that a lot of them are not worth the hassle.
- pjmlp 13y agoActually I think that given that they gave birth to one of the most unsafe languages on the planet, and publicly ranted against OO and FP languages during their career, they have choosen to ignore them as a political decision.
- azth 13y ago> What language created in the last 5 years has a feature that wasn't originally discovered in the 80s or earlier? I may be wrong, but isn't Rust's static lifetime analysis to avoid GC something novel?
- gress 13y agoObjective-C has it.
- azth 13y agoDo you have any references? Searching for "objective c lifetime analysis" turned up articles for ARC, which is not exactly the same thing.
- gress 13y agoI meant ARC. I know it's not exactly the same, but it's similar enough when we're talking about novelty in programming languages.
- plorkyeran 13y agoARC doesn't involve any sort of nontrivial lifetime analysis. The compiler simply inserts calls to retain and release at all of the same places where explicit calls to them (hopefully) were with manual reference counting. The only vaguely novel part of any of it was successfully migrating a language from manual to automatic reference counting.
- gress 13y agoActually that's not entirely true. Arc inserts the calls first, but then does an elimination phase that can identify lifetimes beyond method boundaries and remove unnecessary calls. It's not particularly complex, but the architecture is there for further enhancement of this phase as they build out the static analyzer.