June 2015

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.

N4546: Agenda and Meeting Notice for WG21 Concepts Telecon—Herb Sutter

New WG21 papers are available. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

Document number: N4546

Date: 2015-06-29

Agenda and Meeting Notice for WG21 Concepts Telecon

by Herb Sutter

Excerpt:

This meeting has the specific agenda of finalizing the Concepts PDTS ballot comment resolutions with the goal of approving a document for publication.

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.

CppDepend v6 Now Released—CodeGears

CodeGears just released their CppDepend version 6.

CppDepend v6 Released

From the article:

After 7 years of development, CppDepend reached a certain level of maturity. Yet there are still many new potential features and improvements possible. We found out that the most sensitive part for this version 6 was actually to chose carefully the set of new features and improvements we’d like to offer to users.  version 6 new stuff reflects well the most demanded features that have just been marked as completed. Further topics are:

  • External Tools Integration Using API
  • Import Coverage Data
  • Latest Clang Used
  • Sonar Integration
  • Enhanced Visual Studio Integration
  • Rule Improvements
  • Code Metrics Visualization

CppCast Episode 17: Exercism.io and Refactoring with Richard Thomson

Episode 17 of CppCast the only podcast by C++ developers for C++ developers. In this episode Rob and Jason are joined by Richard Thomson to discuss exercism.io and C++ refactoring tools

CppCast Episode 17: Exercism.io and Refactoring with Richard Thomson

by Rob Irving and Jason Turner

About the interviewee:

Richard Thomson is a passionate software craftsman. He has been writing C programs since 1980, C++ programs since 1993 and practicing test-driven development since 2006. For 10 years, Richard was a Microsoft MVP for Direct3D, Microsoft's native C++ API for 3D graphics. His book on Direct3D is available as a free download. Prior to that, Richard was a technical reviewer of the OpenGL 1.0 specification. He is the director of the Computer Graphics Museum in Salt Lake City, Utah and currently works at DAZ 3D writing 3D modeling software in C++. Recently, Richard has added the C++ language track to exercism.io and has been working on adding refactoring tools to the clang tool suite.