Haven't followed C++ for years, but Herb's presentations are always delightful.
@markramirez39204 ай бұрын
Developers just can not instantly migrate all software from C/C++ to other P.L.s just because "it's safer", we need to add features and best practices for existing and new C/C++ safe software ...
@dascandy4 ай бұрын
No, Herb, @1:07:00 std::regex is horrendously bad in so many ways the best we can recommend is "do not use, ever". I have a draft paper to mark it as "deprecated, please do literally anything else". Do you want that submitted?
@Onyx-it8gk6 ай бұрын
Circle is without a doubt the most promising development for C++. Too many people unfortunately can't set their egos aside to give it the attention it really deserves.
@greenmatrix53034 ай бұрын
I don't follow. Why are you talking about Circle? What does that have to do with cppfront?
@AntiProtonBoy4 ай бұрын
Less to do with ego and more to do with tooling support, the effort to migrate and established ecosystems.
@szaszm_4 ай бұрын
There have always been plenty of challenging competitors to C++ that failed over time. It's not an ego thing to be skeptical of the next big thing, especially if there are half a dozen competing candidates for just that. Circle is not even open source.
@breadiusloafus50682 ай бұрын
Circle definitely not the most promising. It's only being contributed to by only one person (Sean Baxter). Since it's not even open-source and can easily conflict with existing codebases, adoption becomes very impractical. And since you mentioned egos, yes, people in Carbon, D, Circle should set their egos aside and contribute to Cpp2/Cppfront instead, as it's the most practical project so far.
@Ikkepop4 ай бұрын
always love Herb's presentations, alot of charisma
@rationalcoder4 ай бұрын
9:28: "There would be no reason, by definition, to recommend people switch to another language. This is the problem." Interesting take. Certainly not by definition. I would still want to switch off of C++ even if it became more memory safe.
@Roibarkan6 ай бұрын
16:15 JF Bastien’s talk from CppNow 2023: kzbin.info/www/bejne/fZmaaqqZfK-Xisk
@tomkirbygreen6 ай бұрын
Really enjoyed this Herb, thank you!
@Johnkank4 ай бұрын
I really hope cppfront takes off. C++ focus shouldn't be about fixing it's bugs and errors. It should transform itself into a different paradigm. It's a language of the engineers, not developers. It should provide a base platform to add more derivatives and variants like circle and yet be able to program simply like typescript.
@Dominik-K6 ай бұрын
This talk is highly interesting, very good points
@SimãoMayunga2 ай бұрын
I love this think!
@krumbergify6 ай бұрын
Great talk as always! Question: With so many copyright holders, will you be able to change the license of Cppfront to a free license?
@Roibarkan6 ай бұрын
I believe the license is creative-commons
@krumbergify6 ай бұрын
@@RoibarkanYes, but using NC (non-commercial) and ND (no derivations). This means cppfront can’t be included by default in any GNU/Linux-distribution, no company can use it and those contributors Herb celebrates are technically not even allowed to provide pull requests since that involves modifying the sources. Because of that it is hard to take cppfront seriously until Herb switches to a free license.
@jaycarlson25794 ай бұрын
I am supper impressed with the improvement of C++Front
@AdrianMNegreanu5 ай бұрын
just adopt Circle as c++2x
@oconnor6633 ай бұрын
15m15s: "Rust unsafe gives you access to 5 or 6 of the knives. We want all the knives." I'm not sure what Herb is referring to that unsafe Rust can't do. He might have heard that adding unsafe doesn't magically make your code compile, and that's true, but raw pointers can do anything (transmutes, lifetime extensions, data races, etc.) once you know the syntax and some relevant helper functions/types. The usual suspects like volatile, atomics, and inline assembly are all there. Herb, I don't imagine you read these comments, but I would be thrilled to give you a Rust crash course of any length you like. I think taking some time to seriously study Rust and get good at it would be a valuable investment for the future of C++.
@driedurchin4 ай бұрын
Herb always gives such a good perspective. I don't agree with his approach of cppfront, but nonetheless I think his metaphor about the door really drove home the point of needing a holistic approach to security.
@MarcEspie6 ай бұрын
one big question is, why is C++ default regexp so slow compared to perl ?...
@lorandpetok60446 ай бұрын
From what I've heard the limitations are caused by abi backwards compatibility.
@freak82music6 ай бұрын
The reason, that I know and is mostly cited in the community, is that they did some "bad" decisions in the implementation but now they can't change it because this will be ABI breakage.
@aniketbisht28236 ай бұрын
ABI issues.
@flflflflflfl6 ай бұрын
how is that relevant to this talk?
@krumbergify6 ай бұрын
I don’t understand why it is impossible to fix. Why can’t they wrap the old and the new data structures in a union and stay abi compatible?
@dariuszantoniuk4 ай бұрын
Great talk, finally we can see Herb come to terms with what needs to be done to fix the issues. What's sad is that all of this took 5 years of denial, hostility towards people pointing out the problems, manipulating definitions, etc. Finally the need to catch up with Rust's state of the art safety support is acknowledged and the plan is somewhat plausible.
@josephlunderville31954 ай бұрын
This isn't new, Herb has been working on cppfront -- i.e. a new, safer syntax for C++ -- since at least 2021. None of this talk represents a recent change in attitude that I've seen.
@dariuszantoniuk4 ай бұрын
@@josephlunderville3195 Herb's efforts to fix syntax issues aren't new, yes. Herb's acknowledgement of rust being the state of the art is new.
@gast1285 ай бұрын
I would have expected some concrete examples of not secure C++ code. Bounds checking could be enforced in a profile by banning operator[] and requiring 'at'. This will cost some performance though (i.e. suppresses compiler optimization). From the past I know that regex are expansive to create. Perhaps also to execute compared to a simple search.
@driedurchin4 ай бұрын
A lot of compilers are able to see through .at and still produce optimized code IIRC
@Voy23784 ай бұрын
20 years too late... cppcon deleted my comment on their channel for a similar talk, hope ACCU is more tolerant of truth.