Can C++ be 10x Simpler & Safer?  - Herb Sutter - CppCon 2022

Can C++ be 10x Simpler & Safer? - Herb Sutter - CppCon 2022

CppCon

1 год назад

258,386 Просмотров

Ссылки и html тэги не поддерживаются


Комментарии:

@IExSet
@IExSet - 15.12.2023 04:48

Worst notebook ever 😂

Ответить
@DanielLidstrom
@DanielLidstrom - 11.12.2023 15:39

Herb Sutter is a legend. I had a chance to meet him for a course in late 00's, but I gave my spot to someone else as I was leaving the company. I did get a signed copy of my C++ 101 book though. As much as I am impressed by Herb, I still can't help but feel some desperation in this talk. I mean, where is a language at when a leading figure feels the need to propose an entirely new syntax. It doesn't bode well for C++. I felt it at that time and I haven't regretted leaving C++. It always felt to me as if I was solving some other problem than the one I had at hand.

Ответить
@XiaoP76
@XiaoP76 - 07.12.2023 12:20

i:=0 ? Did they hire Niklaus Wirth from retirement on the C++ commitee or something ? I have a 1990 dejavu.

Ответить
@catlolis
@catlolis - 22.11.2023 15:06

cope. just use beeflang

Ответить
@szymoniak75
@szymoniak75 - 21.11.2023 21:07

finally a somewhat realistic approach to this, instead of "let's just dump existing codebases and create a new perfect language"

Ответить
@SuperNolane
@SuperNolane - 05.11.2023 12:49

now thats ridiculus on so many levels

Ответить
@indiesigi7807
@indiesigi7807 - 20.10.2023 14:01

So if we really do need a successor, having looked at all the contenders, I can get behind Herbs cpp2.

Ответить
@zhulikkulik
@zhulikkulik - 21.09.2023 11:03

Why do people keep wanting to turn red apple into apple:red?

Behind reason this can understand I not.

Ответить
@dylan1415
@dylan1415 - 18.09.2023 20:58

Will this become a part of C++ Standard? Or just an alternative syntax like TypeScript for JavaScript?

Ответить
@notapplicable7292
@notapplicable7292 - 17.09.2023 06:31

Only c++ devs could look you in the face and say they like the status of c++ package management

Ответить
@FelixNielsen
@FelixNielsen - 09.09.2023 02:37

When a certain someone once uttered "...but it needs abstraction", a certain someone should have taken the time to think it through.
There is no doubt in my mind that the idea of abstraction is the fundamental problem. Sure, it may sound like a great idea, so does communism, but only until you take the time to really think it through.
Abstraction is not a good thing and never has been. It is concentrated confusion, cleverly disguised as the opposite.

Ответить
@Lifeismeaningless-mu2sz
@Lifeismeaningless-mu2sz - 26.08.2023 18:41

C and C++ cannot be salvaged. They must be declared legacy languages. Insisting on them will only perpetuate the mistakes of the past.

Ответить
@austinlucaslake
@austinlucaslake - 10.08.2023 01:56

What advantages does this have over Carbon? Wouldn't it be more effective if the community focused around one successor of the C++ we know today?

Ответить
@nvmcomrade
@nvmcomrade - 03.08.2023 09:45

I'm sceptical, but some of the ideas were great.

Ответить
@PixelPulse168
@PixelPulse168 - 31.07.2023 03:34

I hope the experiment becomes reality.

Ответить
@ryanleemartin7758
@ryanleemartin7758 - 29.07.2023 01:08

I would honestly really like to get into C++ simply to be able to write low level modern software without having to deal with the political albatross that comes with Rust. I like my tech to concern itself only with the tech.

Ответить
@joeedh
@joeedh - 30.06.2023 21:57

It's almost adorable to hear Herb talk about context-free grammar. The JS language community has been using transpilers to prototype language evolutions for 10+ years now. And while the result isn't throwing out context-free grammar let's just say a certain amount of hacking happens at the lexical stage, and we don't always fully validate the AST when building it at initial parse time. Everyone loves context-free grammar until their favorite time-saving syntax extension violates it, then it becomes a tedious game of how can I hack the lexical scanner to look forward and insert special tokens, can I move some syntactic validation to after parsing ends, etc.

Ответить
@michaelliuzzi
@michaelliuzzi - 21.06.2023 09:44

he's wrong about integer overflow though, it's not just a bounds safety issue

Ответить
@michaelliuzzi
@michaelliuzzi - 21.06.2023 04:54

In addition to his technical skills, Herb is an excellent presenter and leader.

Ответить
@leili6490
@leili6490 - 05.06.2023 16:49

One more thing: C++ can never be called "simple" until its std libs become more down-to-earth, especially string things

Ответить
@majohime
@majohime - 04.06.2023 05:03

I know it's not related but this exact syntax so much reminds me of Godot's GDScript in certain ways (obviously like left-to-right declaration and is\as)

Ответить
@michaelwplde
@michaelwplde - 23.05.2023 22:52

nullptr not the default? huh? didn't we have a slide, or a sidebar at any rate, in which gov's are coming down on mem unsafe langs?

Ответить
@michaelwplde
@michaelwplde - 23.05.2023 22:07

Under attack? First question you should ask, by what, or by whom... I do not think the GIS report is far from Delta Charlie.
Which is not to say should be lax, unawares, not-diligent if vigilent, in type safety, best practices, etc.
Moreover, we need a gov to tell us this?

Ответить
@michaelwplde
@michaelwplde - 23.05.2023 22:02

Ransomware is political now? Or are we talking about freemiumware trial periods expiring? I could be wrong...

Ответить
@eggmeister6641
@eggmeister6641 - 11.05.2023 02:38

First time watching one of his talks. Didn't know John Cena gave C++ talks!

Ответить
@adrianconstantin1132
@adrianconstantin1132 - 11.05.2023 00:59

Bitwise XOR can be used to swap two variables in-place (without a temporary 3rd variable). This can explain why you can do bit-wise operations with pointers.

Ответить
@USGrant21st
@USGrant21st - 08.04.2023 00:23

I'm amazed that Herb Sutter after so many years is still going strong, still is thinking cogently, and even looking much younger than his years. Kudos.

Ответить
@defnlife1683
@defnlife1683 - 03.04.2023 23:45

I love programming in straight C. Maybe this is what I needed to jump into C++.

Ответить
@olpchk1115
@olpchk1115 - 02.04.2023 11:11

It looks like Herb just reads my mind almost word for word, and it is so weird 😳

Ответить
@NXTangl
@NXTangl - 27.03.2023 08:04

<flamebait>Yes, it's called Rust</flamebait>

In all seriousness, though, a lot of this is really good. My two gripes are that out parameters can make it difficult to write expression-oriented programs, and that not having a move operation could make it difficult to express "no, seriously, I want this to be the last time I use this variable (unless I initialize it again), and if it isn't I have made a mistake."

[Unfortunately, you can't really express that a function has mandatory NRVO semantics with cppfront. Rust hasn't nailed this either.]

Maybe look at D for the reflection and generation.

Ответить
@shubitoxX
@shubitoxX - 24.03.2023 00:04

I want this so bad

Ответить
@kwitee
@kwitee - 20.03.2023 04:39

You will end up writing Fortran in Scratchpad/Axiom/Fricas syntax.

Ответить
@AG-ld6rv
@AG-ld6rv - 12.03.2023 08:19

Herb Sutter is a dang hunk!

Ответить
@ZackDia-Ptr
@ZackDia-Ptr - 10.03.2023 05:47

So why dont make it simpler, especially less heavier !!?

Ответить
@Dominik-K
@Dominik-K - 05.03.2023 04:10

Very interesting and thought-provoking talk, love the experiment proposed here

Ответить
@weekendwarrior3420
@weekendwarrior3420 - 03.03.2023 19:54

This is gonna hurt my job security! STOP!!!!!

Ответить
@CaleMcCollough
@CaleMcCollough - 03.03.2023 01:11

The way I solved this problem with Script2 (Serial Chinese Room Interprocess and Telemetry Script) was I didn't use the std library and I instead wrote everything by hand using contiguous Automaton SCII data types that auto-grow from stack to heap. I use a single translation unit that can compile all the code in seconds. You really don't need to use multiple translation units until you're trying to complete many huge libraries in parallel using one translation unit per library.

Ответить
@multiHappyHacker
@multiHappyHacker - 26.02.2023 18:49

There are a couple decisions that make it just a bit too alien from C++, but others are good, like adopting the lambda syntax for function definitions. I wonder if one day they will implement class-scope lambda functions and the new syntax will have all of the new defaults established?

Ответить
@pedromiguelareias
@pedromiguelareias - 23.02.2023 14:03

imho, C++20 syntax is near-perfect. Just deprecate the ridiculous standard library and build a new one from scratch. Learning from libraries in newer languages might be a good idea.

Ответить
@PrestonBannister
@PrestonBannister - 23.02.2023 06:27

Yeh. Nope. This is in the C family as much as Rust or Javascript. Pretty cool to explore a new language as a pre-compiler (and yes, I compiled and used cfront early on). The aspirations are cool. Doing the same things in arbitrarily different ways is noise, not staying in the same family.

I use C++ (in a C-with-classes style) when I need bare metal performance. Do like some of the newer features, but am uninterested in large chunks. C++ is a language of choice for a subset of problems. (Templates are a particular horror. The std:: group is mostly useless.)

Otherwise I would much rather use Javascript. Wrote a lot of Lisp code in school. Javascript is much like Lisp in some ways, and can be used in similar pattern. Or use Java - or maybe Python, for different range.

Building a safer C-with-classes would be a noble goal. Was hoping for more in that line.

Ответить
@JaapVersteegh
@JaapVersteegh - 21.02.2023 22:36

"name: type = value" .. I moved away from Pascal/Delphi some 10 years ago. Seems it won't let me go :D

Ответить
@lajos76nagy
@lajos76nagy - 15.02.2023 03:44

Here's rooting for C++2 syntax to become reality and the default for future C++ versions!

Ответить
@klespio
@klespio - 31.01.2023 14:52

Amazing work!

Ответить
@ProrokLebioda
@ProrokLebioda - 29.01.2023 01:40

C++++ sounds like an interesting concept!

Ответить