C++Now 2018 videos are now available!
If you missed the conference, here is your chance to catch up.
C++Now 2018 videos are now available!
March 11-13, Online
March 16-18, Madrid, Spain
March 23-28, Croydon, London, UK
March 30, Kortrijk, Belgium
May 4-8, Aspen, CO, USA
May 4-8, Toronto, Canada
June 8 to 13, Brno, Czechia
June 17-20, Folkestone, UK
September 12-18, Aurora, CO, USA
November 6-8, Berlin, Germany
November 16-21, Búzios, Rio De Janeiro, Brazil
By Adrien Hamelin | Jun 11, 2018 12:37 PM | Tags: community
If you missed the conference, here is your chance to catch up.
C++Now 2018 videos are now available!
By Adrien Hamelin | Jun 11, 2018 12:33 PM | Tags: community
Have you registered for CppCon 2018 in September? Early bird 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:
ThinLTO: Scalable and Incremental Link-Time Optimization
by Teresa Johnson
Summary of the talk:
Whole program optimization enables higher performance in C++ applications, because of the expanded scope for analysis and optimization. However, the memory and time required to optimize the entire program together as a single unit traditionally has made whole program optimization infeasible for complex and large C++ applications, such as those being built at Google. Additionally, traditional whole program optimization frameworks have not supported fast incremental builds. ThinLTO (Thin Link Time Optimization) is a new compilation model that was recently deployed in the LLVM compiler toolchain to enable scalable whole program optimization for these huge C++ applications, and additionally enables the fast incremental builds required for use in day-to-day development.
In this talk we’ll describe why whole program optimization is beneficial for C++ applications, how the ThinLTO compilation model enables scalable and incremental builds, and how ThinLTO can be integrated with distributed build systems for even faster whole program builds. Additionally, we’ll describe implications for C++ developers.
By Adrien Hamelin | Jun 8, 2018 12:25 PM | Tags: community
Have you registered for CppCon 2018 in September? Early bird 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:
The Nightmare of Move Semantics for Trivial Classes
by Nicolai Josuttis
Summary of the talk:
Assume, we implement a very simple class having just multiple string members. Even ordinary application programmer prefer to make it simple and fast.
You think you know how to do it? Well beware! It can become a lot harder than you initially might assume.
So, let’s look at a trivial class with multiple string members and use live coding to see the effect using different implementation approaches (using constructors passing by value, by reference, by perfect forwarding, or doing more sophisticated tricks).
Sooner than later we will fall into the deep darkness of universal/forwarding references, enable_if, type traits, and concepts.
By robwirving | Jun 8, 2018 11:21 AM | Tags: None
Episode 153 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Robert Schumacher from Microsoft to discuss the vcpkg package manager and more.
CppCast Episode 153: Vcpkg with Robert Schumacher
by Rob Irving and Jason Turner
About the interviewee:
Robert Schumacher is a developer on the Microsoft Visual C++ Libraries team and the lead developer for vcpkg. He has previously worked on the MSVC implementation of the Modules TS and is the current maintainer of Cpprestsdk. Besides work, he occasionally indulges in functional programming and arguments about whether inheritance is fundamentally flawed.
By Adrien Hamelin | Jun 6, 2018 11:33 AM | Tags: community
Have you registered for CppCon 2018 in September? Early bird 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:
EA’s Secret Weapon: Packages and Modules
by Scott Wardle
Summary of the talk:
A lot of people hate build systems. What if using a library was just as easy as header-only libraries?
EA has had a Secret Weapon called “packages” for over 14 years. EA's Packages are like Ruby’s Gems or Perl’s CPAN or Rust’s cargo. If you build a package from the package server it will download all of its dependencies.
This talk will be about what we have learned about packages and versioning while building our large AAA games over the last 10+ years. Finally, what do we see for the future, like how will C++ modules fit in?
In detail I will talk about:
-Package layout
-Package server
-Versioning control and packages
-Libraries teams and platform fragmentation
-Packages' effect on large scale architecture
-C++ Modules TS prototypes
By Ansel Sermersheim | Jun 4, 2018 12:41 AM | Tags: None
New video on the CopperSpice YouTube Channel:
Overload Resolution
by Barbara Geller and Ansel Sermersheim
About the video:
This video discusses overload resolution and the complications involved in debugging when the compiler does not choose the overload you think it should. This video was very interesting to put together, since we had no idea how much of the standard you need in order to understand the intricacies of overload resolution. Not only is overload resolution complex, but you also need to understand the details of type conversions and template argument deduction.
Please take a look and remember to subscribe!
By robwirving | Jun 1, 2018 11:26 AM | Tags: None
Episode 152 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Tom Breza, Oliver Ddin and Tristan Brindle to discuss the C++ London Uni group and their approach to teaching C++ to the community.
CppCast Episode 152: C++ London Uni with Tom Breza, Oliver Ddin and Tristan Brindle
by Rob Irving and Jason Turner
About the interviewees:
Tom arrived in London at age 22 with £200 to his name, not knowing a single person. After 6 months Tom managed to start business - PC Service, that provides IT support to SMBs and runs it since then. Tom's team help many customers from small businesses to top celebrities and Royal Families. Now with over 20 years of experience, Tom set his mind on new challenges and decided to learn software development, specifically C++ and helps others to learn through C++ London Uni.
Oliver has been a C++ hater since 2008 - fortunately, that all changed with C++11 and he's firmly an enthusiast now. He's spent his time doing everything from embedded devices to network engineering and now Internet security related endeavours. He's a big proponent of writing software in a style driven by some form of testing and its place in pushing you towards well-architected, maintainable code. In his spare time he also co-organises C++ London Uni which provides free lessons for people wanting to get into developing C++ and the wider ecosystem around it.
Tristan is an independent contractor and C++ enthusiast based in London. He’s particularly interested in standardisation and making C++ an easier language to use and teach. He can be found on Twitter @tristanbrindle and occasionally blogs about C++ at tristanbrindle.com.
By robwirving | May 25, 2018 07:17 AM | Tags: None
Episode 151 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by JeanHeyd Meneide to discuss the sol2 library and his proposal for std::embed.
CppCast Episode 151: sol2 and std::embed with JeanHeyd Meneide
by Rob Irving and Jason Turner
About the interviewee:
ThePhD -- known in meatspace as JeanHeyd -- is a Computer Science undergraduate at the Fu Foundation School of Engineering in Columbia University. They are currently working on Open Source C++ and C++ Standardization projects, as well as exploring graphics programming. They are currently dabbling with Haskell and Elm for fun, and are attempting to wrangle their biggest open source project -- sol2 -- into a newer, better version of itself. The nickname is a std::promise<> on their std::future<>.
By Ansel Sermersheim | May 18, 2018 12:41 PM | Tags: None
New video on the CopperSpice YouTube Channel:
C++ Tapas: typename, virtual, and pure virtual
by Barbara Geller and Ansel Sermersheim
About the video:
Continuing our C++ Tapas series, we discuss the typename keyword, where it is used, and what it means. We also talk about the use and meaning of virtual and pure virtual methods.
Please take a look and remember to subscribe!
By robwirving | May 18, 2018 07:14 AM | Tags: None
Episode 150 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Ben Craig to discuss his proposal for a freestanding C++ Library.
CppCast Episode 150: Freestanding Proposal with Ben Craig
by Rob Irving and Jason Turner
About the interviewee:
Ben is a Principal Software Engineer at National Instruments, primarily developing device drivers for various operating systems (Windows, Linux, Mac, OpenRTOS, vxWorks, ETS Pharlap), and occasionally tinkering with the firmware side of things. Ben is an occasional contributor to libc++ and Apache Thrift.