C++ Links - 22nd - 28th September

4th episode of the most useful C++ links smile

C++ Links #4

by Bartlomiej Filipek & Wojciech Razik

From the article:

Welcome to new C++ Links - most important and useful articles, podcasts and videos that happen between 22th and 28th of September.

This week CppCon took place - the biggest C++ conference. In today’s list, you will find the first video from there, about future of C++, you can also see a post about removing duplicate elements from associative containers and an example of really defensive programming.

CppCon 2018: Patterns and Techniques Used in the Houdini 3D Graphics Application -- Mark Elendt

cppcon2018-elendt.PNGThe CppCon 2018 Tuesday keynote is now on YouTube:

Patterns and Techniques Used in the Houdini 3D Graphics Application

by Mark Elendt, SideFX

Mark Elendt has been an active practitioner at SideFX software for over 25 years. He works primarily on low level libraries for Houdini but also is the chief author of the mantra production rendering engine. He was honored to receive the Scientific and Technical Academy Award of Merit for his contributions to Houdini.

From the description:

Earlier this year, Mark Elendt and SideFX were awarded the Scientific and Technical Award of Merit for their continued work and innovation on the Houdini Visual Effects software package.

Not only has Houdini been used in all of the Visual Effects Academy Award winning films of the past 10 years, but it has also been used for television shows like Game of Thrones and Stranger Things as well as content creation for many AAA video games, and even for scientific visualization.

Houdini artists are tasked with creating amazing, never before seen visual effects. They constantly push both performance and scale in the software. Since the early 1990's Houdini's C++ architecture has provided a flexible platform that has enabled artists from around the world to create their vision.

Mark will discuss some of the patterns and approaches that have been used in Houdini to meet the demands of production, from the early days of dealing with c-front to embracing modern features provided by modern C++.

CppCon 2018: Concepts, The Future of Generic Programming (the future is here) -- Bjarne Stroustrup

cppcon2018-stroustrup.PNGYesterday's opening keynote is now on YouTube:

Concepts: The Future of Generic Programming (the future is here)

by Bjarne Stroustrup

Note: The conference still intends to professionally caption the videos, but for the keynotes the primary goal is to get them up as quickly as possible. The automatic YouTube captions are available now and have fairly decent quality.

CppCast Episode 168: CppCon Preview with Bryce Adelstein Lelbach

Episode 168 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Bryce Adelstein Lelbach to discuss his work on the upcoming CppCon conference, his thoughts on the graphics proposal and more.

CppCast Episode 168: CppCon Preview with Bryce Adelstein Lelbach

by Rob Irving and Jason Turner

About the interviewee:

Bryce Adelstein Lelbach is a software engineer on the CUDA driver team at NVIDIA. Bryce is passionate about parallel programming. He maintains Thrust, the CUDA C++ core library. He is also one of the initial developers of the HPX C++ runtime system. He spent five years working on HPX while he was at Louisiana State University's Center for ComCppputation and Technology, and three years at Lawrence Berkeley National Laboratory (a US Department of Energy research facility) developing and analyzing new parallel programming models for exascale and post-Moore architectures. He also helped start the LLVMLinux initiative, and has occasionally contributed to the Boost C++ libraries. Bryce is an organizer for the C++Now and CppCon conferences as well as the Bay Area C++ user group, and he is passionate about C++ community development. He is a member of the ISO C++ standard committee. He worked on the C++17 parallel algorithms; today, he works on standardizing better futures, executors, and multi-dimensional arrays.

Deterministic Disappointment -- Niall Douglas

All the ways past, present and future that one can disappoint deterministically in C++.

Deterministic Disappointment

by Niall Douglas

Content of the talk:

1. What is disappointment?
2. What is determinism?
3. The direction of C++
4. Future disappointment in C++?
5. Achieving the future today
   a. C++ 11 system_error
   b. C++ 11 P1028 SG14 status_code
   c. C++ 14 (Boost.) Outcome

 

CLion started 2018.3 EAP by adding initial remote dev support

CLion started 2018.3 Early Access Program with one of the most awaited feature request – remote development support

Stay local, let your IDE do remote work for you!

by Anastasia Kazakova

From the article:

We’ve started with a particular set-up, though we do plan to cover and come to up with more cases in the future. So we are calling the current support state – initial:

  • Local client machine: Unix-like (macOS, Linux)
  • Remote host: Linux
  • Sources location: originally on the local host, CLion will synchronize to the remote machine for you
  • Project model: only CMake projects
  • rsync is required to be installed on a remote host

 

The case for Auto Non-Static Data Member Initializers -- Corentin Jabot

The case for Auto Non-Static Data Member Initializers

By Corentin Jabot

 

From the article:

In this article, we talk about Auto Non-Static Data Member Initializers in C++. All code snippet can be tested on Compiler Explorer thanks to Matt Godbolt.

In fact, the main motivation for this article is to put this feature in the hand of people to prove that it works and that it would be a great addition to the standard.

CppCon 2017: Web | C++--Lukas Bergdoll

Have you registered for CppCon 2018 in September? Late registration is open now.

While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2017 for you to enjoy. Here is today’s feature:

Web | C++

by Lukas Bergdoll

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

Have you ever tried writing a web application with C++? Can opening a file and serving it via HTTP be as simple as writing 20 lines of python? With the undeniable importance of web development, C++ can not allow itself to ignore such an important field, especially with the rising competition in the field of system programming languages, coming from Rust, D and Go.

Join us as we explore modern approaches to asynchronous IO, socket communication the advantages and disadvantages of using a unikernel and their respective performance implications.

We'll also take a look at how future iterations of the C++ standard library, could solve some of those problems.