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.

CppCon 2014 Parallelizing the Standard Algorithms Library--Jared Hoberock

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:

Parallelizing the Standard Algorithms Library

by Jared Hoberock

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

Until recently, C++ programmers building parallel programs found little support for parallelism in the standard toolbox. That's changing with the technical specification on Extensions for Parallelism in C++. This talk will explore how programmers can build portable parallel programs from high-level parallel algorithms which can execute on CPU threads, vector units, and even GPUs.

The Four Polymorphisms in C++ -- Peteris Krumins

C++ has more than one ways to express polymorphism. Discover the nomenclature and read examples on all of them in the following article :

The Four Polymorphisms in C++

by Peteris Krumins

From the article:

(...) These polymorphisms also go by different names in C++ :

  • Subtype polymorphism is also known as runtime polymorphism.
  • Parametric polymorphism is also known as compile-time polymorphism.
  • Ad-hoc polymorphism is also known as overloading.
  • Coercion is also known as (implicit or explicit) casting.

CppCon 2014 The Implementation of Value Types--Lawrence Crowl

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:

The Implementation of Value Types

by Lawrence Crowl

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

Predefined value types are central to C++ efficiency and robustness. More importantly, C++ provides mechanisms that enable programmers to create high-quality value types, programmers are not limited to the small predefined value types. However, implementing a high-quality type requires attention to several problems, among them portability, representation, efficient copying, efficient parameters, aliasing, constant initialization, and constant expressions. We present the issues and several approaches to implementing high-quality value types.