Most of the people here don't code
Why do you guys make fun of Rust?
True.
Question:
On 7billion people how much can code ?
Rust was originally shilled as a language that "fixes the problems" with C and C++. I know how to code reasonably securely in C so for me, that means fixing code readability. When I look at Rust code, it somehow manages to be even noisier on the eyes than C++.
To add to that, the cognitive load of writing even a single line of Rust code is through the roof.
It's as if it was made just to stress people out more and waste time.
I understand the benefits of lifetimes and ownership, but the cpu architectures themselves are flawed at the hardware level and that's something no language can fix. Assuming you know how to wield C and C++ properly and don't need ridiculous amounts of compiler errors to lead you to success, why not just keep using C and C++ ?
nice try rustfag
sage and report all rustfag threads
It's better than C++ (not really hard to do), but not than C. But yeah, if you do use it, you'll have to distance yourself from the gay community.
GC in the stdlib.
Go LARP elsewhere.
I just think Rust is too complicated for a general purpose language. As someone put it, the cognitive overhead every line has is just way too much to find it comfortable to use. It's also unlike C++, where things can get as hard as you need for specific parts of the project, but is generally comprehensible. Rust is hard all the time, and shit like vectors may need different type signatures depending on what you want to do with them, or worse, WHERE will you use them from. There is also the whole fucking type system, that may require nesting half a dozen types in a specific order you could achieve in two in a saner language; also, have fun unwrapping, or even worse, correctly handling every fucking possibility in a thousand levels of nesting. Also, did you just change a type signature because you realized you missed on a certain capability that you realized you needed for a certain function? Have fun rewriting your whole program.
Rust also has some gotchas with some of the features it teaches the user in its own fucking book. Enums are really fucking nice, but they never mention that defining struct type enums is akin to shooting yourself in the foot and nobody does it after their first time because accessing their contents is verbose as fuck. Then it has the whole deref operator inside match clauses that doesn't work like an actual deref operator but whatever. It also had some really basic features (like try-casting) as "EXPERIMENTAL DO NOT USE!!!!" months after the 1.0 release.
tl;dr mite become a nice language, but as is the language is amateurish and intentionally guides you towards bad practices that will make your code fucking unmaintainable.
The community is nice and helpful fuck off Holla Forums
The language itself is pretty good, I'd say it's better than C++ and slightly better than C, and it's getting better over time. Modern C++ is pretty good, but it doesn't matter because it still has to be backwards-compatible with the old code.
Yes, the syntax is terrible. Yes, the cognitive load is higher, but it's generally worth it. Just git gud.
Yes, there are some edge cases that are insecure, but it's better than the whole language being insecure, like C and C++.
The worst issue by far is the SJWs and their CoCs. One day, they will pay for their faggotry.
Not exactly true. docs.rs
This is hacky and rapes compilation times even further though.
>Vec
The size of the type has to be known at compile time. So if you want to have a Vec of things that implement a trait you have to use a trait object. This isn't a limitation of the language.
Wrong. Do you have any proof to back up your claim?
D has GC and is not memory safe.
Complete bullshit
Your whole post reads like you are a complete retard that has never used a statically typed language and decided Rust is shit because you couldn't understand it.
??? This makes no sense
Yes that is how strongly typed languages work
For example?
You don't unwrap in production unless you want your shit to crash.
What do you mean??? Are you trying to say that shit code is shit?
Again, that is how strongly typed languages work. If you don't want to deal with it use some shitty language that encourages runtime casting.
Every language has experimental features. What is your point? Also Rust doesn't have try casting. It only has statically checked casting.
Wtf? Now you are just trolling.
reddit.com
- Ashley Williams (Core Team, Community Team Leader)
Have YOU used Rust?
You clearly have not.
In C++, std::vector gives you a vector of smart pointers to T. It may look verbose due to the ise of the std namespace, but you can use std and forget about it. It's pretty clear what it does. Now, the equivalent in Rust is Vec. Rc provides the smart pointer, RefCell provides the mutability (because of course, mutability is a type; from a theoretical point of sense this is extremely cool, but it's just a pain in the ass in practice), and Box provides a pointer to heap because why would we couple that functionality into RefCell? But wait, if T happens to be a type implementing Copy (which is not Clone, because every single fucking small nuance spawns a new type; they can't affor suboptimal decisions after all the layers of pointer indirection they threw themselves into), which usually are primitive types and shit you will have to look in the documentation continuously? You could use Cell instead of RefCell, because OF COURSE there is a type for that. Except they are not the same and depending on whether you want to synchronize changes between different sections of your code reading the ssme object you may need to use RefCell over Cell, and also throw a couple more Rc in the type signature because why the fuck not. Not to mention naming conventions are overtly terse to overcome the fact they endlessly nest their types and having to linebreak less often during type definitions, and that makes what every shit does less obvious. The fuck is a Rc, and what's the difference between a Cell and a RefCell? I can kind of guess what a shared_ptr is, but Rc is unintuitive as fuck. You may also use Weak instead of Rc. What do these types do? Whenever you search when to use A or B, you usually get "they are totally different and have nothing to do at all" with a half assed explanation on why comparing things is bad that doesn't solve your question. Yes, you get used to it, but it's dumb.
Sometimes you do want your program to crash, but anyway, that's why I brought up the next point.
In the example above, Vec returns an Option, Rc may panic depending on how you access it (arguably not in our case, considering tbe other types are there to circumvent that) and RefCell may panic. And this is a relatively simple datatype for Rust, five levels of indentation or endless temporary variables are normal for Rust standards.
Except other languages don't need changing type signatures every time you realized you forgot a specific guarantee continuously and write thousands of lines of error handling code whenever you do.
It is dumb to have basic features as experimental features. It is simply not mature enough yet.
Don't remember exactly the function, but I think it may have been related to parsing or coercion. I just remember the generally taught and accepted function or trait simply assumed the input was valid and did not even assume it should return a Result instead of a T, and the trait that did was an experimental one. Which is stupid considering casting from an int to a C-style trait could fail just like any type with more possible values than those the target type accepts could and should fail. Although that was a year ago so I dunno.
Also, I must add the compiler has compilation stages and some really minor failures will halt the conpilation at all, while hiding more important errors in later stages that could have been detected even with the earlier failures. Tool support for Rust is shit, and their official vim plugins suck and don't even work, even though the fixes have been circulating around for a while but they can't be assed to accept the pull requests. I would like to shit on the type system again while we are at it, since it encourages thousands of indirections and RefCounting to the point your average program will be as slow as one made in a managed language,and the managed language will be more comfortable to use.
Go to their IRC and ask anything about Rust or programming in general. They usually answer pretty quickly. There used to be a claim that the whole Rust community was composed of retarded SJW who don't know how to program, but this is clearly not the case. Their Reddit is mostly cancer, but that's because it's Reddit.
Don't be surprised if you get banned if you go full kill all the niggers and the gays upon entering the chatroom, tho.