Opening Keynote Meeting C++ 2019 - Howard Hinnant
The first keynote of this years Meeting C++ conference is online:
Opening Keynote Meeting C++ 2019 - Howard Hinnant - Design Rationale for the chrono Library
by Howard Hinnant
November 14-16, Berlin, Germany
November 18-23, Wrocław, Poland
November 25, Wrocław, Poland
February 10-15, Hagenberg, Austria
March 19-21, Madrid, Spain
April 1-4, Bristol, UK
June 16-21, Sofia, Bulgaria
By Meeting C++ | Dec 6, 2019 10:42 AM | Tags: performance meetingcpp intermediate howard hinnant experimental efficiency community chrono c++20 c++17 c++14 c++11 basics advanced
The first keynote of this years Meeting C++ conference is online:
Opening Keynote Meeting C++ 2019 - Howard Hinnant - Design Rationale for the chrono Library
by Howard Hinnant
By Meeting C++ | Dec 5, 2019 10:06 AM | Tags: meetingcpp intermediate community c++20 c++17 c++11 basics advanced
The lightning talks from Meeting C++ 2019 are now online!
Meeting C++ Youtube Channel
by Jens Weller
From the article:
A few lightning talks I'd like to point to:
Finding hard to find bugs with Address Sanitizer - Marshall Clow
Consistently Inconsistent - Conor Hoekstra
By Ansel Sermersheim | Dec 3, 2019 03:32 AM | Tags: None
New video on the CopperSpice YouTube Channel:
CsPaint - Rendering with Vulkan
by Barbara Geller and Ansel Sermersheim
About the video:
In this video, we discuss the CsPaint library and why vector graphics rendered on the GPU are going to become more important as high DPI monitors become more common. We also explain why Vulkan can provide better performance than OpenGL.
Please take a look and remember to subscribe!
By Adrien Hamelin | Nov 11, 2019 10:40 AM | Tags: community
Take a listen.
CRTP and Israel Joining the C++ ISO
by CppCast
Summary of the podcast:
- Doubling the speed of std::uniform_int_distribution in the GNU C++ library
- Benchmarking is hard: processors learn to predict branches
- Boost.UT C++20 macro-free Unit Testing Framework
- C++20 The Big Four
- ASAN for Windows with MSVC
By Adrien Hamelin | Nov 11, 2019 10:36 AM | Tags: advanced
Take a listen.
Bjarne Stroustrup: C++ | Artificial Intelligence (AI) Podcast
by Lex Fridman
Summary of the podcast:
Bjarne Stroustrup is the creator of C++, a programming language that after 40 years is still one of the most popular and powerful languages in the world. Its focus on fast, stable, robust code underlies many of the biggest systems in the world that we have come to rely on as a society. If you're watching this on YouTube, many of the critical back-end component of YouTube are written in C++. Same goes for Google, Facebook, Amazon, Twitter, most Microsoft applications, Adobe applications, most database systems, and most physical systems that operate in the real-world like cars, robots, rockets that launch us into space and one day will land us on Mars. This conversation is part of the Artificial Intelligence podcast.
By Ansel Sermersheim | Oct 20, 2019 08:55 AM | Tags: None
New video on the CopperSpice YouTube Channel:
std::variant
by Barbara Geller and Ansel Sermersheim
About the video:
In this video, we discuss the std::variant class and its relationship to C++ unions. We explore the drawbacks and constraints of the union abstraction in C++, how they changed in C++11, and how variant addresses many of these shortcomings.
Please take a look and remember to subscribe!
By Adrien Hamelin | Sep 23, 2019 11:58 AM | Tags: community
What do you think about it?
De-fragmenting C++: Making Exceptions and RTTI More Affordable and Usable
by Herb Sutter
From the video:
A fundamental reason why C++ is successful and loved is its adherence to Stroustrup’s zero-overhead principle: You don’t pay for what you don’t use, and if you do use a feature you can’t reasonably code it better by hand. In the C++ language itself, there are only two features that violate the zero-overhead principle, exception handling and RTTI – and, unsurprisingly, these are also the only two C++ language features that every C++ compiler has switches to turn off and that are regularly discouraged or even banned. This matters because not using these features is the largest current cause of fragmentation of the C++ community into incompatible dialects, and the cause of recurring problems including type confusion security vulnerabilities arising from “didn’t down-cast using dynamic_cast because that would be too slow.” This talk is about ongoing long-term efforts to try to unify the community in this area, not by replacing exceptions and RTTI, but by doubling down: fully embracing exceptions and RTTI, and improving them so they can be zero-overhead too.
By Adrien Hamelin | Sep 23, 2019 11:56 AM | Tags: community
More are coming!
Better Code: Relationships
by Sean Parent
From the video:
Computer scientists are bad at relationships. Nearly every program crash is rooted in a mismanaged relationship, yet we spend most of our time discussing types and functions and not the relationships connecting them together. This talk looks at common ways data and code are connected in an application, how those relationships are typically represented, and the problems caused by the use, and misuse of these paradigms. Then we'll look at ways to model these relationships in C++ and use them to build correct applications.
By Adrien Hamelin | Sep 19, 2019 12:04 PM | Tags: None
The first videos are becoming available.
Applied WebAssembly: Compiling and Running C++ in Your Web Browser
by Ben Smith
From the video:
WebAssembly is a new technology in all modern browsers designed to let you run high-performance code. Maybe you've heard of WebAssembly before, read an article or two, or even tried to use it with your software project. Since WebAssembly is a low-level language, it's easy to get bogged down in the technical details, and leave without knowing whether WebAssembly will be useful for you. In this talk, I'll take a top-down approach, showing a real problem and how WebAssembly can help.
From August to December this year, I'll be teaching C++ to students at Morehouse College. Having a tool like Compiler Explorer is invaluable as a teaching aid, since it allows the students to immediately see C++ compilation results, on any device that has a web browser. But Compiler Explorer and tools like it require a server to do compilation, so they're hard to use offline. With WebAssembly, we can run the compiler client-side, in the browser, no server required.
First, I'll show how I ported the clang compiler and linker to WebAssembly. Since Clang 8 supports WebAssembly as a compilation target, we can even run the resulting executable sandboxed in the browser. Next, we'll dive into how Clang compiles C++ constructs into WebAssembly. Finally, we'll look at some of the new WebAssembly features in development.
By Adrien Hamelin | Sep 18, 2019 12:38 PM | Tags: community
The first videos are arriving!
Speed Is Found In The Minds of People
by Andrei Alexandrescu
From the video:
In all likelihood, sorting is one of the most researched classes of algorithms. It is a fundamental task in Computer Science, both on its own and as a step in other algorithms. Efficient algorithms for sorting and searching are now taught in core undergraduate classes. Are they at their best, or is there more blood to squeeze from that stone? This talk will explore a few less known – but more allegro! – variants of classic sorting algorithms. And as they say, the road matters more than the destination. Along the way, we'll encounter many wondrous surprises and we'll learn how to cope with the puzzling behavior of modern complex architectures.