Note: We publish this report in English as some information might be interesting for a broader audience.
Last November, 30th we had the 5th edition of using std::cpp (the annual C++ conference in Spain). The conference is a one-day free event held every year at University Carlos III of Madrid, in the Higher Polytechnic School in Leganés.
Again, we had around 200 attendees, being most of them profesional developers from industry.
Who attended using std::cpp 2017?
Around 65% of attendees where coming from the Madrid region. However, more than 30% of people came from many other areas in Spain (some of them requiring to travel 400-500 Km).
We used the evaluation forms to get some information that might be of general interest for the C++ community.
First thing we asked was the king of attendee. 90% of them were from industry, 6.7% were academics and we had only 3.3% students. While we are getting a lot of interest in local industry we understand that we must increase our efforts to attract students to the conference.
We tried to better understand what our professional developers are doing:
- 91.3% answered they use C++ in their daily job.
- We tried to understand which versions of the C++ standard they are using. People could make multiple choice to this question. Compared to the answers in 2016 we found that the use of C++11 is stable (74%). However use of C++98/03 is decreasing (46.8% now versus 68% one year ago) and C++14 is increasing (39.2% now versus 21% one year ago). We thought it was premature to ask about C++ 17 this time. However, 8.9% answered they were using some C++ TS, versus 0% one year ago.
- We also asked about the compilers people were using. GCC got 78.8% (60% one year ago), Microsoft got 51.2% (was 57% previous year), clang++ got 35% (14% one year ago), Intel C++ got 7.5% (1.8% one year ago). We even had one person using Embarcadero C++ and 2 people using Sun Oracle C++.
- Most popular platforms were GNU/Linux 75% (57.1 previous year), Windows 61.3% (67.9% last year), MacOS 18.8% (8.95 last year), Android 13.8% (5.4% last year), Solaris 11.3% (3.6% last year) and iOS 7.5% (1.8% last year). Besides that, we also had some individuals working on Arduino, embedded processors, Raspberry Pi, ARM and videoconsoles.
Note that this statistics do not mean that we detected any significant trend and might well be derived in a change of our audience.
We also tried to segment our audience by industry:
- Telco: 17.5%
- Aeroespace/Air traffic: 13.8%
- Videogames: 8.8%
- Developer tools: 8.8%
- Finance: 7.5%
- Security: 6.3%
- Healthcare: 5%
- Civil engineering: 5%
- Consumer electronics: 3.7%
- Defense: 3.5%
- Energy: 2.5%
- Banking: 2.5%
- Transport: 2.5%
- Internet of the Things: 2.5%
- Naval: 2%
- Manufacturing: 1.2%
- Robotics: 1.2%
- Research and Development: 1.2%
As you may see C++ is locally used in many different sectors.
Our talks in 2017
Here is summary of the talks we had this year. Although all talks were given in Spanish several presenters provided slides in English. Even a couple of them came for the event from other countries were they currently work.
If your interested in the videos (in Spanish) you may access all of them here.
- Opening: We had a short opening where a key point was the general congratulation to Bjarne Stroustrup for getting the Faraday Medal. We even showed a short video that was filmed by the IET about Bjarne’s work.
- An Intro to Boost.PolyCollection: Joaquín M. López (independent developer and a contributor to several Boost libraries) presented his latest development: a polymorphic container.
- Why you must NOT use conan: Diego R. Losada (co-author fo the Conan package manager) gave a short presentation trying to convince us not to use its own product. Or was it the other way round? In fact, he gave a good response to every complain about Conan as a C++ package manager.
- Look that sequence… Is it a vector? Is it a list? No! It’s a super-tree!: Marin Knoblauch (Indizen Technologies) gave a talk about trade-offs between linked lists and vectors and approaches using some kinds of trees.
- Introducing Qt Programming: Jesús Fernández (Qt Company) travelling from Finland where he lives and works, introduced Qt for C++ programmers highlighting its current state.
- C++17 Vocabulary Types: Again Joaquin M. López, gave a short talk about main vocabulary types in C++17 and why we should be using them.
- CppCoreGuidelines part 1: Introduction and Philosophy: Juanmi Huertas (HP) came from Barcelona to convince people why they should be following advices from CppCoreGuidelines. He focused on some general principles and gave hints.
- The Hourglass Pattern: David Rodríguez-Ibeas (Blommberg) came from London to presente the Hourglass pattern. If you have to handle with dynamic libraries in C++ this is the pattern you want to apply.
- GrPPI: Simplifying parallel design patterns: J. Daniel Garcia (ARCOSLab, University Carlos III) presented GrPPI (Generic Reusable Parallel Patterns Interface) an effort to provide a set of common patters trying to simplify parallel programming while making use of multiple back-ends.
- Name Lookup, simple: David Rodríguez-Ibeas (Bloomberg) gave a short talk trying to explain and clarify name lookup rules in C++.
- IncludeOS: Experimenting with an unikernel in C++: Jesús Martínez (University of Malaga) presented his experience using includeOS in practice.
- Coroutines: Past, present and future: Manu Sáncez (ByTech) gave a good overview about coroutines and its usefulness for real applications.
- Using use cases for application design in C++: Victor Merino (TOOL) explained his approach for designing applications in C++ that need to be maintained in the long run with use cases and DCI.
- How to save the world while programming? 7 tips on sparing CPU cycles: Juanmi Huertas (HP) came back on stage to give practical tips on how we can get better performance in our applications, or how to avoid spoiling them.
After going through the evaluation forms the best presentation award goes (again) to Joaquin M. López for his talk An Intro to Boost.PolyCollection. Congratulations, Joaquin!
Acknowledgements
We want to thank many people who helped to make using std::cpp again a reality. First of all, we want to thank to every attendee that came to visit us for a full day around C++. We hope they got what they expected.
Our thanks go to Indizen and JFrog Conan for helping us with the organization of the event and taking care of coffe-breaks.
We also want to express our gratitude to JetBrains. Again this year they have contributed by giving a number of licenses of CLion that we have given out in a draw.
Of course, we also want to express our thanks to all the speakers in this year’s edition. They were crucial in attracting the audience and all the talks were highly evaluated by attendees. Additional thanks to those speakers that had to travel to give the talks. We hope that the effort all of them put in preparing their talks was worth.
Finally, we want to thank to the volunteers who helped in the organization.