4 ms·
I don't really understand the point of pointing this out. The GP already says that it's a simple feature that they're also surprised isn't available in more lan
by filleduchaos 3y ago
I don't really understand the point of pointing this out. The GP already says that it's a simple feature that they're also surprised isn't available in more languages - nowhere did they claim that Apple invented it or that it's a super innovative thing or anything.
- bmitc 3y agoThe commenter mentioned: > it has so many simple features I love that I am sometimes surprised to find are missing in other languages and a few other things that led me to believe they were unaware of discriminated unions. There was an implication that this was a unique or novel feature in Swift. It's like someone being excited about Python's pattern matching, thinking Python came up with it and wishing other languages had it when it's a watered down, less useful version of that found in languages it ignored for 30 years.
- filleduchaos 3y agoI don't know, personally I think it is an immense leap of logic to look at someone's surprise that a simple feature is missing in [another] language and conclude that they're saying the feature is unique or novel.
- bmitc 3y agoI don't know how else you interpret what I quoted. And it's not a judgement.
- filleduchaos 3y agoRust has a borrow checker. I think it is unique/novel, and I definitely don't think it is simple. In fact, it's precisely because I think it is unique/novel that I very much am not surprised that it doesn't exist in other languages that I use. Why on earth would I be surprised that a feature I think was just invented isn't yet present in other things? That's not how the passage of time works. On the other hand, Rust also has first-class functions including closures. I do think that closures are a simple programming language feature, and I'm definitely surprised/put off when I write a language that doesn't have them (though these days I'm not sure there are any mainstream ones, now that Java and C++ both have them in the spec). Again it's precisely because I think of closures as the opposite of unique/novel that I am surprised at their absence. Why would I be surprised that a language does not have closures if I thought the Rust team just made them up? So yes, I have no idea how one would conclude that someone's surprise at a simple feature being unavailable indicates that they think the feature is unique or novel, other than just being a knee-jerk reaction.
- pjmlp 3y agoThe idea was taken from Cyclone and linear/affine type systems.
- freedomben 3y ago> are missing in other languages GP is probably talking about other mainstream languages or language that they regularly use such as javascript/typescript. It makes no sense to interpret this as "are missing in every other language ever invented." You're right that plenty of people do ascribe Apple credit for inventions that they didn't invent, but there isn't enough context/detail here to conclude that has happened in this case.
- thebruce87m 3y ago> You're right that plenty of people do ascribe Apple credit for inventions that they didn't invent The number of people who do this is far, far outweighed by the people who claim they see it all the time.
- bmitc 3y agoWe're in the weeds here, but I actually think it was the other commenter responding to me that was under that impression. I didn't interpret the original comment as saying it wasn't in any other language ever. There are all sorts of niche languages that do things in very interesting and novel ways. I just consider F#, OCaml, and Standard ML as mainstream-ish languages. They're just poorly known, despite their influences on languages, although those influences are still not as strong as they should be. I know this sounds very Emacs-fanatic of me, but it does get a bit tiring in the software world to have spent a lot of time in tool and language discovery only to be forced to work in a language that feels like a step backwards where people suddenly get excited or finally acknowledge the benefits of language designs that came before them. Really, this primarily reflects on Python, which I am currently having to use, and it feels like several step-functions down in capability, robustness, clean-ness, and several other qualitative and quantitative factors compared to something like F# and OCaml. There's a huge amount of "let's ignore other languages but then ad-hoc reinvent what they do in a mudball type of fashion". See Python's concurrency story for a particular egregious example. I am constantly bitten by things in Python that I'm honestly aware of no other language doing. So it's probably fair to say I read in a bit to the above comment. I'm happy either way that people are appreciating ML-like features.
- 3y ago