Events

New "using std::cpp" event in Spain (Spanish only)

Ready for a full day of C++11/14/17 content in the Spanish language?

using std:cpp

November 26, 2013

University Carlos III of Madrid in Leganés

The site and the event are entirely in Spanish. For convenience, here is an automatic translation of the event page:

Welcome to using std::cpp 2013

using std::cpp 2013 aims to be a forum for exchanging experiences using the C++ language, paying special attention to the recent standard C++11 and the upcoming C++14 and C++17.

Who should attend using std::cpp 2013?

The event is aimed at professional developers using C++ as a language for application development or infrastructure software. It is also aimed at students of last years of career, interested in the use of C++ as a programming language to produce complex computer systems with high performance.

What can I find in using std:cpp 2013?

We have prepared an intensive programme with presentations by leading developers from leading companies in their sectors (Indizen, TCP-SI, BBVA, Telefónica, Digital, INDRA, Biicode, Microsoft, Programming Research Group).

You can refer to the detailed program to see topics you can expect.

When does using std::cpp take place?

using std::cpp 2013 will be held on November 26, 2013 at the School Politécnica Superior of the Universidad Carlos III de Madrid in Leganes and will last for a full day.

Do I need to register?

using std::cpp 2013 attendance is free, but you must register to facilitate the organization of the event. You can register here.

ACCU 2014 call for papers is now open

Preparations are underway for the ACCU 2014 conference, to be held April 8-12, 2014 somewhere in the U.K. The conference has historically had strong C++ representation, and this year features a keynote by Howard Hinnant, longtime ISO C++ participant and former Library Working Group chair, and now a principal developer on Clang's libc++ implementation of the ISO C++ standard library. It also includes sessions on other languages and environments besides C++.

The conference has issued a call for papers which will close on Monday, November 5. From the call:

We have a long tradition of high quality sessions covering many aspects of software development, from programming languages (e.g., Java, Javascript, C#, Clojure, Python, Erlang, Haskell, Ruby, Groovy, C, C++, etc.), and technologies (libraries, frameworks, databases, etc.) to subjects about the wider development environment such as testing, architecture and design, development process, analysis, patterns, project management, and softer aspects such as team building, communication and leadership.

Sessions are usually tutorial-based, presentations of case studies, or interactive workshops, but we are always open to novel formats.

Pre-conference workshops are all day. Main conference sessions are 90 minutes. There are also a few 45 minutes sessions (reserved for less experienced speakers).

[...]

The Call for Papers lasts 5 weeks and will close on Monday 5th November 2013. Remember, remember, the 5th of November...

Full conference schedule will be announced 1st Jan 2014.

See the call for details on how to submit a proposed session.

Bjarne Stroustrup speaking at UNT near Dallas: October 11

Bjarne Stroustrup will be giving his "The Essence of C++" talk live in person next week at the UNT College of Engineering near Dallas, TX, USA.

The Essence of C++

by Bjarne Stroustrup

Location: UNC College of Engineering (map)
Friday, October 11, 2013
Talk: 2:00 p.m. –- 3:30 p.m.
Reception: 3:30 -- 4:00 p.m.

Abstract

C++11 is being deployed and the shape of C++14 is becoming clear. This talk examines the foundations of C++. What is essential? What sets C++ apart from other languages? How does new and old features support (or distract from) design and programming relying on this essence.

I focus on the abstraction mechanisms (as opposed to the mapping to the machine): Classes and templates. Fundamentally, if you understand vector, you understand C++.

Type safety and resource safety are key design aims for a program. These aims must be met without limiting the range of applications and without imposing significant run-time or space overheads. I address issues of resource management (garbage collection is not an ideal answer and pointers should not be used as resource handles), generic programming (we must make it simpler and safer), compile-time computation (how and when?), and type safety (casts belongs in the lowest-level hardware interface). I will touch upon move semantics, exceptions, concepts, type aliases, and more. My aim is not so much to present novel features and technique, but to explore how C++’s feature set supports a new and more effective design and programming style.

GoingNative will be livestreamed this week: Sep 4-6

The GoingNative 2013 conference starts Wednesday and is just about sold out. A few seats remain, so register now (or get on the waitlist in case there's a last-minute cancellation you can snag).

It's decidedly desirable to be physically in the room to get the full experience, and hundreds of people from over 10 countries are already on their way. But if you can't come in person to Redmond, WA, USA for this week's C++ fest, you'll be glad to know the talks will be livestreamed as well on the Channel 9 homepage. The streaming is compatible with all major platforms. For those of you around the world, please note that the talk times are in North American Pacific Daylight Time.

Talks include the following, including both full-length talks and a number of 20- and 30-minute "nuggets."

Day 1: Wed Sep 4

  • Opening Keynote: The Essence of C++ -- With Examples in C++84, C++98, C++11, and C++14 (Bjarne Stroustrup)
  • C++ Seasoning (Sean Parent)
  • Writing Quick Code in C++, Quickly (Andrei Alexandrescu)
  • Don’t Help the Compiler (Stephan T. Lavavej)
  • Compiler++ (Jim Radigan)

Day 2: Thu Sep 5

  • Day 2 Keynote: One C++ (Herb Sutter)
  • rand() Considered Harmful (Stephan T. Lavavej)
  • An Effective C++11/14 Sampler (Scott Meyers)
  • C++14: Through the Looking Glass (Michael Wong)
  • The Care and Feeding of C++’s Dragons (Chandler Carruth)
  • Interactive Panel: Ask Us Anything! (speakers)

Day 3: Fri Sep 6

  • Everything You Always Wanted to Know About Threading (But...) (Elliot H. Omiya)
  • The Way of the Exploding Tuple (Andrei Alexandrescu)
  • To Move or Not to Move: That is the Question (Michael Wong)
  • Bringing await to C++ (Deon Brewis)
  • A C++ REST SDK: OSS web services on Windows and Linux (Niklas Gustafsson)
  • Compiler Confidential (Eric Brumer)
  • Find-Build-Share-Use: Using NuGet for C and C++ Libraries (Garrett Serack)
  • My Favorite C++ 10-Liner (Herb Sutter)

 

C++ Conferences This Fall

I've created a short overview over the C++ Conferences this Fall:

  • Going Native (Seattle, 4.th-6.9) SOLD OUT
  • International Workshop on OpenMP (Canberra (AU), 16-18.9)
  • (not a conference, but...) Fall ISO C++ meeting (Chicago, 23-28.9)
  • QtDevDays Europe (Berlin, 7th - 9.10)
  • QtDevDays US (San Francisco, 6th-8.11)
  • Meeting C++ 2013 (Düsseldorf, 8th-9.11)
  • C++ and Beyond (Snoqualmie Falls (WA/US), 9th-12.12) SOLD OUT

More details at Meeting C++

by Jens Weller

GoingNative day 1 and 2 talks announced

gn13-1-2.pngGoingNative 2013 will be held on September 4-6. Register soon -- in-room space is limited.

The day 1 and 2 talks have now been posted:

Opening Keynote (Bjarne Stroustrup, Texas A&M University)

Bjarne Stroustrup, creator of C++, will open the show.

C++ Seasoning (Sean Parent, Adobe)

A look at many of the new features in C++ and a couple of old features you may not have known about. With the goal of correctness in mind, we’ll see how to utilize these features to create simple, clear, and beautiful code. Just a little pinch can really spice things up.

Writing Quick Code in C++, Quickly (Andrei Alexandrescu, Facebook)

Contemporary computer architectures make it possible for slow code to work reasonably well. They also make it difficult to write really fast code that exploits the CPU amenities to their fullest. And the smart money is on fast code -- we’re running out of cool things to do with slow code, and the battle will be on doing really interesting and challenging things at the envelope of what the computing fabric endures.

So how to write quick code, quickly? Turns out it’s quite difficult because today’s complex architectures defy simple rules to be applied everywhere. It is not uncommon that innocuous high-level artifacts have a surprisingly high impact on the bottom line of an application’s run time (and power consumed).

This talk is an attempt to set forth a few pieces of tactical advice for writing quick code in C++. Applying these is not guaranteed to produce optimal code, but is likely to put it reasonably within the ballpark.

These tips are based on practical experience but also motivated by the inner workings of modern CPUs.

Don’t Help the Compiler (Stephan T. Lavavej, Microsoft)

C++ has powerful rules for dealing with low-level program structure.  Before a program is ever executed, the compiler determines valuable information about every expression in the source code.  The compiler understands exactly how long each object's resources will be needed (lifetime), whether each expression refers to an object that the program has no other way of accessing (rvalueness), and what operations can be performed on each object (type).  Using examples from C++98 through C++14, this presentation will demonstrate how to write code that works with the compiler's knowledge to increase robustness, efficiency, and clarity.  This presentation will also demonstrate the horrible things that happen when programmers think they can do tasks that are better left to compilers.

Day 1 Panel (all speakers)

Interactive panel. Topic TBD. Attendee-driven Q&A.

Day 2 Keynote: One C++ (Herb Sutter, Microsoft)

Herb Sutter, language architect of Visual C++ and Chairman of the ISO C++ Committee, opens Day 2 with a brand new talk, "One C++."

An Effective C++11/14 Sampler (Scott Meyers)

After years of intensive study (first of C++0x, then of C++11, and most recently of C++14), Scott thinks he finally has a clue. About the effective use of C++11, that is (including C++14 revisions). At last year’s Going Native, Herb Sutter predicted that Scott would produce a new version of Effective C++ in the 2013-14 time frame, and Scott’s working on proving him almost right. Rather than revise Effective C++, Scott decided to write a new book that focuses exclusively on C++11/14: on the things the experts almost always do (or almost always avoid doing) to produce clear, efficient, effective code. In this presentation, Scott will present a taste of the Items he expects to include in Effective C++11/14. If all goes as planned, he’ll also solicit your help in choosing a cover for the book.

C++14: Through the Looking Glass (Michael Wong, IBM)

“The time has come,” the ISO said,
“To talk of many things: 
Of move-capture -- and literals --
Of making lambdas sing --
And why deduction is so hot --
nd if digits should grow wings?”

So have you heard of the next C++ Standard? No, it is not C++11. Even though C++11 has just been ratified, C++14 will likely replace C++11 by next year. By now, we have enough experience with C++11 to know where we are missing various fingers and toes such as:

  • Why do we not have move capture in lambdas? 
  • How about some real user-defined literal suffixes? 
  • Why did we stop with monomorphic lambdas? 
  • If lambda returns can be deduced, why not normal functions? 
  • Could we get digit separators?

C++14 will be more than a bug-fix release, and will contain some important enhancements on top of C++11. It will remove some of the major annoyances from C++11, that we already know of. But more importantly, how will this change the language, library and some important idioms?

The Care and Feeding of C++’s Dragons (Chandler Carruth, Google)

Last year I described C++ as bearing the cautionary label ‘Here Be Dragons.’ And yet we’re all still writing C++ because it is the best programming language for the problems we face. In turn, we need a strategy to deal with the “dragons” that reside in large C++ code bases. The Dragon Book (my old compiler textbook) taught about a collection of tools to address the complexity of compiler design, and while our challenge is somewhat different, the approach remains the same. When a mere mortal programmer ventures forth to battle the complexity of large software systems in C++, they’re going to need some really good tools to help them. At Google, we’ve been building up a platform of such tools. I will introduce the platform and toolset, and show how to use them to write fast and correct C++ code, quickly and correctly.

I will also give a peek into the future of the next generation of tools we’re working on and some of the really interesting changes to C++ that are coming in the next few years to help both programmers and these tools be ever more effective.


Day 2 Panel (all speakers)

Interactive panel. Topic TBD. Attendee-driven Q&A.

Boost Your Productivity with C++11 and Templates (Sep 9-13, Oct 7-11) -- Peter Gottschling

peter-gottschling.jpgThis course is being held in English and German:

Boost Your Productivity with C++11 and Templates

by Peter Gottschling

  • September 9-13 (German)
  • October 7-11 (English)

Abstract:

Templates (generic programming)

  • Function templates
  • Class templates
  • Variadic Templates (C++11)
  • Concepts
  • Specialization
  • Template arguments that are not types
  • Functors
  • Lambda functions (C++11)

Standard Template Library

  • Iterator concept
  • Containers
  • Functions
  • Meta-programming
  • Let the compiler compute
  • Providing type informations
  • Auto and decltype (C++11)
  • Const-adaptive classes
  • Expression templates

Other advanced and new techniques

  • Calling functions from derived classes without overhead
  • RValues and move semantics (C++11)
  • Initialization lists (C++11)
  • New for-loops (C++11)

Peter Gottschling is author of the Matrix Template Library 4, co-author of the Boost Graph Library and other scientific libraries. He is vice-chair of DIN's programming language group and head of the German delegation in the ISO committee for C++ standardization. He is managing director of SimuNova and taught C++ at TU Dresden, TU Berlin and Indiana University.

New paper: N3698, July 25-26 Santa Clara SG1 Meeting Announcement and Agenda -- Hans Boehm

Note: This paper explores potential future standardization directions and alternatives. It does not discuss or propose to amend the C++14 Committee Draft paper whose ballot is currently in progress.

 

A new WG21 paper is available. A copy is linked below, and the paper will also appear in the next normal WG21 mailing. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

Document number: N3698

Date: 2013-06-30

July 25-26 Santa Clara SG1 Meeting Announcement and Agenda

by Hans Boehm

Excerpt:

Location

Nvidia, 2701 San Tomas Expressway, Santa Clara, CA. Meet at Building E lobby.

Agenda

2 Discuss parallellism and concurrency extensions for future C++ standards

2.1 Discuss previously submitted concurrency proposals that were insufficiently addressed at the Bristol meeting.

2.2 Discuss other proposals.

C++-fest GoingNative 2013 announced: Sep 4-6, Redmond, WA, USA

gn13.PNGIn his Build talk yesterday, Herb Sutter announced the GoingNative conference will be held again this year, just over two months from now.

Like last year, the conference will be keynoted by Bjarne Stroustrup, and has two solid days dedicated to current and important material about Standard C++ on all compilers and platforms, with talks from the developers of Visual C++, Clang, IBM xlC++, and other compilers. This year, the organizers are also adding a third day with a mix of ISO C++ and Visual C++ specific topics. In-room attendance is limited to about 300 people.

GoingNative 2013 (registration) (announcement video clip)

Keynotes: Bjarne Stroustrup, Herb Sutter

Speakers:

  • Scott Meyers
  • Andrei Alexandrescu (Facebook)
  • Chandler Carruth (Google)
  • Stephan T. Lavavej (Microsoft)
  • Michael Wong (IBM)
  • Sean Parent (Adobe)
  • and more...

This is the only major public C++ event in North America in 2013 that isn't already sold out. Register today!

Scott Meyers speaking at NWC++UG -- July 17, Redmond, WA, USA

In three weeks, Scott Meyers will be giving a free talk at the Northwest C++ Users' Group:

The Universal Reference/Overloading Collision Conundrum

by Scott Meyers

July 17, 2013 at 7:00pm (pizza at 6:45)
Microsoft Campus, Building 40
Redmond, WA, USA

Abstract

To help address the confusion that arises when rvalue references become lvalue references through reference collapsing, Scott Meyers introduced the notion of “universal references.” In this presentation, he builds on this foundation by explaining that overloading functions on rvalue references is sensible and useful, while seemingly similar overloading on universal references yields confusing, unhelpful behavior. But what do you do when you want to write a perfect forwarding function (which requires universal references), yet you want to customize its behavior for certain types? If overloading is off the table, what’s on? In this talk, Scott surveys a variety of options.

Though Scott will give a one-slide overview of the idea behind universal references at the beginning of the presentation, attendees are encouraged to familiarize themselves with the notion in more detail prior to the talk. Links to written and video introductions to universal references are available here.

Bio

Scott Meyers is one of the world’s foremost authorities on C++. He wrote the best-selling Effective C++ series (Effective C++, More Effective C++, and Effective STL); published and maintains the annotated training materials Overview of the New C++ (C++11) and Effective C++ in an Embedded Environment; is Consulting Editor for Addison Wesley’s Effective Software Development Series, and, with Herb Sutter and Andrei Alexandrescu, is a principal in C++ and Beyond. He has a Ph.D in Computer Science from Brown University. He’s currently working on a new book, Effective C++11/14, which he hopes to publish in early 2014.