C++ Day 2016: Wrap-up post

C++ Day 2016


Last Saturday the first C++ Day happened in Florence, a free Italian event entirely dedicated to C++. Almost 80 people attended (100 actually enrolled, the drop rate was ~20%). We co-organized the event with Develer. The event was sponsored by Soft2000 and supported by JetBrains and O’Reilly Media.

The C++ Day was awesome! We had 6 great technical sessions, a Workshop, a Coding Dojo and a Q/A plenary panel. A big part of the event was allocated for networking and interaction.

Find here more than 140 pictures of the day!

THANK-YOU!

I want to thank Develer (in particular Mena Marotta & Matteo Benci), who shared the journey with us and contributed to achieve this great result.

Thanks to Soft2000 (in particular Andrea Bartoli) for the big support and for the confidence.

Thanks to my staff (in random order: Stefano Saraulli, Gian Lorenzo Meocci, Franco Milicchio, Marco Foco, Raffaele Rialdi). This event wouldn’t have been possible without these guys.

Last but not least, a huge THANKS to almost 80 attendees we had! A great result for the C++ ecosystem.

Who attended the C++ Day 2016

Let me share some statistics about the people attending the event.

Just to be transparent: this information comes directly from the registration form that people had to fill out at the moment of the registration. This was useful also to know in advance what to expect from attendees.

The data I’m going to show you has been filtered by considering only answers of people who really attended the event.

The average of the age of people were 35. The youngest was 22, the oldest was 58.

The C++ knowledge level was pretty high:


What’s your C++ level?

As you see, 73% of attendees were experienced C++ programmers (35% felt being “expert”). We had also a few students and beginners.

When I gave my talk I had the feeling of speaking to many experienced programmers and experts, indeed the questions and the observations they did were really clever.

Another information we have is about how often people use C++ at work:


How often do you use C++ at work?

More than a half of people regularly use C++ at work (as probably expected from the previous answer). A good part (~40% in total) doesn’t use C++ at work or use it rarely.

Then another interesting data: which C++ standard do people use the most?


Which standard do you use the most?

Interesting to notice that a good part of the audience is still committed to C++98. The rest – 66%works with >= C++11 standards.

Attendees were also asked about the usage of templates. In this case we proposed many detailed answers (probably too many – mea culpa) you can see the distribution here:


Do you use templates?

As you can see, the majority of attendees use templates (total of 70%). A tiny part (4%) “can’t live without them”, whereas 16% of people “use them often”. 20% stays away or  says “what’s that?!”.

Finally, we collected some information about libraries in use (not in percentage but exactly how many people selected the corresponding library – many answers were obviously possible):


Which libraries do you employ?

The most sensible data is about Qt and boost, that are used a lot. Second and third place for libraries by Google and then by Micosoft. You can see the rest yourself on the pie chart.

Structure and contents of the event

The C++ Day in numbers:

  • 6×60′ technical sessions
  • 1×60′ C++ Coding Dojo
  • 1×60′ C++ Unconference
  • 1×45′ Q/A panel
  • 1×135′ Workshop
  • 150′ allocated for networking

First of all, let me tell you that we canceled the C++ Unconference just because not a single person really cared about that. The format was quite common:

  • there was a pubic whiteboard/flip chart somewhere;
  • people could propose to speak/moderate a discussion about a topic by putting a post-it on the board;
  • people could vote proposals made by others;
  • the best proposals would had been choosen.

What a pity! Anyway, it’s feedback for the next time.

Talk topics:

  • C++17 for the daily job (my talk – slides in ENG)
  • Graphics Stack in Qt (Luca Ottaviano)
  • C++ & Kafka: high performance streaming (Gian Lorenzo Meoccislides in ENG)
  • Data Oriented Design: high performance in C++ (Daniele Bargiacchi)
  • Introduction to Modern C++ for WinRT (Raffaele Rialdi)
  • API Design in C++ (Marco Foco)

At the end of the day we had our classical “Ask Us EverythingQ/A panel during which the speakers and the attendees had an interesting open discussion about several topics. For instance, which features we miss the most in C++, or which rejected/postponed C++17 proposals we would need (modules, reflection and concepts were the most popular answers).


“Ask Us Everything” Q/A plenary panel

Stefano Saraulli and I moderated the C++ Coding Dojo, an interactive session during which we proposed a couple of programming puzzles and we moderated an open discussion to solve them, while a volunteer was writing the code in front of the main laptop. This session was great and we already got tons of good feedback: we “proposed alternative and creative solutions” (what a few people said, literally). The main purpose of the dojo was to lead people to find effective usages of containers and algorithms, and to think differently than usual. We had many solutions, some more efficient, others more flexible:


Here is Stefano Saraulli explaining some ideas on a problem:


On the Template Metaprogramming Workshop facilitated by Eugenio Bargiacchi, I know it was really appreciated because we already got gentle feedback. The workshop consisted of a series of increasing complexity exercises.


Time allocated for networking deserves a special mention because I really use to care about it at events in general. In my opinion, one of the reasons why we attend events and conferences is for meeting and chatting with other people. Thus we had more than 150′ allocated for networking overall.

C++17 on-site compiler

I have always wondered why programming/CS events don’t place compilers/interactive environments around the event area. At least in Italy I don’t know any event that provides such thing.

Events generally have free boards, post-its, etc. Why not compilers? I am a Software Engineer, I am a programmer, I want to demonstrate with code what I’m talking about to people during the coffee break, quickly!

So Gian Lorenzo Meocci made my dream come true by setting up a Linux board plugged to a 19” monitor, a keyboard, and a mouse, connected via WiFi to the Internet. Then we just opened both melpon and godbolt on a browser and the game was afoot!

Many people tried C++17 features that I had explained just 5 minutes before at my talk, others discussed programming problems looking at real code, some showed me a boost library I have never used. And so on. A few shots:

People writing and running code:


Me and a few people trying C++17 features:


One attendee showing the split view of Godbolt:


One anecdote about my talk on C++17: at the end I left enough time for 7-8 questions. Since I didn’t know the answer to a couple of them, I honestly replied “don’t worry, we go to the compiler and we try!”. So we did and it worked like a charm. Let’s call it “Compiler Aided Talk” 🙂

Guys, if you are organizing programming events I really suggest you to put compilers on the event ground!

Feedback

We decided to stop using Joind.in for getting feedback, mainly because (imho) it’s not a proper feedback platform for events, rather it’s a website for publicly rating talks. It’s not suitable for getting valuable feedback on the event. We needed to ask people specific questions and we wanted people to be at ease with the feedback workflow. So we decided to move to the classical “survey” approach, by using Google Forms (because it’s easy and free).

We have collected a really positive feedback overall, and also precious suggestions for the next event. At the moment, ~45% of attendees gave feedback.

#cppDay16 and gifts

We gave prizes to the best #cppDay16 tweets. This time they were in Italian so let me just show you a few pictures of the award ceremony:

Me opening the award ceremony:


Winner of “Optimized C++”, offered by O’Reilly Media:


Winner of a classical “Italian C++ Community” mug:


Thanks to O’Reilly Media for giving free books and JetBrains for giving free product licenses.

What’s next?

November is a demanding month for me! Tomorrow I’m travelling to Redmond (USA) for the Microsoft MVP Summit (the first one for me), 4 days at the Microsoft Campus!

The week next I’m going to Berlin, for Meeting C++ 2016. This year is special for me because I’ll join the event staff – thanks to Jens for the opportunity. In Berlin you can also meet other members of the Italian C++ Community, so if you are there let’s get in touch!

In 2017 we want to organize other 2 Italian C++ events, probably one in spring and one in autumn. Let’s try…

Obviously, keep following the community for our participations, talks and panels to other events (e.g. Qt Day, Microsoft Community Days, etc).

The C++ Day is partner of GoLab, the first Italian conference on Go, in next January. Since it’s an international event maybe you are interested in attending. In case, CPP30 is a 30% discount code you may use for getting a cheaper ticket.

Thanks to all and stay tuned!