Dconf 2014 Day 2 Keynote: The Last Thing D Needs -- Scott Meyers
The D Language Foundation4 HN recommenders · recommended in 5 months, 2018-2025
19K views · 8 years ago · talk · evergreen
Scott Meyers' keynote at DConf 2014, drawing on 25 years of C++ experience to offer the D language community a plea about what it should avoid. It centers on the accumulated complexity and pitfalls of C++ as a cautionary tale.
HN commenters bring it up whenever C++ complexity or the pitfalls of language design come up, as a witty and authoritative warning.
49:27DConf 2019: All Spreadsheets Must Die -- Robert Schadek
The D Language Foundation
5K views • 7 years ago
48:19GopherCon 2014 Inside the Gophers Studio with Blake Mizerany
Confreaks
8K views • 12 years ago
1:21:23Interfacing D To Legacy C++ Code
NWCPP - Northwest C++ Users Group
5K views • 11 years ago
12:31OSCON 2010: Rob Pike, "Public Static Void"
O'Reilly
119K views • 16 years ago
1:05:56Lang NEXT 2014 Panel Systems Programming in 2014 and Beyond
25msr
3K views • 8 years ago
56:36GopherCon 2014 Opening Keynote by Rob Pike
Confreaks
38K views • 12 years ago
1:55:24Ideas about a new programming language for games.
Jonathan Blow
530K views • 12 years ago
1:54:00Can C++ be 10x Simpler & Safer? - Herb Sutter - CppCon 2022
CppCon
277K views • 3 years ago
1:29:49Going Native 2012 Keynote Stroustrup
savage309
33K views • 14 years ago
1:36:27CppCon 2016: Dan Saks “extern c: Talking to C Programmers about C++”
CppCon
175K views • 10 years ago
1:38:57Carbon Language Successor Strategy: From C++ Interop to Memory Safety - Chandler Carruth - CppNow 23
CppNow
24K views • 3 years ago
58:24#Gamelab2018 - Jon Blow's Design decisions on creating Jai a new language for game programmers
Gamelab Conference
210K views • 8 years ago
1:07:22Invited Talk - Guy Steele
ClojureTV
39K views • 9 years ago
52:34The Next Programming Language - Douglas Crockford - code::dive 2022
code::dive conference
55K views • 3 years ago
55:08Rust: A Language for the Next 40 Years - Carol Nichols
ChariotSolutions
367K views • 7 years ago
1:01:45Four Languages from Forty Years Ago - Scott Wlaschin
NDC Conferences
33K views • 8 years ago
59:58CppCon 2018: Nicolai Josuttis “The Nightmare of Initialization in C++”
CppCon
79K views • 8 years ago
48:46Rust's Journey to Async/Await
InfoQ
90K views • 6 years ago
1:03:31Brian Goetz - Stewardship: the Sobering Parts
ClojureTV
39K views • 11 years ago
1:00:29Google I/O 2012 - Meet the Go Team
Google for Developers
108K views • 14 years ago
11 comments from Hacker News
Your point on coherence is similar to the perspective of an ex-C++ maintainer. This video came out a decade ago ▶ this video and I feel his lesson went unheeded. It's relevant to the bigger and more dangerous concept of Conceptual Integrity by Fred Brooks.
Scott Myers, author of the extremely popular Effective C++ explainers, gave up on the language because of its churn. ▶ this video
>I'd kill for an "Effective D" book link The Last Thing D Needs - Scott Meyers - DConf 2014 ▶ this video
Instead of defensiveness, why not talk about the ways in which the C++ committee is changing how they're operating (or even leaving ISO) and changing their culture to shore up these things. Look at past Scott Meyers talks (e.g. [1]). He highlights how the committee has arbitrary set of principles that can be applied to justify or reject any proposal and the inconsistencies in the language are a reflection of this. This isn't a problem of the language itself but rather that it's design by committee with 4 major front-end implementations (Intel, MSVC, Clang, GCC although I believe Intel is standardizing on the Clang front-end at least). Organizational issues like that are tough to spot but it's become clear now for several years that Rust is going to beat C++ silly if the C++ committee doesn't clean up their act and steer the C++ community a bit better (e.g. still no ABI specification, no improvements on macros, no standardized build system, modules are a joke, no standardized package system, etc etc). They're not effective stewards not least of which because they can't even take good impactful ideas from Rust and copy them. [1] ▶ this video
I'd say a lot of this is a form of survivorship bias. I've programmed in C++ since the mid 90s so I am used to a lot of C++'s issues, but I also run a company and have to train new engineers and I see first hand the absolute nightmare that a lot of people encounter learning this language and it's demoralizing. While to me a lot of this is stuff I managed to figure out, I also understand that for many new developers this is just crap that no one should have to deal with in 2023. Lack of a good way to build third party libraries, build times that are astronomical and a true productivity killer, error messages that are entirely unhelpful and can produce giant walls of text for the most trivial of reasons, rampant undefined behavior that is incredibly hard to identify. Several things changed my view on C++ and now I see it mostly as a sort of zombie language. 1. As I mentioned once I started my own business and needed to train new engineers on how to use C++, I started to look at the language from a fresh point of view and realized it really is a complex mess just to get basic things working. 2. Scott Meyers "retiring" from C++, and in particular this video: ▶ this video 3. I attended an ISO C++ meeting in Toronto and while I absolutely found that the people were very intelligent and knowledgeable, as well as well intentioned, I realized just how political C++ is and that much of its development and complexity is not due to technical constraints or driven based on what is in the best
It is definitely related to C++ (both in ideology and in participants) and AFAIU even more features, but, for example, Scott Meyers views it[1] as having less random stupid inconsistencies than C++. [1] ▶ this video
I'll just leave this fantastic talk here: The Last Thing D Needs - Scott Meyers (2014) ▶ this video The C++ type system really is quite... complicated.
> You cannot say the same thing about Rust. At least not yet. My fear is it's _very_ easy to fall in to the same trap as C++ has, and become a big mess. Scott Meyers have a very nice talk here: ▶ this video about all these traps and pifalls that we have to deal with in C++. That said, I'm starting a bit with rust and enjoy it so a lot, especially the tooling alone is worth it - and if I never have to write another line of C++, I would be very happy (ofc the real world argues I have a lot of C++ code that will need maintenance).
Yes, and everyone should watch Scott Meyers's awesome presentation at a D conference with the title "The Last Thing D Needs". (tl,dr version: The last thing D needs is someone like him, really to be so insanely convoluted, as C++ is, as to need someone like him.) Link to the video: ▶ this video
> C++ developers .. don't seem to be interested in actually improving the language In his talks at the 2014 and 2017 conferences for the D programming langue, Scott Meyers noted the difference between what individual C++ committee members say they value, and what the process actually produces. Will a new standard every three years make this better or worse? They do seem open to deprecating things that don't work. You might enjoy the 2014 talk, called "The Last Thing D Needs." I don't want to spoil the punchline, which actually struck me as kind of bittersweet, but Scott talked about the distinction that Fred Brooks made in "No Silver Bullet" between essential and accidental complexity. C++ does have a lot of the latter. Edit: link for the 2014 talk: ▶ this video and for the 2017 talk: link
We Really Don't Know How to Compute: Gerry Sussman - link Zebras All the Way Down: Bryan Cantrill - link Jonathan Blow on Deep Work: Jonathan Blow - link Simple Made Easy: Rich Hickey - link Effective Programs - 10 Years of Clojure: Rich Hickey - link The Last Thing D Needs: Scott Meyers - ▶ this video