News

CppCon 2015 Large Scale C++ with Modules: What You Should Know--Gabriel Dos Reis

Have you registered for CppCon 2016 in September? Don’t delay – Registration is open now.

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

Large Scale C++ with Modules: What You Should Know

by Gabriel Dos Reis

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

“Modules” are a frequently requested and long-awaited feature by C++ programmers. In a nutshell, the idea is to have a direct language support for (a) expressing the boundaries and dependencies of a program component; (b) isolating source codes from macro vagaries; (c) scaling compile time, especially for large projects, given the ubiquity of “headers-only” template libraries; (d) spur innovation and deployment of semantics-aware developer tools.

This presentation will focus on three major points: (1) the design of the module proposal currently being considered by the C++ standards committee (design goals, properties, constraints); (2) implementations currently under way; and (3) early user experience and migration.

Modules directly address a problem (scalability) listed as one of the three major areas where C++17 is expected to significantly improve daily experience of the working C++ programmer. Naturally, this feature is also on the top ten list of C++17 functionalities Bjarne Stroustrup put forward in his “Thought on C++17.”

HPX version 0.9.99 released -- STE||AR Group

The STE||AR Group has released V0.9.99 of HPX -- A general purpose parallel C++ runtime system for applications of any scale.

HPX V0.9.99 Released

The newest version of HPX (V0.9.99) is now available for download! Please see here for the release notes.

HPX exposes an API fully conforming to the concurrency related parts of the C++11/C++14/C++17 standards, extended and applied to distributed and heterogeneous computing, and aligned with the ongoing standardization discussions.

From the announcement:

  • Version 1.0 approaches! This release is significant as HPX is nearly feature complete. Over the next several months we will continue to test and polish HPX’s API and documentation. The feedback and experience gained from the community’s utilization of this release will provide guidance on where to add the finishing touches for V1.0.
  • We have put a lot of effort into improving the overall performance and stability of the library. Applications written using HPX have shown to outperform equivalent applications which are based on more conventional parallelization methods.
  • In this release we finished the implementation of transparent migration of components to another locality (e.g. physical compute-node). It is now possible to trigger a migration operation without ‘stopping the world’ for the object to migrate. HPX will make sure that no work is being executed on the object while it is moved and that all subsequently scheduled work for the migrated object will be transparently forwarded to the new locality. The global address of the migrated object does not change, thus the application will not have to be changed in any way to support this new functionality.

 

CppCon 2016 Program Preview: Concurrency, Modules and Finance

We have more CppCon 2016 program previews today! A selection of talks on concurrency, modules and finance, including talks by Hans Boehm, Anthony Williams and Richard Smith.

Program Preview: Concurrency, Modules, Finance

From the article:

Speaking for the first time in the US, Anthony Williams, the maintainer of Boost.Thread and the author of C++ Concurrency in Action will be joining us this year at CppCon! His talk, The Continuing Future of Concurrency in C++, will provide overview of the additions to the standard C++ concurrency libraries in the Technical Specifications for Concurrency and Parallelism and the C++14 and C++17 standards. ... [and much more]

CppCast Episode 63: IncludeOS with Alfred Bratterud

Episode 63 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Alfred Bratterud, CEO of IncludeOS to discuss Microservice applications with the IncludeOS platform.

CppCast Episode 63: IncludeOS with Alfred Bratterud

by Rob Irving and Jason Turner

About the interviewee:

Alfred has been doing research towards IncludeOS since 2013, and got a PhD scholarship based on the early work in 2014. The IEEE CloudCom paper introducing the IncludeOS prototype was published in 2015 and he spun out a startup around IncludeOS in 2016, in collaboration with Oslo and Akershus university college (the largest institution for engineering education in Norway). He's currently focusing 100% on developing IncludeOS from research experiment to a production ready platform for cloud services.

Alfred holds BSc and MSc in computer science, with focus on logic and computability, from the university of Oslo. He has 10+ years of industrial programming experience, mostly in web services. He's been working at Oslo university college since 2011, teaching various subjects ranging from operating systems, sysadmin and firewalls to web development. He started learning C++ when he took over a C++ course at the college in 2011. A very good year to start C++.

CppCon 2015 Organizational Leadership with Modern C++--Kevin Kostrzewa & Johm Wyman

Have you registered for CppCon 2016 in September? Don’t delay – Registration is open now.

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

Organizational Leadership with Modern C++

by Kevin Kostrzewa & Johm Wyman

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

With the "C++ Renaissance" it is imperative that the technical leadership prove their mettle to lead a large organization into adopting modern practices and idioms.

In this talk, John and Kevin will discuss various techniques that they have employed to help drive their large development organization (~ 75 software engineers) towards a culture of modernization - some techniques that have worked well, and some that have not.

This will not be a discussion on specifics and nuances of the language. This is more a "fuzzy" discussion on what it means to be both at the forefront of the language and a leader / champion for your peers.

CppCon 2015 completion T : Improving the future T with monads--Travis Gockel

Have you registered for CppCon 2016 in September? Don’t delay – Registration is open now.

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

completion T : Improving the future T with monads

by Travis Gockel

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

std::future provides us a mechanism for asynchronous communication between a provider and receiver. However, the C++14 standard does not allow for actual asynchronous programming, as the only ways to interact with an std::future are blocking calls. The proposed then helps, but the interface is awkward and can be extremely slow when handling exceptions. Here, I will talk about completion a high-performance, async-only and monadic alternative to std::future and how it is used at SolidFire.

CppCon 2016: Dan Saks Keynote and Some Program Previews (Embedded, Coroutines and Accelerators)

<img alt="" data-cke-saved-src="http://cppcon.org/wp-content/uploads/2015/11/DanSaksbw-225x300.jpeg" src="http://cppcon.org/wp-content/uploads/2015/11/DanSaksbw-225x300.jpeg" 225px;="" height:="" 300px;="" float:="" left;"="" style="float: right;">

I'm very pleased to announce that Dan Saks will be one of the keynotes at CppCon 2016! Dan is one of the world's leading experts on the C and C++ programming languages and their use in developing embedded systems.

He is the president of Saks & Associates, which offers training and consulting in C, C++ and embedded programming. Dan has previously served as secretary of the ANSI and ISO C++ Standards committees and as a member of the ANSI C Standards committee.

Dan used to write the “Programming Pointers” column for embedded.com. He has also written for numerous publications including The C/C++ Users Journal, The C++ Report, The Journal of C Language Translation, Software Development, Embedded Systems Design and Dr. Dobb's Journal. With Thomas Plum, he wrote C++ Programming Guidelines, which won a 1992 Computer Language Magazine Productivity Award. He has presented at conferences such as Software Development and Embedded Systems. More recently, he contributed to the CERT Secure C Coding Standard and the CERT Secure C++ Coding Standard.

Dan's keynote, extern “C”: Talking to C Programmers About C++, will be about migrating C code (and C programmers) to modern C++:

Most of us have heard this story. We’ve even told it ourselves… C++ is nearly all of C, plus a whole lot more. Migrating code from C to C++ is pretty easy. Moreover, the migration itself can yield immediate benefits by exposing questionable type conversions that can be sources of latent bugs. After migration, the code performs as well in C++ as in the original C. And now that it’s C++, you have ready access to a wealth of advanced features you can (but don’t have to) use to implement enhancements. Who wouldn’t want that? Legions of C programmers, apparently. Despite the success of C++ in numerous application domains, C remains considerably more popular, especially in embedded, automotive, and aerospace applications. In many cases, projects resist C++ because their managers think the risks outweigh the benefits. In other cases, the resistance comes from programmers who persist in believing bad things about C++, even when those things aren’t true. What can the C++ community do to overcome this resistance? Drawing on lessons from cognitive science, linguistics and psychology, and (of course) computer science, this talk offers suggestions about how to make the case for C++ more persuasive to C programmers.

We've also got some CppCon program previews from three tracks today. The full program will be announced this Sunday. Here's some of our content on embedded programming:

We've also got a lot of great talks about the upcoming Coroutines TS:

And finally, some talks about accelerator and GPU programming:

Come join us at CppCon in Bellevue this September - registration is still open!

 

-- Bryce Adelstein Lelbach, CppCon Program Committee