community

James McNellis' talks @Italian C++ Conference 2016

The talks James McNellis gave at the Italian C++ Conference 2016 are now online:

An Introduction to C++ Coroutines

One of the most interesting new features being proposed for C++ standardization is coroutines, formerly known as “resumable functions.”  C++ coroutines are designed to be highly scalable, highly efficient (no overhead), and highly extensible, while still interacting seamlessly with the rest of the C++ language.

This session will consist of an in-depth introduction to C++ coroutines.  We will begin by looking at the rationale for adding coroutines to the C++ language and then look at several examples that show [1] how to write a coroutine, [2] how to use the extensibility model to adapt existing libraries to work with C++ coroutines, and [3] how coroutines really work “under the hood,” using the Visual C++ implementation as a reference.  Finally, we will look briefly at the status of the C++ coroutines proposal and some of the competing ideas.

Slides

 

Adventures in a Legacy Codebase

Three years ago, the Visual C++ team undertook a project to substantially modernize and redesign the Microsoft C Runtime (CRT) with the goals of improving long-term maintainability, performance, and usability.  This work culminated with the release of the Universal CRT with Windows 10 and Visual Studio 2015.

In this session, I will discuss our team’s experiences from this project.  We’ll look at some of the techniques we used in modernizing a decades-old codebase and look at some of the challenges that we faced, lessons that we learned, and best practices that we developed during the course of the project.

Slides

An Overview of Static Analyzers for C/C++ Code--Aleksandr Alekseev

Which static tools do you use?

An Overview of Static Analyzers for C/C++ Code

by Aleksandr Alekseev

From the article:

C and C++ programmers tend to make mistakes when writing code.

Many of these mistakes can be found using -Wall, asserts, tests, meticulous code review, IDE warnings, building with different compilers for different operating systems running on different hardware configurations, and the like. But even all these means combined often fail to reveal all the bugs. Static code analysis helps improve the situation a little. In this post, we will take a look at some static analysis tools. [The author of this article is not an employee of our company, and his opinion may be different from ours.]...

Italian C++ Conference 2016--Marco Arena

A brief article on the first edition of:

Italian C++ Conference 2016

by Marco Arena

From the article:

After two years of meetups and participations in Italy, last Saturday we had more than 100 people attending (130+ registered people – ~22% drop) the first edition of the Italian C++ Conference, in Milan, our new free event fully focused on C++. Hosted by “Bicocca” University and sponsored by RogueWave Software, we delivered 5×60′ technical sessions, 1×30′ sponsor demo session and 1×40′ Q/A panel. It has been a great day!...

GCC 6.1 Released

After slightly more than a year since last major GCC release, the GCC project is proud to announce the new major GCC release, 6.1.

GCC 6.1 Released

by the GCC project

From the article:

GCC 6.1 is a major release containing substantial new functionality not available in GCC 5.x or previous GCC releases.

The C++ frontend now defaults to C++14 standard instead of C++98 it has been defaulting to previously, for compiling older C++ code that might require either explicitly compiling with selected older C++ standards, or might require some code adjustment, see http://gcc.gnu.org/gcc-6/porting_to.html for details. The experimental C++17 support has been enhanced in this release.

This releases features various improvements in the emitted diagnostics, including improved locations, location ranges, suggestions for misspelled identifiers, option names etc., fix-it hints and a couple of new warnings have been added.

The OpenMP 4.5 specification is fully supported in this new release, the compiler can be configured for OpenMP offloading to Intel XeonPhi Knights Landing and AMD HSAIL. The OpenACC 2.0a specification support has been much improved, with offloading to NVidia PTX.

The optimizers have been improved, with improvements appearing in all of intra-procedural optimizations, inter-procedural optimizations, link time optimizations and various target backends.

See  https://gcc.gnu.org/gcc-6/changes.html for more information about changes in GCC 6.1.

This release is available from the FTP servers listed here: http://www.gnu.org/order/ftp.html

The release is in gcc/gcc-6.1.0/ subdirectory.

If you encounter difficulties using GCC 6.1, please do not contact me directly. Instead, please visit http://gcc.gnu.org for information about getting help.

Driving a leading free software project such as GNU Compiler Collection would not be possible without support from its many contributors. Not to only mention its developers but especially its regular testers and users which contribute to its high quality.  The list of individuals is too large to thank individually!

New “Italian C++ Conference” event in Italy (Italian only)

A full day of C++ in the Italian language:

Italian C++ Conference 2016

May 14, 2016

University "Bicocca", in Milan.

Special guest: James McNellis, from the Visual C++ Team.

The site and the event are entirely in Italian. Here is a translation of the main information:

In a nutshell

The Italian C++ Conference 2016 aims to be a forum for exchanging experiences using the C++ language, paying special attention to what we learned in the last years using C++11 and C++14, and what to expect from the upcoming C++17.

James McNellis will talk (in English!) about CoRoutines and CRT refactoring.

Other Italian C++ professionals will speak (in Italian) on different topics.
 

Who should attend the Italian C++ Conference 2016?

This event is made by C++ professionals for C++ professionals, students and enthusiasts.

 

What can I find in the Italian C++ Conference 2016?

After 5 years of C++11, we'll show the picture of the situation through real stories.

The agenda consists of 5x60' tech talks and 1x40' Q/A "Ask Us Everything" panel.

James McNellis will talk about CoRoutines and about his experience on redesigning the C Runtime (CRT).

Other speakers are Italian C++ professionals, working in different domains. They will cover topics like C++ simplification, REST and Websocket, ideas for teaching modern C++.

Coffee breaks and lunch included.

You can refer to the detailed program for more information.
 

When does the Italian C++ Conference 2016 take place?

The event will be held on May 14, 2016 at the University "Bicocca", in Milan.

Check-in starts at 8.30 AM, the main event starts at 9.00 AM and will last for a full day.
 

Who supports this event?

RogueWave Software is our main sponsor.

JetBrains and O'Reilly are supporting us with free books/licenses.

Get in touch if you want to support us!
 

Do I need to register?

The Italian C++ Conference 2016 is free, but you must register to facilitate the organization of the event. You can register here.

C++ meetup in Madrid, Spain: C++ in Fintech

Today we have another C++ meetup in Madrid, Spain.

C++ in Fintech

C++ applied to fintech products and services

What to expect at the meetup:

Short keynotes on how C++ is applied to risk calcuation apps, fast market information transfers, quantitative finance and much more. It will be hosted at Indizen HQs and we will have programers from BME, BBVA and Indizen.

Overload 132 is now available

ACCU’s Overload journal of April 2016 is out. It contains the following C++ related articles.

Overload 132

From the journal:

The Tao of Scratch
Scratch is an environment designed to help young people learn to code. Patrick Martin walks us through it. by Patrick Martin

Knowledge-Sharing Architects As An Alternative to Coding Architects
Should architects write code? Sergy Ignatchenko explores this controversial subject. by Sergey Ignatchenko

QM Bites: Understand Windows OS Identification Preprocessor Macros
There’s confusion between user-defined and predefined Windows 32/64-bit operating-system identification macros. Matthew Wilson shines light on the issue. by Matthew Wilson

Why Collaboration is Key for QA Teams in an Agile World
Agile processes can have an impact on QA departments. Greg Law considers how they can adapt to survive and even thrive. by Greg Law

How to Diffuse Your Way Out of a Paper Bag
Diffusion models can be used in many areas. Frances Buontempo applies them to paper bag escapology. by Frances Buontempo

Stufftar
How do you quickly transfer data from one machine to another? Ian Bruntlett shows us the bash script he uses. by Ian Bruntlett

QM Bites: looping for-ever
Never-ending loop constructs can confound user and compiler in subtle ways. Matthew Wilson offers advice to maximise portability and transparency.

Using Enum Classes as Bitfields
Scope enums have many advantages over standard enums. Anthony Williams shows how to use them as bitmasks. by Anthony Williams

9.7 Things Every Programmer Really, Really Should Know
Most of us have heard of the twelve step program. Teedy Deigh introduces a 9.7 step plan for programmers.

CppCon opens Call for Submissions

CppCon has announced its call for submission for 2016. 

CppCon: The C++ Conference

Call for Submission

From the announcement:

The deadline for submissions is May 22nd and the conference face gathering for the entire C++ community. The conference is organized by the C++ community for the community and so we invite you to present.