News

C++ on the Web: ponies for developers without pwn’ing users—JF Bastien

Another video coming from NDC:

C++ on the Web: ponies for developers without pwn’ing users

by JF Bastien

What you will find in the video:

Delivering a program through a web browser really shouldn't force it to be slower than executing it directly on your OS. Similarly, doing so shouldn't force you to rewrite programs that target venerable, cornerstone native programming APIs—modern C++ STL, OpenGL, files and processes—nor should it forbid you from taking advantage of C++’s concurrency and parallelism in order to meet programming challenges like resource-constrained devices, battery-starved devices, and high performance code. Oh, and the browser should keep users secure from malicious sites.
In this presentation we'll showcase some resource-intensive applications that have been compiled for the PNaCl platform and, unsurprisingly, worked just like native code. These include a full development environment, complete with LLVM and your favorite build system and editor, all in an architecture- and OS-agnostic packaging. Then, we'll describe how we deliver native code on the web securely, so developers get their C++ ponies and users don’t get pwn’d. We’ll also touch on the fuzzing, code randomization and sandboxing that keep 1B+ users safe.

C++ User Group Meetings in July

The monthly overview on upcoming C++ User Group Meetings, this time its 18 User Groups who are meeting during summer!

C++ User Group Meetings in July

by Jens Weller

The list of meetings:

7.7 C++ UG Chicago - Memory Management in C++14 and Beyond
8.7 C++ UG San Francisco/ Bay area - HPX, C++ parallel programming framework
8.7 C++ UG Bristol - The Anatomy of Exceptional Engineers
9.7 C++ UG New York - July C++ Meetup
9.7 C++ UG Amsterdam - Hot C++, Part 2
9.7 C++ UG Dresden - Lazy generating non-integral values in range-based for loops
15.7 C++ UG Utah - Embedded Scripting with ChaiScript
15.7 C++ UG Bristol - Save the date
15.7 C++ UG Washington, DC - Q & A / Info Sharing
15.7 C++ UG Düsseldorf - Traveling for C++, a trip report
21.7 C++ UG Berlin - Ingo Josopait - Introducing the Goopax compiler for GPUs and Barb
21.7 C++ UG Portland - PDXCPP July Meeting-- feat. Jon Kalb
22.7 C++ UG San Francisco/ Bay area - Workshop and Discussion Group
23.7 C++ UG Rhein-Neckar - Presenting for Geeks
28.7 C++ UG Cologne - Monthly meeting
29.7 C++ UG Washington, DC - Q & A / Info Sharing
29.7 C++ UG Hamburg - Protocol Buffers
30.7 C++ UG Bremen - C++ Testframeworks

CppCon 2014 Common-sense acceleration of your MLOC build—Matt Hargett

Have you registered for CppCon 2015 in September? Don’t delay – 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 2014 for you to enjoy. Here is today’s feature:

Common-sense acceleration of your MLOC build

Matt Hargett

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

In this talk, I lay out detailed examples of steps I took to dramatically improve build times, and ultimately developer productivity, in very large, legacy C/C++ codebases. Is it worth the extra money for SSD or a 15K RPM SAS? How do I make ccache and distcc work together? How do I profile-optimize my toolchain? What network topology issues come into play? These questions, and more, are addressed in detail so you can immediately apply what you've learned to shorten the timeline between when you make a change to your code and when you see it in action.

Trip Report: On Games(SG14) and TM(SG5) from The View at the May 2015 C++ Standard meeting in Lenexa

Another longtime committee member just posted his trip report for last month's meeting:

On Games(SG14) and TM(SG5) from The View at the May 2015 C++ Standard meeting in Lenexa

by Michael Wong

From the article:

The yellow brick road starts here in Kansas (actually Lenexa) hosted by Perceptive Software, and it is called C++17. At this meeting, it led with a major evening discussion on the philosophy of C++17 on a Monday night full session...

Handling short codes — part II—-Andrzej Krzemieński

Second part of a discussion about designing a type storing character strings of length N (known at compile-time and sufficiently small).

Handling short codes - part II

by Andrzej Krzemieński

From the article:

Today, we will continue with the implementation of a type capable of storing short codes. For the previous post on the subject see here. This time, we will focus on type safety...

Functional C++—Kevlin Henney

See the talk Kevlin Henney gave at the NDC this june:

Functional C++

by Kevlin Henney

What you will find in the video:

Functional C++? As opposed to what - dysfunctional? Well, kind of, yeah. Sure, in C++ the principal unit of composition is called a function, but that doesn't mean it's a functional language. And the idea of restricting mutability of state gets a nod with const, but it's a nod not a hug. And the STL shows influences of functional programming, although it falls short of being compositional. And, yes, sure, C++11 has lambdas, but then again, these days, who doesn't? Lambda calculus was invented in the 1930s.
This talk looks at how to express functional programming ideas in (post)modern C++ in a way that can be considered idiomatic to C++, rather than trying to use the power of overloading and metaprogramming to pretend C++ is Haskell or Lisp. In short, immutability beyond const and into shared and persistent data structures, concurrency beyond threading and locks, and thinking about functions as transformations and units of composition rather than actions.

CppCon 2014 Emscripten and asm.js: C++‘s role in the modern web—Alon Zakai

Have you registered for CppCon 2015 in September? Don’t delay – 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 2014 for you to enjoy. Here is today’s feature:

Emscripten and asm.js: C++'s role in the modern web

by Alon Zakai

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

All major web browsers are written in C++, but C++ is starting to fill an important role in web *content* as well: while JavaScript is the only standards-compliant language available to websites, compiling other languages to JavaScript has been shown to be practical and effective. This talk will explain how Emscripten, an LLVM-based open source compiler from C++ to JavaScript, lets you run a C++ codebase on the web at near-native speed. To achieve that level of performance, Emscripten emits asm.js, a strict subset of JavaScript that is easy for JavaScript engines to optimize, and was designed specifically as a compilation target for languages like C and C++. We'll also discuss some of the more challenging aspects of compiling C++ to JavaScript, stemming from the C++ language itself, libraries and toolchains, and some thoughts on possible solutions.

Bitesize Modern C++: enum class—Glennan Carnie

A simple and complete explanation of the enum:

Bitesize Modern C++: enum class

by Glennan Carnie

From the article:

Enumerated types in C++ give a trivial simulation of symbolic types – that is, objects whose instances have unique, human-readable values. In C++ enumerations are essentially named integers that are either assigned values implicitly by the compiler or explicitly by the programmer (or a combination of both)...

The State of C++ – Is it Back or Not?—Arne Mertz

A personal opinion from Arne Mertz about the state of C++. Always interesting.

The State of C++ – Is it Back or Not?

By Arne Mertz

From the article:

The notion of C++ coming back to where it was before the raise of languages like Java and C#, or even the comparison of C++ now and then has a serious flaw: It is an isolated view of only the languages, competing for popularity in a fixed surrounding.

CppCon 2014 What the committee did next!—Alisdair Meredith

Have you registered for CppCon 2015 in September? Don’t delay – 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 2014 for you to enjoy. Here is today’s feature:

What the committee did next!

by Alisdair Meredith

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

Now that C++14 is done, what is the standard committee working on next?

After inking 8 years to produce the C++11 standard (arguably 13) there was a feeling we should be able to produce new work faster, more incrementally. With the renewed interest in C++, we have more participation on the committee, and have looked to harness that enthusiasm in new ways. In the last 3 years we have spun up at least a dozen new study groups, and have 8 or mode Technical Specifications in various stages of development that we hope to ship over the next 12-24 months. So what are all these new groups and specifications about? Come to this session and get a vision of where C++ is headed in the immediate and short-term future.