At CppCon 2014, Herb Sutter gave a talk presenting the essential idioms of modern C++ programming. Here is a short summary.
CppDepend is a primarily a source code analyzer, with features geared towards making it easier to understand large code bases with complex interdependencies. In addition, it can integrate with static analyzers. With the introduction of version 5, CppDepend now supports C and C++14.
In a recent article, Alex Payne, organizer of the Emerging Languages Camp, provides insight on how the language landscape has changed in the last five years and how it might change in future. InfoQ has talked with him.
JetBrains has released CLion EAP, a new IntelliJ-based IDE for C and C++. The IDE comes with Code Completion, Code Generation (for constructors, getters/setters or methods), Intention Actions, Quick Fixes, Refactoring, Project Search and Code Navigation. They also want to bring ReSharper to Visual Studio C++.
C++14, the new C++ standard succeeding C++11, has been finally approved and is heading to ISO for publication this year. While improvements in C++14 are "deliberately tiny" compared to C++11, says C++ creator Bjarne Stroustrup, they still "add significant convenience for users" and are a step on the route to make C++ "more novice friendly."
Streams is a C++14 library that provides lazy evaluation and functional-style transformations on the data, to ease the use of C++ standard library containers and algorithms. Streams support many common functional operations such as map, filter, and reduce. InfoQ interviews Streams' author.
The RakNet networking library used in several projects (including Lego Universe, Unity, and Sony Online) has been acquired and released under a modified BSD license by new owner Oculus. This means the library can now be used in a project without cost, offering numerous powerful features.
Google Play Games services got new features in Events and Quests, and a new Save Game API last month. The C++ and the iOS SDKs are now up-to-date with these features.
Google engineers have recently published a research paper presenting an empirical study of 26.6 million builds produced during a period of nine months by thousands of developers at Google. The paper describes the build workflow, and analyzes failure frequency, compiler error types, and resolution efforts. Such a study, its authors say, can help improve the build process and support to developers.
The Google "Fun Propulsion Labs" team has recently open-sourced FlatBuffers. Built especially to support performance needs of game developers, FlatBuffers stores serialized data in buffers which can be either stored in files or transferred across the network as-is, without any parsing overhead.
Visual Studio "14" Plans Improved C++11/C++14 compliance. As part of the this effort big changes are being made to the Standard Template Library bundled with "14".
C++14, the new C++ standard, will bring a host of changes to the language. Although it is planned to be a small extension over its predecessor, featuring mainly bug fixes and small improvements, it is inevitable that a few changes could make a correct C++11 program break under a C++14-compliant compiler. With the new standard approaching a mature status, it is now worth asking where the risk lies.
Dropbox developers have recently given some talks describing how they support both iOS and Android in their apps without having to recode everything on each platform. Let's review the reasons that led to their approach, the benefits it brings, and some key points learned through the process.
RyuJIT, Microsoft's project to produce an improved Just-in-Time compiler for .NET, has taken a big step forward on the compatibility front by adding support for Windows 7 and Windows Server 2008. Now developers on these platforms can test RyuJIT with their code.