4 ms·
Have you considered that many PL hobbyists and/or enthusiasts recognize that many features of Rust (or other languages that may be brought up out of context, th
by afranchuk 5y ago
Have you considered that many PL hobbyists and/or enthusiasts recognize that many features of Rust (or other languages that may be brought up out of context, though in this case Rust is appropriate given the article content) were carefully, deliberately designed? It comes up often, I think, because Rust is one of only a handful of languages I can think of that is incorporating lessons learned, best practice, and innovations into every facet of its design and surrounding tooling. People who have researched, used, and (sometimes) suffered from a great variety of programming languages recognize the good that's being replicated and the bad that's being avoided.
Aside from all of this, even if the article hadn't itself mentioned Rust, an article about a programming language's feature(s) is completely fair game to compare to other languages.
- zozbot234 5y ago> were carefully, deliberately designed? Look, this constant insistence by Rust evangelists that Rust is the only language that was "carefully, deliberately designed" is part of the problem. It makes Rust proponents look foolish and arrogant. There are ways of doing language advocacy or discussing language design while still being kind, empathetic and considerate of other perspectives and points of view. I should note that I have never seen this issue happening from within the Rust community, it's always come from outsiders' careless "advocacy".
- tialaramex 5y agoRust is not an innovator. But "Rust..." is going to show up where people could have said a dozen obscure languages nobody heard of that did innovate these features, precisely because nobody heard of them. The other examples are often less relevant. For example when it comes to the use of Sum type error handling, you could say "Like Expect in C++ 23" only that's still a proposal, so you can't say much definitive about it, whereas Result in Rust is here and in wide use today. Or they could say it's like the Swift sum types, but in this context it's confusing because although Swift uses sum types for error handling it has a very different affordance through exception like behaviour. When we say e.g. some English dialects have Negative Concord ("Nobody ain't see nothing"), we aren't implying that this is because English invented Negative Concord, we're mentioning this because the English-using audience here have seen and likely even used Negative Concord in English whereas chances are most people here aren't familiar with lots of other languages where Negative Concord is widespread and so examples from those languages are less helpful. Also, lots of people seem to really like Rust. I like Rust.
- afranchuk 5y agoI didn't say Rust is the only language. The preceding parenthetical immediately includes other modern languages as well. I was asking you to see a different perspective. I can't say I've seen the evangelism you've seen; most comments are as appropriately placed and relevant as one can expect on a global forum (including the original comment here). I'm not saying evangelism doesn't exist, but our experiences differ.
- Zababa 5y agoPeople use Rust as an example when talking about Go because Rust could live in the same space as Go, and more people know about Rust than Haskell/OCaml/SML. I think OCaml should be what Go could be compared to, as when Go was created it was already solid[+]. Rust came after and took inspiration from OCaml and others. People criticize Go because Rust learned some important lessons from other languages, and Go didn't. Some people will argue that it's a matter of taste, but some Go users would love something closer to ML (https://go.dev/blog/survey2020/missing_features.svg https://go.dev/blog/survey2020/missing_features.svg, https://go.dev/blog/survey2020-results https://go.dev/blog/survey2020-results). [+]: Of course there's the multicore story. OCaml is soon getting it (in a backwards-compatible way even!) but at the time Go was created it wasn't ready. Still, from what I remember there were some multicore ML that existed, and considering most of the work that went into Go was around the standard library and tooling, they could easily have made popular a different language. Some people will argue about "simplicity" and "Go being close to C", but I think that by "simplicity" most people mean "actually good tooling, GC'd, compile to a single binary fast".