Комментарии:
Worst notebook ever 😂
Ответить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.
Ответитьi:=0 ? Did they hire Niklaus Wirth from retirement on the C++ commitee or something ? I have a 1990 dejavu.
Ответитьcope. just use beeflang
Ответитьfinally a somewhat realistic approach to this, instead of "let's just dump existing codebases and create a new perfect language"
Ответитьnow thats ridiculus on so many levels
ОтветитьSo if we really do need a successor, having looked at all the contenders, I can get behind Herbs cpp2.
ОтветитьWhy do people keep wanting to turn red apple into apple:red?
Behind reason this can understand I not.
Will this become a part of C++ Standard? Or just an alternative syntax like TypeScript for JavaScript?
ОтветитьOnly c++ devs could look you in the face and say they like the status of c++ package management
Ответить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.
C and C++ cannot be salvaged. They must be declared legacy languages. Insisting on them will only perpetuate the mistakes of the past.
Ответить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?
ОтветитьI'm sceptical, but some of the ideas were great.
ОтветитьI hope the experiment becomes reality.
Ответить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.
Ответить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.
Ответитьhe's wrong about integer overflow though, it's not just a bounds safety issue
ОтветитьIn addition to his technical skills, Herb is an excellent presenter and leader.
ОтветитьOne more thing: C++ can never be called "simple" until its std libs become more down-to-earth, especially string things
Ответить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)
Ответить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?
Ответить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?
Ransomware is political now? Or are we talking about freemiumware trial periods expiring? I could be wrong...
ОтветитьFirst time watching one of his talks. Didn't know John Cena gave C++ talks!
Ответить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.
Ответить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.
ОтветитьI love programming in straight C. Maybe this is what I needed to jump into C++.
ОтветитьIt looks like Herb just reads my mind almost word for word, and it is so weird 😳
Ответить<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.
I want this so bad
ОтветитьYou will end up writing Fortran in Scratchpad/Axiom/Fricas syntax.
ОтветитьHerb Sutter is a dang hunk!
ОтветитьSo why dont make it simpler, especially less heavier !!?
ОтветитьVery interesting and thought-provoking talk, love the experiment proposed here
ОтветитьThis is gonna hurt my job security! STOP!!!!!
Ответить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.
Ответить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?
Ответить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.
Ответить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.
"name: type = value" .. I moved away from Pascal/Delphi some 10 years ago. Seems it won't let me go :D
ОтветитьHere's rooting for C++2 syntax to become reality and the default for future C++ versions!
ОтветитьAmazing work!
ОтветитьC++++ sounds like an interesting concept!
Ответить