4 ms·
If everyone had your attitude, humanity would have never left the trees. There are all sorts of legitimate reasons to take it slow on adding Rust to the kernel
by quotemstr 5y ago
If everyone had your attitude, humanity would have never left the trees. There are all sorts of legitimate reasons to take it slow on adding Rust to the kernel and adopting Rust generally. The language is far from perfect.
But "I don't want to learn something new"? No, that's not a legitimate reason.
But Christ almighty, you don't get to block progress of all humanity (and Linux is a humanity scale project now) because you're too lazy to learn some new syntax. Memory safety is important. Memory safety bugs cause billions of dollars of damage every single year. The project if solving them is too important to get tangled up in the weeds of people who don't have "resources" to RTFM.
- rat87 5y ago> Many were increasingly of the opinion that they'd all made a big mistake in coming down from the trees in the first place. And some said that even the trees had been a bad move, and that no one should ever have left the oceans
- jimmaswell 5y agoIf Rust would have just used a C-style syntax instead of this wacky quirky stuff that's needlessly hard to read, it would probably be much more widely adopted. I gave it a shot myself but I was too turned off by the friction of getting used to the syntax.
- rtoway 5y agoWacky, quirky stuff?
- jimmaswell 5y agofn sum_odd_numbers(up_to: u32) -> u32 { why fn? why switch the order around? fn and u32 and all that as if keystrokes are such a scarce resource, yet u32 f(u32 a) saves so much more than fn f(a: u32) -> u32. Closures use pipes instead of any of the existing syntaxes we're used to. Why couldn't they just use the familiar concept of classes instead of whatever is going on with their strange NIH traits? NIH describes the whole language, every little thing has to be different somehow. C with Rust's safety guarantees, OOP style classes, and a few more bells and whistles could have taken over the world a lot faster, but instead we have something with a high friction to learning that will be adopted much more slowly by either programmers with a fresh start to whom every language is equally weird, or the relative minority of experienced programmers with the will and free time to push past the friction.
- oxnrtr 5y agoThere are good reasons for it, and I'm certain you will gain a better understanding as you gain more experience as a developer.
- quotemstr 5y ago> There are good reasons for it, and I'm certain you will gain a better understanding as you gain more experience as a developer. The people pointing out problems with Rust have more experience as developers in their little fingers than Rust's internet fan club has in their whole bodies combined. In a mature, intelligent discussion, if you have a point, you make it. On HN, if you have a point, you say "there are reasons; I'm not going to give them; also, you're a newbie". It's comments like yours that make HN unbearable nowadays.
- deleted 5y ago[deleted]
- Rusky 5y agoNone of this stuff is NIH, it's just from a different lineage than C.
- rtoway 5y agoInteresting perspective. FWIW a lot of modern languages now have put the types on the left for a good reason, it's a lot easier to parse. Plus for a reader, at least in Rust, wherever you see a `:` you know that a type is coming after. For the other stuff, I don't know, I got used to it pretty quickly. Not that much of a big deal in my opinion
- still_grokking 5y agoThe "symbol: Type" notation is the "scientific" one for programming languages since "forever". It's not that "modern" languages are doing something new. Everybody was doing it like that, besides the "C language family". They're the outlier, not the other way around.
- quotemstr 5y agoI agree that Rust differs needlessly from previously curly-brace languages. Rust could have achieved its core goals --- memory safety and robust concurrency --- as a dialect of C++ instead of as a whole new language with the latest fashion sense (cough Go *cough) thrown in. It's also a shame that your comment is being downvoted into oblivion. I remember when HN was for discussion, not for karma-enforced orthodoxy.
- zozbot234 5y ago> could have achieved its core goals --- memory safety and robust concurrency --- as a dialect of C++ instead The C++ Standard committee disagree with you - and not for lack of trying, either. The C++ Core Guidelines are the best they could come up with, and these are not rigorously enforced unlike the safe subset of Rust.
- quotemstr 5y agoAre you talking about [1]? All that paper says is that you can't add a borrow checker to C++ as a library feature. You can add such a thing as a language feature. I hate that paper. People misrepresent it all the time. [1] https://docs.google.com/document/d/e/2PACX-1vSt2VB1zQAJ6JDMaIA9PlmEgBxz2K5Tx6w2JqJNeYCy0gU4aoubdTxlENSKNSrQ2TXqPWcuwtXe6PlO/pub https://docs.google.com/document/d/e/2PACX-1vSt2VB1zQAJ6JDMa...
- steveklabnik 5y agoThey are talking about https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines
- quotemstr 5y agoWhat do you mean? The core guidelines weren't an attempt to add lifetimes to C++.
- 5y ago
- bsder 5y ago> If Rust would have just used a C-style syntax instead of this wacky quirky stuff that's needlessly hard to read A lot of the "whacky, quirky" stuff is to avoid the clusterfuck that is C and C++ parsing. People want IDEs. They also want their IDE to do smart things. Having to compile the universe to get the IDE to do something smart doesn't work very well. Take a "simple" task like "Is this is a variable name? That is a type definition?". C and C++ have to practically do a full compile to figure that out (see: typedef and templates). Rust, on the other hand, just has to read a few tokens and it knows definitively the answer to that question. And, you may call this stuff "quirky", but practically all the languages designed in the last 10 years have converged to similar goals and syntaxes to Rust. Language designers know that people don't like "different from C" but they do it anyway. Think about whether your arguments are stronger than those who are designing new programming languages that they want adopted.
- jimmaswell 5y agoIntellisense and the rest of Visual Studio work perfectly with C#, which is very much C style.