CppCon 2015: Bjarne Stroustrup “Writing Good C++14”
CppCon2 HN recommenders · 2016–2018
351K views · talk · dated · Uploaded 2015-09-23
Bjarne Stroustrup's CppCon 2015 keynote on using C++14 to write better code, not just different code. It introduces the C++ Core Guidelines and the machine-checkable rules and GSL library behind them.
HN people recommend it as the starting point for modern C++ and for the language's safety story.
1:12:27CppCon 2015: Andrei Alexandrescu “std::allocator...”
CppCon
51:18Lexical Scanning in Go - Rob Pike
GoogleFOSSSydney
59:34CppCon 2017: Matt Kulukundis “Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step”
CppCon
42:30RustConf 2018 - Closing Keynote - Using Rust For Game Development by Catherine West
Rust Programming Language
1:19:52CppCon 2016: Jason Turner “Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17”
CppCon
1:55:24Ideas about a new programming language for games.
Jonathan Blow
1:27:46CppCon 2014: Mike Acton "Data-Oriented Design and C++"
CppCon
2:11:32How I program C
Eskil Steenberg
8 comments from Hacker News
There are some great talks by Neil MacIntosh about the kinds of static analysis they are building into the tool. CppCon 2015: Neil MacIntosh “Static Analysis and C++: More Than Lint" [LINK] CppCon 2015: Neil MacIntosh “Evolving array_view and string_view for safe C++ code" [LINK] For something of this magnitude I wouldn't consider the project late until mid summer. Stroustrup's keynote at CppCon is a great overview of the semantics they want to support and the errors that the tooling with will prevent. [VIDEO]
There is this cppcon presentation by Stroustrup where he is talking about the GSL annotations [VIDEO] but too bad that it all depends on this unreleased big black box proprietary code analysis tool.
You should watch those cppcon again, because Stroustrup and Herb are saying there many times that smart pointers are NOT should be use instead of raw pointers. Use smart pointers where It's about ownership. You should watch this video: [VIDEO]
Background upfront: I'm the guy behind the C++ interpreter and ROOT's new interfaces. I'm the co-author of the only surviving C++ reflection proposal and the author of the std::variant proposal. I have contributed to the C++ Core Guidelines ( [LINK] [VIDEO] ). * HEP stores about 0.5 exabytes of data in ROOT format, that's almost exclusively serialized objects that do not know anything about TObject. * XRootD is not really specific for ROOT files. A better example would maybe be our JavaScript de-serialization library, [LINK] * No way will the python binding be dropped. I wonder where you got that rumor from. About one third of our users is using it. * HEP is limited by CPU resources, which is part of the reason why HEP decided to use a close-to-bare-metal language for the number crunching part. * We just made the use of python and R multivariate analysis tools with ROOT data more straightforward. * We have people from genomics etc coming to ask for help, because they cannot find a system that scales as well as ROOT does. And then we have a different perception of the direction out there. I see that Hadoop was nice but slow, Spark is nice but slow, so now things are moving to C++, see e.g. ScyllaDB. There is no reason for us to move away from it, but every reason to make it more usable. And yes, I agree that this is an issue. But many physicists do not.
It's hardly modern C++ what you will see in this talk. Mike Acton even said that they only use C++ because it's game industry standard but he would prefer C. If you want to start with modern c++ watch this: CppCon 2015: Bjarne Stroustrup “Writing Good C++14” [VIDEO]
i remember that Bjarne Stroustrup held a talk in cppcon15 where he talked a lot about the GSL library [1] - it would add type annotations that can be checked by a tool, so as to check for potential memory problems (to me that sounds like a poor man's borrow checker). One year later: i see the template library [1] but i don't see the analysis tool. Does anybody know what happened with this initiative? [1] [VIDEO] [2] [LINK]
Stroustrup has proposed a way to add safety to C++. It's called "C++ Core Guidelines", and "GSL". [LINK] [LINK] I watched his talk -- wondering if anyone is using it. [VIDEO] Using GSL gives adds some safety to pointers and memory allocation -- while providing the bare-metal performance that C is known for. (It still feels very low-level.)
The major issue with C++, is what also helped the language gain market adoption, copy-paste compatibility with most of C89 code. So security conscious C++ developers tend to use enum class , string, vector and array classes, RAII, iostreams, wrapping data access in classes with invariants,... Developers with more C oriented mindset, tend to just code away like "C with C++ compiler" programming style. Hence the need being discussing since the last three CppCon, to stop using C style programming in modern C++. CppCon 2015: Kate Gregory “Stop Teaching C" - [LINK] CppCon 2015: Bjarne Stroustrup “Writing Good C++14” - [VIDEO] CppCon 2017: Bjarne Stroustrup “Learning and Teaching Modern C++” - [LINK] Of course, preventing copy-paste compatibility with C, already solves many of those issues from the get go.