On the Ground at CppCon 2014

I composed this review of CppCon 2014, and think it might be interesting to the ISOCPP audience.


On the Ground at CppCon 2014

I’ve just returned from the week-long CppCon 2014 in Bellevue, Washington. Here’s what I experienced.

I’ve absorbed a great deal from a variety of C++ developer conferences -- CppNow, Going Native, C++ And Beyond -- but always virtually, via video and webcast. This was an opportunity to jump into the thick of things and participate in person. With community heavyweights like Herb Sutter and Scott Meyers in attendance I knew the content would be stimulating and informative. (Honestly, the speaker list featured nearly every name in the “C++ royalty” that you could imagine. I smiled to myself seeing Bjarne Stroustrup standing in the registration line like he was just another attendee.) So when the conference’s early-bird admission opened in March, I eagerly sent in my hard-earned dollars and blocked off the week of September eighth on my calendar...

Continue reading...


Trip Report: CppCon Just Ended—Charley

As folks are heading home, a number are writing up trip reports for the companies or colleagues. Here's one from the Qt community:

CppCon Just Ended

by Charley

From the post:

Apologies for cross-post qt-interest and qt-dev, but wanted to be sure both groups saw the announcement for next year (20-25 Sep-2015).

WOW AGAIN for a great conference.  Really heavy-hitters there, with information I don't know is available elsewhere...

This was a "first-year" conference, and it was a huge success (about 600 people, it exceeded their goals).  There is a strong possibility that it will double in size for next year, and they have a venue that can handle that...

Even though it was a "first-year" conference, it is interesting to note that a "culture" is clearly starting to form.  It was incredibly open, and collegiate, and supportive across the different industries and companies -- for newcomers and for experienced people (although it is most definitely a place where experienced people can finally discuss their advanced issues when they have nobody else at their company to help).

These were incredibly smart people merely coming together to talk about problems and solutions and experiences in using and growing C++.  I'm going back again next year (assuming their restraining order against me has expired by then).

CppCon 2014 is done—Jon Kalb


CppCon 2014 is done

by Jon Kalb

From the article:

Some of the announcements made at the close of the conference include the fact that conference tee shirts are now available on our on-line store, presentation notes will be available on git hub, and our dates for next year will be September 20 – 25, 2015.

Before looking to next year and CppCon 2015, I’d like to thank all the people that made CppCon 2014 such a big success. First I’d like to thank the sponsors whose support is critical to the existence of the conference. I’d also like to thank all the presenters whose content made the conference what it is; the keynotes, the regular program presenters, the panelists and moderators, the Open Content presenters, and the Lightning Talk presenters. These presenters are busy, smart people, but they’ve taken the time to create presentations that excited attendees from all over the world.

I’ve a very big thanks for the conference staff who did so many things in so many ways to make this week-long experience valuable for our almost six hundred attendees.

Finally, and most importantly, I want to thank the attendees. They are the real value and attraction of this conference.

I can’t wait to see you all again next year.


CppCon news: Dropbox announces and open sources C++ Djinni for iOS/Android cross-platform apps

djinni.PNGAt CppCon last week, Dropbox announced Djinni (pronounced "genie"), a new open source C++ library. From the announcement:

Djinni is a tool for generating cross-language type declarations and interface bindings. It's designed to connect C++ with either Java or Objective-C.

We at Dropbox use Djinni to interface cross-platform C++ library code with platform-specific Java and Objective-C on Android and iOS.

We announced Djinni at CppCon 2014. See the slides here: Video coming soon!

Main Features

  • Generates parallel C++, Java and Objective-C type definitions from a single interface description file.
  • Supports the intersection of the three core languages' primitive types, and user-defined enums, records, and interfaces.
  • Generates interface code allowing bidirectional calls between C++ and Java (with JNI) or Objective-C (with Objective-C++).
  • Can autogenerate comparator functions (equality, ordering) on data types.

Dropbox's CppCon talk slides explain more details, including that Dropbox is using C++ not for "legacy" reasons. Rather, Dropbox is "building (mostly) new apps. Not dealing with lots of legacy code. Not dealing with (very) old platforms. We're building multiple apps." And the language of choice for having a single source code base that can target iOS, Android, OS X, Linux, and Windows is... C++. Their approach is to use C++ for the common code, and a thin bridge (via Djinni) to the Java-specific code on Android, the Objective-C-specific code on iOS, and so on.

A full video of the presentation will be available in approximately one month.

Trip Report: CppCon 2014

CppCon 2014 was a blast. It lived up to its goal of being an inclusive event "by the C++ community for the C++ community" -- for the world's top experts and for students, from formal talks to lightning rounds and hallway hacking.

The festival atmosphere went on around the clock all week long, starting with daily 8:00am welcome/lightning talks, through the daily keynotes with live music followed by six tracks of sessions, through to well-attended evening sessions and panels ending at 10:00pm every night with people still lingering, reluctant to leave. All of us were running on little sleep because we didn't want to miss anything, but somehow it didn't seem to matter -- we should have been exhausted, but instead people kept commenting about how we felt energized instead.

It was a week for everyone: Talks and panels featured both established experts and first-time presenters and self-published authors. Session levels ranged from cutting-edge metaprogramming, to Stroustrup's keynote of "Keep Simple Things Simple!" Lightning talks overflowed, then overflowed again. Technical material ranged from modern C++ language topics, to Mars Rover flight control software, to the current hot trend of C++ being adopted as the "write once, target anywhere" language of choice for cross-platform iOS/Android/Mac/Windows apps at Dropbox, Office, Facebook, and more; we'll be sure to hear a lot more about that in the coming months and years.

All week long, advanced developers found themselves able to talk through design questions together with peers they wouldn't have met otherwise, and come up with solutions they couldn't find at home. At the same time, scores of students and other newcomers to C++ enjoyed the broad content and relaxed environment. It's telling that the book that the on-site bookstore kept selling out of was not some esoteric template tome, but Stroustrup's 180-page overview A Tour of C++. The C++ community is growing and inclusive, with lots of advanced folks and also new people, and both CppCon and C++ itself are very much for all of them.

Even top authors and experts broke new ground they wouldn't have been able to do if not face to face. Thanks to discussions at CppCon, it looks like a number of us, including Scott Meyers and Bjarne Stroustrup, are converging on "forwarding references" as the new and better term for "universal references," and confirm the simple default parameter-passing advice for modern C++ (spoiler: same as C++98). See the final slides of my closing plenary session for details on these developments.

As we return home in the afterglow, remember that all sessions were recorded and videos will be posted online in the next month or so. Slide handouts are already mostly posted for your reading pleasure. And CppCon 2015 will be on September 20-25 next year... mark your calendars.

Huge thanks again to the 150+ speakers, planners, and volunteers without whom this wonderful "C++ festival" (as several people spontaneously called it) would not have been possible. I had guardedly high hopes for the event, but I think it exceeded all our expectations. This was the most exciting and enlightening week I've experienced in my 20 years of C++, and I'm still catching my breath. I can't wait until September 2015.

C++14 is Ratified: The View from the June 2014 C++ Standard Meeting—Michael Wong

An update on C++ standardization from Michael Wong, who is here at CppCon this week.

C++14 is Ratified: The View from the June 2014 C++ Standard Meeting

by Michael Wong

From the article:

We had one C++ Standard meeting since my last blog post for Issaquah Standard meeting, and that was in Rapperswil, Switzerland in June 16-21. ...

As I am writing this (which is much delayed due to workload and preparation for airplane time again as I begin my fall business trip after 2 months home working on a special project), I am back in [the Seattle area] to attend CPPCon giving 2 talks, 3 panels, and several interviews....

Lambda Over Lambda in C++14—Chris Kohlhepp

A nice complement to the C++14 lambda article we linked to yesterday:

Lambda Over Lambda in C++14: The Convergence of Modern C++ on the Lisp Programming Style, Part II

by Chris Kohlhepp

From the article:

Let us see how that simplifies under C++14 and generic lambdas.

Three observations are striking immediately:
1) The use case for a template has disappeared entirely. We simply have a generic function argument x. This matches Lisp.

2) The code is now entirely as brief as Lisp. Where Lisp has a lot of parenthesis, this style of coding develops a lot of “autos.”

3) The mechanics are identical also. Both functions are actually named lambdas...

C++14 Lambda Tutorial—Sol

cpp-lambda-tutorial.PNGBuilding on recent C++11 lambda tutorials we've linked to recently, here's one about the brand-new lambda features in C++14:

C++14 Lambda Tutorial

by Sol

From the article:

The last iteration of C++, C++14 was approved this month. C++14 brings a few much anticipated changes to the C++11 standard, like allowing auto to be used as the return type of a function, or generic lambdas -- the subject of this article...

Introduction to Type Traits in the C++ standard library—Yvonne Ma

"Are you an enum?" "Are you polymorphic?" The answers to these type questions and more are already in your C++11 standard library:

Introduction to Type Traits in the C++ standard library

by Yvonne Ma

From the article:

... As its name suggests, Type Traits exposes different characteristics of types, or simply the “type of type”. In many C++ programming practices, especially these in template metaprogramming, developers may find it difficult to build a template work for all types without knowing the characteristics of a type. That’s the key reason for the emergence of Type Trait...