Rust hate thread

> have opportunity to make the perfect language
> oh hey, lets fuck it up completely lmao

slower compilation than c++
more complicated than c++
slower than c++ still
community is full of SJWs

And those are just the most obvious complaints that even the biggest shills have to admit.

Other urls found in this thread:

herbsutter.com/2016/06/30/trip-report-summer-iso-c-standards-meeting-oulu/
owasp.org/index.php/Using_freed_memory
stackoverflow.com/questions/311882/what-do-statically-linked-and-dynamically-linked-mean
quinn.echidna.id.au/quinn/C -Critique-3ed.pdf
twitter.com/SFWRedditGifs

>slower compilation than c++
The RustC is pretty new, the first versions were written in OCaml and efficiency is not a thing for OCaml. It's true that C++'s compilation is one of the slowests. But C++ has had 40 years to fix it
I think Rust compiles faster than C++ based on my experience
>more complicated than c++
Sorry, Rust is not a beginner language
>slower than c++ still
Completely false.
>community is full of SJWs
Every community is. Get out of your shitty basement and you will know.

Also, only a retard benchmarks languages that have the same level of performance. C++ has its flaws and so does Rust. Difference is, C++ isn't getting any better since 20 years ago

> I think Rust compiles faster than C++ based on my experience

only for small projects. if you add a bunch of dependencies, it will climb to unmaintainable levels. The servo devs told me that a single character recompile takes over a minute.

> Sorry, Rust is not a beginner language

"muh you have to be smart to understand our shitty bloated overcomplicated crap language. i guess ure not smart enough lol! if you were smart you would use our language and put up with large dildos up your ass all day!"

> Every community is. Get out of your shitty basement and you will know.

nope

> Also, only a retard benchmarks languages that have the same level of performance. C++ has its flaws and so does Rust. Difference is, C++ isn't getting any better since 20 years ago

exactly, the fact that it's worse than c++ (=literally the worst language in the world from a usability viewpoint), should tell you how absolutely horrible Rust is.

Well, it has good tools like cargo, toml and technologies like distinct modules. I highly doubt C++ has the tools that they can improve to begin with
> you have to be smart to understand our shitty bloated overcomplicated crap language
Features are not bloats. If you don't want features use scripting languages.
>nope
Get a job and you would know
> the fact that it's worse than c++ (=literally the worst language in the world from a usability viewpoint), should tell you how absolutely horrible Rust is.
Rust is faster than C++
>Rust is horrible and hard for me
Don't use it then? You got so insecure you had to open a thread to hate on a community based project

>Every community is.
What? No, not even close. They go where they can get away with harm. Most communities either deny them entry by ignoring them or push them out if they weasel their way in. Even in programming, one of the most SJW infiltrated groups there is, most communities are nothing lime the SJWfest that is the Rust community. It's very far from normal. Go join some group that isn't wall to wall socially awkward outcasts and you'll see that normal people don't humor SJWs.

It's the current trend to cater to SJWs, it creates a goodwill among normies. SJWs care about naming things which doesn't have any real affects.

Another case where C babbys try to justify C, through attacking Rust, being used for everything. Sad!

OP is clearly a sepplestard.

Don't think so
>c++ (=literally the worst language in the world from a usability viewpoint),

Another case where C++ babbys try to justify C++, through attacking Rust, being used for everything. Sad!

>slower compilation than c++
barely, also the rust compiler is newer and less optimized, if anything the rich type system of Rust will led to better compilers than anything C++ has.
>more complicated than c++
Rust has more syntactic sugar and features (like match statements), but is more cohesive, the syntax has less caveats than C++'s (for once all modifers go to the left and the type anotation always goes to the right).
>slower than c++ still
C++ has had 40 years and it's already losing in some benches to Rust. Also it's miles easier to create parallel and concurrent programs in Rust than in C++, thus for practical purposes Rust is already faster than C++.
>community is full of SJWs
This is true and sad. Nothing really to say about it.

>if anything the rich type system of Rust will led to better compilers than anything C++ has
What exactly can the type system actually do that makes optimizations easier? It doesn't seem like dataflow analysis is an issue in real-world code in c.

>it's already losing in some benches to Rust
Benchmarks are usually down to how well it's implemented. If C++ is any slower than C in them, then they're not benchmarking the language, they're benchmarking a specific usage of the language.

>Also it's miles easier to create parallel and concurrent programs in Rust than in C++, thus for practical purposes Rust is already faster than C++
There are many things that can't gain anything from multithreading or are non-trivial to implement in a multithreaded fashion. To say that easier implementation of multithreading makes it faster for practical purposes is delusional. Can cargo compile your code with multiple threads? I've never heard of a compiler that can.

>I've never heard of a compiler that can.
The Glasgow Haskell Compiler does automatic multithreading.

I meant compile the code with multiple threads, not automatically multithread the code.

That's pretty neat though. Does that make up for how slow haskell is?

FUCKING TEMPLATE SPECIALISATION IN C++ HOOOOLY SHIT IT SHITS ME TO TEARS.

In theory it makes the program run faster on systems with higher thread counts.
In practice no one runs it, because it's Haskell.

>Rust is full of SJWs
>Look at this Pull request from over a year ago, it proves it
lmao

Rust is like CommonCore it gives minorities a chance by breaking both your legs.

>Every community is. Get out of your shitty basement and you will know.
What? You idiots think you're everywhere but you're actually a very visible infection.

No SJWs in:

CUDA communities
C++ communities
Professional bodies

etc.

You SJWs can only infest areas where it's run by retarded people.

>In practice no one runs it, because it's Haskell

>It's the current trend to cater to SJWs, it creates a goodwill among normies.
You're wrong, most normies recognise SJW behaviour now and ask the trouble makers to be removed from their communities. That's why Rust's decrepit community must remain isolated.

>C babbys
This sort of infantalisation is why people hate Rust and rustbuckets.

>Difference is, C++ isn't getting any better since 20 years ago
This is what Rustfags actually believe

>What is ISO C++ '98
>What is ISO C++11
>What is ISO C++11
>What is ISO C++14
>What is ISO C++17
>What is ISO C++2x

neck zherself.

>Rust is full of SJWs
Can someone point to a legitimate source on this? Just curious, since I'm not part of such community.

shhhhh you'll hurt the tranny's feelings :

I use C over C++, but I don't see much in C++11 that's actually an improvement over C++98, and it's not like C11, where they just tidied up a few things and added a couple of new syntactic elements; C++11 added a ton of weird random shit.

>>What is ISO C++2x
Does not exist. Stop spewing memes like a typical 12 y/o Sup Forums toddler

Rust is actually slightly faster than C++

Not him, but the C++ standardization committee will probably continue adding a new standard every three years because C++ is still a trash dump and always will be.

Ada-95 seems like it did a better job at OOP

...

Yeah they will keep adding the same features over the decades to come. While security problems still exists. And if you see 's picture it perfectly describes what a POS C++ actually is.

>What is ISO C++2x
I bet you don't even know how a C++ code looks like, idiot school kid

It's in the work, that's where concepts will be introduced.
>12 y/o Sup Forums toddler
>infantilzation
You can smell SJWs by the terms they use

>Rust is actually slightly faster than C++
THIS IS WHAT RUSTFAGS ACTUALLY BELIEVE. Because one single benchmark against a poorly written implementation won out. Hilarious.

>shhhhh you'll hurt the tranny's feelings :but I don't see much in C++11 that's actually an improvement over C++98
Are you kidding me? Have you tried a ranged for? Rvalue semantics? All the awesome library addit--
>C++11 added a ton of weird random shit
-- ... ah you're retarded. Never mind, continue.

>It's in the work
SO WHY THE FUCK ARE YOU POSTING IT IF YOU GOT 0 (Z-E-R-O) IDEA WHAT YOU ARE TALKING ABOUT, KID?

>I bet you don't even know how a C++ code looks like, idiot school kid
Get the fuck back in your closet you flaming homosexual.

RUSTFAGS, KILL YOURSELF NOW

Is that actually supposed to be an argument?

>While security problems still exists
The security problems are an issue in any language where you can do unsafe operations with memory. It's not like Rust is going to fix that, since you can still do awful things in unsafe blocks. Your software is only as secure as your dumbest developer.

rustfag status
[ ] not BTFO
[x] BTFO
[x] ANALLY DEVASTATED
[x] ASS PAINED
[x] resorting to namecalling
[ ] knows what he is talking about

>slower than c++ still
>Benchmarking languages with the same performance level
Underage b&

It's from official documentation, there's people working on the new standard RIGHT NOW since there's a freeze ("feature completion") on what will be added in C++17. The x is just an indication that they might not make it to the deadline as we saw with C++11 (which was called C++0x for a long time).

We've been in a near infinite loop of brand new languages that people jump to because "hey X doesn't have these issues that Y has", meanwhile new said killer language has issues up the ass

nobody with a functional brain will jump on these new meme languages because there's no fucking reason in re-learning nearly everything just to get fucked over in a year or two

Oh edgy

>2d graphics
this is a joke, right?

>there's people working on the new standard RIGHT NOW s
And you just tried to sell me C++2x as if it released, you dumb mouthdrooling idiot

if you need to program with kid gloves in order to not be a fuckup consider python

and you never have to use any of the
>weird random shit
ever if you don't want to.

I never understood why Sup Forums attracts underage people

That's why I said that I didn't see much of an improvement in it

This is pretty odd. Normally (((people))) that hate Rust are C toddlers.

you forgot to quote these as well

That is not a very convincing set of documentation of what C++2x is going to have

C++20 got published? really?

>slower compilation than c++
Source?
>more complicated than c++
You can avoid complications by writing simple modules
>slower than c++ still
wtf, I please tell me you are joking. Even if it is slow, I'd consider their performance is in the same ballpark. Only pre teens benchmark languages like this way.

> c++ 20 gets released the day after trump gets re-elected
what would the rustfags do?

>a Sup Forums shitposter ITT
Oh that's why the thread reeks of underage kids

>C++2x as if it released
Not released, but your implication that C++ hasn't changed in 20 years is proof that Rustfags need to be kept away from keyboards before they hurt themselves.

>HURRR OFFICIAL DOCUMENTATION IS GRAPHICS THUS INVALID
>I HAVEN'T BOTHERED TO LISTEN TO ANY C++ CONFERENCES WHERE THE SAME NAME IS USED MANY TIMES

If Bjarne is to be believed, concepts for one. From last year:

herbsutter.com/2016/06/30/trip-report-summer-iso-c-standards-meeting-oulu/

>Last time I mentioned that there was some thought of moving to a two-year cadence after C++17, but for now we’re staying with three years, so the next standard after C++17 will be C++20.

Sup Forums and Sup Forums are the last bits of Sup Forums that are still Sup Forums
prove me wrong

>what would the rustfags do?
I think what they're doing now, not programming and instead trying to advocate for their shitty "me too" language with its crippled syntax and "safety" fetish.

>Leftist Rustie triggered by Sup Forums and C++ simultenously
It's amazing how triggered these freaks are by true merit

>your implication that C++ hasn't changed in 20 years
It hasn't. Due to heavy baggage of legacy compatibility. Even Boost and Qt handles strings in different ways. The new C++17 has a for_each while Boost has had them since a long time ago. It's a complete disaster.

Not that I would expect a Sup Forums fizzbuzz expert to understand anything of it

Bjarne is "working" on the compilation delays for the past 20 years, newfag

I am not even a burger muncher, you fat pile of shit

Sup Forums is a new board

please stay out of my techloli/g/

>Sup Forums and Sup Forums
Schizos and pedophiles do not deserve living

Not in terms of memory safety, which C++17 claims to have at least
Iterator invalidation: if you destroy the contents of a container that you're iterating over, undefined behavior. This has resulted in actual security bugs in Firefox.
std::vector v;
v.push_back(MyObject);
for (auto x : v) {
v.clear();
x->whatever(); // UB
}

no one ever said Sup Forums was the land of the living bubberoonie

>"this" pointer invalidation
if you call a method on an object that is a unique_ptr or shared_ptr holds the only reference to, there are ways for the object to cause the smart pointer holding onto it to let go of it, causing the "this" pointer to go dangling. The simplest way is to have the object be stored in a global variable and to have the method overwrite the contents of that global. std::enable_shared_from_this can fix it, but only if you use it everywhere and use shared_ptr for all your objects that you plan to call methods on. (Nobody does this in practice because the overhead, both syntactic and at runtime, is far too high, and it doesn't help for the STL classes, which don't do this.)
class Foo;

unique_ptr inst;

class Foo {
public:
virtual void f();
void kaboom() {
inst = NULL;
f(); // UB if this == inst
}
};

>Null pointer dereference
Contrary to popular belief, null pointer dereference is undefined behavior, not a segfault. This means that the compiler is free to, for example, make you fall off the end of the function if you dereference a null pointer. In practice compilers don't do this, because people dereference null pointers all the time, but they do assume that pointers that have been successfully dereferenced once cannot be null and remove those null checks. The latter optimization has caused at least one vulnerability in the Linux kernel.

Why does use after free matter? See the page here: owasp.org/index.php/Using_freed_memory

In particular, note this: "If the newly allocated data chances to hold a class, in C++ for example, various function pointers may be scattered within the heap data. If one of these function pointers is overwritten with an address to valid shellcode, execution of arbitrary code can be achieved." This happens a lot—not all use-after-free is exploitable, of course, but it happened often enough that all browsers had to start hacking in special allocators to try to reduce the possibility of exploitation of use-after-frees (search for "frame poisoning").

I'd NEVER program a banking system in C or C++

Writing Rust is like writing C with a chastity cage.
You literally need to ask the compiler's permission to borrow memory, you're not even in control of your own project.

Rust is literally the cuckold's language.

>Actual security bugs in firefox
>mozilla in charge of security
>mozilla in charge of good code
>mozilla makes a new shit language to try and be safe
>inb4 rust turns out to be as unsafe as C++
MUH SAFTEY

who are you quoting?

At least don't reply if you have nothing to defend yourself with.

C++ is barely manageable. I think that was one of those misunderstood points. My point was that there is no clear flow to work with the language. That can be a blessing, it allows a lot of freedom.

The split between source and headers, which makes project management quite slow. If you make all header libraries you’ll have a lot of copied code – the binaries will be larger. You’ll have to recompile that code every time you want to use it. And the split between the two is always troublesome – you can’t add a new field to your class without a few CTRL-TABs until you find where to write the proper definition.
You still can’t write template code in .cpp files. You have to write code in the headers. If you mix that with some #ifdef & friends, it becomes a mess quite fast. Not to mention that you include content that is really implementation dependent.
C++ still uses the C preprocessor. That is the first feature that should’ve gone from the language. If you think about it, the header should represent the features that your object offers and not a letter more. However, people ended up delivering these huge files that can be used everywhere even if they will be used in one place and one place alone.
Namespaces are useless and make the code way too verbose. Instead of making your code cleaner and clearer, the programmers will end up doing a using namespace xxx. If you don’t believe me, look at how the code for using the duration_cast looks without some usings (auto only hides the dirt under the rug).
Lack of ABI makes it impossible to deliver C++ components without a C interface. If you don’t, you’ll crash quite fast when you use the flag -fsuper-duper-new-feature because you should’ve used the flag -fsuper-duper-extra-cool-newer-feature.

The thing about Rust that repels me the most is it's a language no one ever asked for.

Apple came out with Swift because it needed to replace Cacao's Objective C. It's revised it many times breaking backwards compatibility but it served a purpose and it's decent (though slow).

Google came out with Go, which *was* slightly needed because C++ didn't have proper multiple assignments (std::tie doesn't work with references), which is now there in C++17, thus Go is useless.

Then the SJWs from Mozilla came out with Rust, the socially just programming language, to make sure any mentally handicapped can write system code "safely". And it's completely worthless because everyone who has a job is going to use what they already know and anyone learning a new language is going to learn something popular and useful.

Rust is trying to be a C++ replacement, but everyone is happy with C++ and there's nothing Rust brings to the table that is a paradigm shift. Also the advocates of Rust are NAUSEATING. You don't win people over by being ignorant of their language's strengths and weaknesses, while calling them "babies" (because you're too socially just to call them faggots). You win them over by showing them use cases where Rust makes their life easier or has more elegant syntax for common statements. OF WHICH NEITHER IS TRUE so fuck off already.

It's advocacy really reminds me of communists trying to sell their disgusting ideology to a healthy thriving economy.

Rust is the systemd of systems programming languages. Enjoy your 20 megabyte hello worlds faggots.

>inb4 C++ is portable
Theoretically you write stuff in one place and you should be ready for… wait a minute. Did you really use ? And did you dare use the std::to_string call? You’re stupid, that doesn’t work under the C++14 compiler under Windows except for Microsoft’s. Why? Well, why not? We love to be arbitrary like that.

Portability is a hard thing in C++. You have to work for it, you have to make sure that you’re doing special stuff for it. C++ is amazing, don’t get me wrong, but in the past 15 years the only non-portable code I’ve seen was written in C++, or was caused by the interaction with a C++ native layer. C++ is mostly portable except when it’s not.

I think it’s easier to achieve true portability under C# or Java, because there’s an “all or nothing” feeling about them – either they have the whole core system ported, or they don’t work at all. That said, you still end up using C/C++ layers, and I love C++ for that, but remember, I offer a look at the bad part.

i thought that rust was SAFE!?
you lied to me! how could you DO THIS? D:

>Enjoy your 20 megabyte hello worlds faggots.
Typical system systemd hater. One thing common with them is their lack of knowledge.
No, there is nothing wrong with systemd

Also read and learn, cartoon watching middle schooler
stackoverflow.com/questions/311882/what-do-statically-linked-and-dynamically-linked-mean

>I'd NEVER program a banking system
We know, it's because you're too retarded to use the right tool for the right job.

That's one of the few case where range fors can't be used, doesn't mean you can't use it.

>This has resulted in actual security bugs in Firefox
That's because Firefox is written by retards. Anyone who sees that code knows that you've invalidated the implied iterator.

It actually is safer than C++.

>everyone is happy with C++
woah
everyone doesn't include people

it's really not. a nigger will code nigger code regardless of how cucked the language is.

I guess every programmer is a retard.
>Typical C++ damage control force logic
>If you make a bug you are a shit programmer
>If you lose a game of chess you are a shit chess player

>Typical system systemd hater
It's not at all surprising that Rustfags will also defend systemd.

We all know what static linking is stupid child, that's no excuse for 20mb binaries. Even mingw32 static compilations will be under 800kb.

Cringed. Thanks for reminding me Sup Forums is a place for socially awkward middle schoolers

>that's no excuse for 20mb binaries.
Then don't link statically? Is that a problem or is it too hard for a cartoon watching kid?

to be fair, the programming ecosystem has been shitflooded with crap talent for at least decades now.
most programmers are shit programmers.

>I guess every programmer is a retard.
No, not every programmer uses Rust

People who don't understand the advantage of splitting the "headers" and the "source" (really what they mean is forward declarations and implementations, but they're too retarded to understand that there is no concept of "headers" in C++, it's just a preprocessor construct)

Also C++ is counterproductive. Rust too, but at least with Rust you have some sort of solid codebase guaranteed.
I like to call myself stupid. It’s obvious that I am, that’s why I became a programmer – to make computers do the work for me, because I’m not to be trusted. That’s the case for my instant crush for C# – they have one simple model to refer resources – pointers, hidden by the lack of special notation – moron friendly, so it was a natural match.

I wanted to start a Breakout clone in C++. I had an array of widgets. Those widgets had textures. Those textures were copied over and over and over again, because containers can do that, so I had to go back to rethinking the storage class for the widgets.

I explained about the productivity hit I have when I have to search for a header file and add a few bits there, then go to the constructor (another file) to initialize it, then implement its usage in the header file (because templates) then go back in the other file to make sure another function makes proper use of it. If you put this in the context of IDEs unable to add a field to a class or rename a field of a class…

You can’t just take a DLL and use it as such. You need to have a “development package” which consists of pre-built binaries and huge header files that you need to compile with certain flags.

you have to go back

Exdee

>Then don't link statically
You seriously have no idea why you'd want to link statically sometimes then. This is why no one wants to use your shitty language.

>cartoon watching kid
Notice, they cannot say faggots because they've been programmed by social justice, so they have to call you a kid.
Fuck off faggot niggers.

>You seriously have no idea why you'd want to link statically sometimes then
Maybe if you read books instead of watching cartoons you would know.

i write books, specifically TFM
so RTFM

The de facto compatibility with C and its own backwards compatibility are both its blessing and curse. Bjarne Stroustrup put it nicely when he said, that the problem with C++ is that it cannot be cleaned up due to the tremendous amount of decade old legacy code that is still being used productively by businesses all over the world2.

Generally, backwards compatibility is regarded as a positive trait of any language, which is definitely true. However, the unfortunate side effect is that the language is getting cluttered up with new features over the years that somehow need to work together with all this unnecessary and totally outdated stuff from the last millennium. Things like the primitive include system and the naïve preprocessor could be replaced by much more efficient and practical mechanisms. Doing so without breaking backwards compatibility is impossible, which is exactly why it will never happen.

XD

THIS

What’s really unfortunate is that “undefined behavior” is part of the language and its specifications. Initially, some aspects were left undefined in order to be able to efficiently deal with different hardware and to avoid unnecessary overhead due to over-specification.

Do note that programmers often confuse the terms “implementation-defined” with “undefined behavior”. Parts of the language that are “implementation-defined” still allow the developers to write perfectly specified code as long as the target machine is known3.

Again, as it is with all the other bad parts, this will probably never be changed – it can’t be changed. Even Bjarne Stroustrup agrees in an interview over at MSDN that way too many things have been left undefined or implementation-defined. If C++ was redesigned from scratch, there would likely be no undefined behavior at all.

>However, I don’t have a time machine and we just cannot break hundreds of millions of lines of code by picking a set of resolutions today4.
t. Bjarne Stroustrup

they should rerwite it in rust

Yeah, it has a fucking preprocessor. The preprocessor is a feature of C because C lacks so many features that the preprocessor is needed. Nobody cared to include tools in C++ to make the preprocessor obsolete, so it still lurks around and takes your firstborn children.
You still use the preprocessor to include headers. So if you have a syntax error in one header, let's say, a missing semicolon in the last line, the compiler complains giving a line in a completely different file. The proper way to do it would be to parse headers separately before including them.
Oh, and because you still have to use #include, you obviously need those shitty #ifndef guards in every fucking header file. Yeah, if you have a fancy compiler, you can use #pragma once. Well, unless the gcc guys decide to deprecate(!) it.

Just going to drop this and go away.
quinn.echidna.id.au/quinn/C -Critique-3ed.pdf


/thread

idiot kid

Uh oh, I'm afraid this mutes the so called C++ programmers of Sup Forums hhahahahaha