News for hackers. Stuff that matters.
Re:Two Years with Rust by pjmlp on Monday March 23, 2020 @10:58AM (#22664695)
You forgot about SFINAE, CTAD, decltype vs auto, perfectly forwarding references, guaranteed RVO (but only in certain ISO versions), initialization semantics, ...
Re:Two Years with Rust by BubRoss on Monday March 23, 2020 @03:32PM (#22667823)
> SFINAE, CTAD

These are advanced template techniques for people who want to dive deep into writing template libraries that are as generic as possible. Insinuating that they are a necessity to learn is ridiculous.

decltype is easy and only necessary when trying to make something more generic.

> guaranteed RVO

Also something that programmers don't even need to know exists unless they want to dig into it.

Re:Two Years with Rust by pjmlp on Monday March 23, 2020 @04:49PM (#22668592)
Except that is all nice and good, until one comes up with the naive idea to use Boost, and somehow they need to dive into the source code to track down a bug.

Or landing by parachute on a codebase that needs some work.

Or just having to integrate a C++ library done by other team into their managed language framework.

Ridiculous is how many in ISO C++ seem to ignore Bjarne's plea to not overcomplicate the language.

Re:Two Years with Rust by BubRoss on Monday March 23, 2020 @05:03PM (#22668714)
Now you are conflating the language itself with examples of it being used terribly.

I pointed out that your criticisms are a huge stretch in reality and instead of confronting that, you decided to ignore what I said and throw more out there that isn't even a part of C++.

https://en.wikipedia.org/wiki/Gish_gallop

Boost is mostly terrible and isn't hard to avoid. People don't need to use it and they don't need to debug it. This is far removed from talking about the language itself.

Re:Two Years with Rust by pjmlp on Tuesday March 24, 2020 @02:17AM (#22672460)
Boost is very relevant to the language's standard library, as it is the research ground for features that eventually end up in ISO C++ standard library.

Should we go through the ISO C++ features that were born in Boost?

Re:Two Years with Rust by BubRoss on Tuesday March 24, 2020 @11:57AM (#22675648)
Boost is an external library and it is known for its overly complex templates and long compile times. It isn't part of C++. The features that were adopted from being tested in boost do not have the same dependency problems. Your initial criticisms didn't hold, now you are trying to criticize external libraries as a failing if the language. Maybe you just want to criticize c++ with anything you can think of, no matter how ridiculous.

Ironically there are probably an endless streams of criticisms that could be lobbed at it, but everything you've mentioned are things that just aren't problems in practice.

Re:Two Years with Rust by pjmlp on Wednesday March 25, 2020 @11:47AM (#22685668)
I have enough C++ credentials on my resume to know what I am talking about.
Re:Two Years with Rust by BubRoss on Wednesday March 25, 2020 @06:06PM (#22688921)
This is a logical fallacy called appeal to authority. There is no resume that magically makes the stuff you are saying true. It's bizarre that you would say something like that, as if you don't want to explain or walk back what you are saying and think that you can just state that you are an authority.
Re:Two Years with Rust by WesternStar on Monday March 23, 2020 @11:58AM (#22665236)
He didn't forget perfectly forwarding references.
Re:Two Years with Rust by pjmlp on Monday March 23, 2020 @01:26PM (#22666310)
Depends on which context get used, yes he did refer the template difference to && semantics, but wasn't explicit about them.
Re:Two Years with Rust by quietbritishjim on Monday March 23, 2020 @01:10PM (#22666101)
But that does show how confusing the notation is!
Re:Two Years with Rust by WesternStar on Monday March 23, 2020 @01:19PM (#22666219)
I guess I watched the back to basics c++ series on move semantics and its not really all that bad. I did struggle with it beforehand though. I've never worked in C++ tbh. I does take the 2 hours but you have it when you're done. https://youtu.be/St0MNEU5b0o
Re:Two Years with Rust by quietbritishjim on Monday March 23, 2020 @01:30PM (#22666366)
Really? You can tell off the top of your head what the difference between an xvalue and a glvalue is? Which function has higher precedence in the overload list out of foo(string&) and foo(string&&)? (Note that's not a const string&!) That these are so obvious to you that there's no chance you would make a mistake about them when you're in a hurry trying to solve an actual problem that has its own complexities rather than playing games with C++'s unnecessary complexity? The one where foo(std::move(x)) doesn't necessarily move x is a particular killer (although at least it only causes a performance problem rather than noticable change in behaviour).

I have worked with C++ for a hell of a lot more than 2 hours since C++11 came out (the first version with move semantics) and worked with many others that have too, and I can tell you that "once you have it you're done" is just not true. I fully understand all the concepts but I can still make mistakes.

Re:Two Years with Rust by WesternStar on Monday March 23, 2020 @02:44PM (#22667241)
Is there more? Yea. Do you need for most code ? No. Also I lied I have coded professionally in C++.
Re:Two Years with Rust by parkovski on Monday March 23, 2020 @04:02PM (#22668129)
Yeah we totally believe you, you just keep on digging your heels in on this one cause that's how you get people to take you seriously and think you're smart.