Product News

Jupyter + Cling: Interactive C++

Jupyter Notebook is the #1 canvas for data science, and it now leverages CERN's Cling interpreter to support C++:

Interactive Workflows for C++ with Jupyter

by Sylvain Corlay, Loic Gouarin, Johan Mabille, and Wolf Vollprecht

A few highlights from the article:

... just write some code and hit Shift+Enter

... live quick-help, fetching the content on cppreference.com

... visual output can also be displayed using the rich display mechanism of the Jupyter protocol

... the combination of xtensor with the C++ notebook provides an experience very similar to that of NumPy in a Python notebook

... If you are interested in trying the various notebooks presented in this post, there is no need to install anything. You can just use binder

... In September 2017, the 350 first-year students at Paris-Sud University who took the “Info 111: Introduction to Computer Science” class wrote their first lines of C++ in a Jupyter notebook

C++ Core Check improvements in Visual Studio 2017 15.5--Sergiy Oryekhov

In Visual Studio 2017 15.5 Preview 4 the team has refreshed the C++ Core Guidelines Check extension for native code static analysis tools:

C++ Core Check improvements in Visual Studio 2017 15.5

by Sergiy Oryekhov

From the article:

Most of the work since 15.3 has been focused on new rules that will help developers starting new projects write safer C++ and those with legacy projects move toward safer, modern C++...

PVS-Studio Reports Now in Html

FullHtml is a full-fledged report format for viewing analysis results.

PVS-Studio Reports Now in Html

by Svyatoslav Razmyslov

From the article:

It allows you to search for and sort messages by type, file, level, code, and warning text. What makes it special is that it allows you to navigate faulty fragments in the source files pointed out by the analyzer. The reported source files themselves are copied to Html and become part of the report. To see how FullHtml really looks like, I converted in this format one of the latest reports, which I've used when writing the article about the MuseScore project: MuseScoreHtml.7z.

POCO Release 1.8.0 Available

POCO 1.8.0 is now available:

POCO Release 1.8.0 is out

by POCO Team

POCO C++ Libraries release 1.8.0 is available. This release brings Unix Domain Socket support in the Net library, Zip64 support in the Zip library, an XML stream parser API, the new Redis client library, support for connection string URIs in the MongoDB client library and a couple of other improvements and bugfixes.

In addition to optional C++11/14 features support, this release still supports C++03 compilers, including Visual C++ 2008. Support for OpenVMS has been removed. Full C++11/14 support coming soon in release 2.0.

 

Visual Studio 2017 Version 15.4 Released--John Montgomery

Good news from the Visual Studio blog:

Visual Studio 2017 Version 15.4 Released

by John Montgomery

Notable C++ development highlights:

You can now use CMake for Linux C++ development in Visual Studio, which allows you to use CMake based projects that target Windows, Linux, or both. Simply open a folder with your CMake project, select Linux as your target and upon connecting to your Linux machine your sources are synchronized for you. Once the CMake cache generation is complete you’ll have full IntelliSense for your project and targets for building, running and debugging within Visual Studio. In addition to CMake support for Linux C++ development, with Visual Studio 2017 version 15.4 Preview you can now benefit from CMake version 3.9 and improved support for projects with multiple CMakeLists.


Windows Application Packaging Project: In Visual Studio 2017 version 15.4, you will get the first peek at a new project template that enables Windows desktop apps created with .NET or C++ to be packaged inside an .appx package for easier distribution via side-loading or submission to the Microsoft Store. These templates work for both new Windows desktop projects, as well as for existing projects.

Introducing Abseil, a new common libraries project--Titus Winters

A new library is out!

Introducing Abseil, a new common libraries project

by Titus Winters

From the article:

Today we are open sourcing Abseil, a collection of libraries drawn from the most fundamental pieces of Google’s internal codebase. These libraries are the nuts-and-bolts that underpin almost everything that Google runs. Bits and pieces of these APIs are embedded in most of our open source projects, and now we have brought them together into one comprehensive project. Abseil encompasses the most basic building blocks of Google’s codebase: code that is production tested and will be fully maintained for years to come.

What's new in clang-format 5

A good way to simplify your life:

What's new in clang-format 5

by Benoît Blanchon

From the article:

Clang 5 was released last week.
It's a good opportunity to talk about a not-enough-known tool: Clang-format.

Clang-format is part of the Clang project but can be used without the Clang compiler. It's an independent executable.

Clang-format is a code linter for C++. It takes a non-formatted code as input and produces a well-formatted code as output. The result is instantaneous.

Just::Thread Pro v2.5.0 released with coroutines support--Anthony Williams

A new version is out.

Just::Thread Pro v2.5.0 released with coroutines support

by Anthony Williams

From the article:

I am pleased to announce that Just::Thread Pro v2.5.0 has been released. This adds support for gcc 7, clang 4.0 and clang 5.0, but the big change with this version is the support for coroutines with Microsoft Visual Studio 2017, and clang 5.0 on ubuntu when used with libc++ 5.0.

Two-phase name lookup support comes to MSVC--Andrew Pardoe

What two-phase name lookup entails, what’s currently implemented in MSVC, and how to make effective use of MSVC’s partial but substantial support for two-phase name lookup:

Two-phase name lookup support comes to MSVC

by Andrew Pardoe

From the article:

“Two-phase name lookup” is an informal term that refers to a set of rules governing the resolution of names used in a template declaration...