C++ needs more people like Nico Josuttis. We need more critical eyes on the standard library (and the language). Great speaker, honest and to-the-point. Thank you Nico!
@igagis Жыл бұрын
Hi :)
@jangolab Жыл бұрын
This whole situation is absolutely worrisome for the future of C++! We have arrived at a point where the committee feels the need to protect us from potentially inefficient valid code, and as a side effect ends up inducing us to semantic errors. Kudos to Nico for being vocal about this and for taking the initiative of proposing and implementing an alternative. (An ironic sidenote though: a few years ago Andrei complained about the standardization of constexpr if, to which Nico responded something on the lines of "shame on you for not getting more involved with the committee". Glad to see Nico has found some value in complaining and in not being corporatist.)
@DavidWright-fq3di Жыл бұрын
We were at that conference and I must say this has really shaken up my coworkers and me 😬 We were really excited about using range views, and we've come to the conclusion we still can, but we need to be very careful about it. Sad to see that range-v3 has taken the same decision.
@m7627 Жыл бұрын
Great talk! A bit depressing at moments, but still very interesting and informative.
@enricomariadeangelis2130Ай бұрын
"Once you understand the error, you understand the error message". So true :D
@Luca-yy4zh Жыл бұрын
Great talk! I feel now a bit of frustration when I try to use std::views
@juliendebache4965 Жыл бұрын
As a beginner, please keep doing what you are doing!
@rareshb Жыл бұрын
I am going to call std::jthread a Josuttis thread from now on.
@userrand4900 Жыл бұрын
Slide 9 is interesting, while you cannot add a string and an integer (v = v + int_val) won't work, you can append an integer to a string via += operator overload.
@faridmehrabi2761 Жыл бұрын
I winder as a teacher, how you are going to teach coroutines. IMHO It was great feature with terribly awkward finishing. I -for one - am really reluctant to use naked coroutines in current form; reserve the luxury for standard library developers.
@MeetingCPP Жыл бұрын
I think what the standard offers right now is not for the masses. Next standard versions should improve on this.
@faridmehrabi2761 Жыл бұрын
@@MeetingCPP I don't mean the libraray. The very definition of the coroutine itself is now over-complicated. Simpler syntax/semantics for a very basic coroutine is possible IMO. In its current shape, it is by no means similar to any fundamental programing concept. Too abstract a thing with lots of unnecessary coupling with many unnecessary and unrelated aspects: Memory management, error handling, generic programing, special std library identifiers; basically a Frankenstein of all beasts in C++. Not a good starting point to attract and teach new programmers. I wish an alternate way to define coroutines were introduced to the core language. I do not mean a massive boilerplate library (those could be done without a formal definition of coroutines, using implementation defined blackboxes). It is best to be able to define a coroutine without ever refering to any identifiers in `std` or 3rd party libraries.
@nurso56 Жыл бұрын
@@faridmehrabi2761 Totally agree in this point. A very basic coroutine with easy to learn and easy to use syntax is needed. Sure, there might be use cases or corner cases which are not possible with such a basic version, but that corner cases could be omitted in the first place and added later with an opt-in complex coroutine. As I saw now several videos/tutorials what you all have to implement and most of the things come out of no where, e.g., the compiler requires that type X in class Y exists (ok, which 100 types I must/can/should implement then and what options do I have?), its a real mess. At the end you are writing 100 and 100 lines of code instead of writing only 10 lines without coroutines. A coroutine is not much more than class with methods and a state (its members). I really think, the coroutines of C++ are useless, similar to std::regex what is also useless but for performance reasons.
@faridmehrabi2761 Жыл бұрын
@@nurso56 I can make some propositions; but I don't have any audience, not much feedback, not a voice in general. I can do it with one single keyword and a minor syntax addition, and get most of the required functionality and requirements(omitting the memory and exception handling stuff). It can have a slightly different name than coroutines, as a simpler alternative.
@svaira Жыл бұрын
@@faridmehrabi2761 What about C-style static variables, like int counter(void) { static int nr = 0; return nr++; } Isn't that already a simple way of doing basic coroutines, or is there something missing with it?
@kuhluhOG Жыл бұрын
1:51:19 "Too much criticism" If you would throw around with curse words or make stuff up, a rejection would be understandable. But you don't. And where I come from, such behaviour (not wanting to deal with valid criticism) is regarded as just one thing: immature. Sometimes also called kindergarden behaviour. While this is tolerated for hobbies (mostly), C++ is used in situations where sometimes people's live literally depend on it working properly. Because of that such behaviour is just straight up not tolerated here.
@danieloberhoff19 ай бұрын
hi nico! you made jthread? yay, I love that! :)
@danieloberhoff19 ай бұрын
hmm, doesnt the threading code race to destruction? i.e. it will likely not even finish the work...
@Key_Capz_ Жыл бұрын
Interesting
@Voltra_11 ай бұрын
Interesting to see that views are not views
@superscatboy Жыл бұрын
Pretty sobering stuff.
@vladimiro3059 Жыл бұрын
why repo is disabled?
@MeetingCPP Жыл бұрын
Licensing issues... (GPL code...)
@vladimiro3059 Жыл бұрын
@@MeetingCPP ok thanks In which part of the library it was used GPL code. Just wondering for the purpose of knowledge.
@MeetingCPP Жыл бұрын
Nico had modified parts of an STL implementation under GPL and added part of this code to his own library if I remember correctly.
@vladimiro3059 Жыл бұрын
@@MeetingCPP ok. Thank you. That make sense.
@PaulDiracTWR Жыл бұрын
lmao at the first guy wearing a freaking contraption on the face. Great talk though, very informative, thanks for making it available. I'm reading C++20 Complete Guide by Nico atm, very useful.
@MeetingCPP Жыл бұрын
As the conference organizer I had to make sure not to get sick during or after the conference. So Mask all day it was.
@PaulDiracTWR Жыл бұрын
@@MeetingCPP Thank you for organizing, I watched some of the lectures and Andrei/Sean AMAs and they were great. It's greatly appreciated.
@ThunderAppeal Жыл бұрын
Fascinating. Where was this guy the 8 years prior to feb 2022? For 8 years kiev had been bombarding its own civilians in eastern yukraine.