Announcing Tool Time at CppCon 2018
Cppcon evolves!
Announcing Tool Time at CppCon 2018
From the article:
From this year we’re starting a new event called Tool Time...
October 25, Pavia, Italy
November 6-8, Berlin, Germany
November 3-8, Kona, HI, USA
By Adrien Hamelin | Aug 29, 2018 01:28 PM | Tags: community
Cppcon evolves!
Announcing Tool Time at CppCon 2018
From the article:
From this year we’re starting a new event called Tool Time...
By Adrien Hamelin | Aug 29, 2018 01:24 PM | Tags: c++17
Searchers objects.
Preprocessing Phase for C++17's Searchers
by Bartlomiej Filipek
From the article:
Searchers from C++17 are a new way to perform efficient pattern lookups. The new standard offers three searchers: default_searcher , boyer_moore_searcher and boyer_moore_horspool_searcher. The last two implements algorithms that require some additional preprocessing for the input pattern. Is there a chance to separate preprocessing time from the search time?
By Adrien Hamelin | Aug 28, 2018 12:05 PM | Tags: intermediate experimental
The future?
Spaceship Operator
by Simon Brand
From the article:
You write a class. It has a bunch of member data. At some point, you realise that you need to be able to compare objects of this type. You sigh and resign yourself to writing six operator overloads for every type of comparison you need to make. Afterwards your fingers ache and your previously clean code is lost in a sea of functions which do essentially the same thing. If this sounds familiar, then C++20’s spaceship operator is for you. This post will look at how the spaceship operator allows you to describe the strength of relations, write your own overloads, have them be automatically generated, and how correct, efficient two-way comparisons are automatically rewritten to use them...
By Adrien Hamelin | Aug 28, 2018 12:04 PM | Tags: c++17
Interested?
C++17 in Detail by Bartłomiej Filipek
by Marc Gregoire
From the article:
C++17 provides developers with a nice selection of new features to write better, more expressive code.
Bartłomiej Filipek has released a book titled “C++17 in Detail” that describes all significant changes in the language and the Standard Library. What’s more, it provides a lot of practical examples so you can quickly apply the knowledge to your code. The book brings you exclusive content about C++17. Additionally, the book provides insight into the current implementation status, compiler support, performance issues and other relevant knowledge to boost your current projects...
By Adrien Hamelin | Aug 28, 2018 11:59 AM | Tags: intermediate
What do you think?
How to Design Early Returns in C++ (Based on Procedural Programming)
by Jonathan Boccara
From the article:
Travelling back from ACCU conference a couple of weeks ago, one of the insights that I’ve brought back with me is from Kevlin Henney’s talk Procedural Programming: It’s Back? It Never Went Away. It’s surprisingly simple but surprisingly insightful, and it has to do with early return statements...
By rodburns | Aug 28, 2018 06:50 AM | Tags: None
SYCL is an open standard developed by the Khronos™ Group that enables developers to write code for heterogeneous systems using standard C++. Developers are looking at how they can accelerate their applications without having to write optimized processor specific code. SYCL is the industry standard for C++ acceleration, giving developers a platform to write high-performance code in standard C++, unlocking the performance of accelerators and specialized processors from companies such as AMD™, Intel™, Renesas™ and Arm®.
Codeplay Announces World's First Fully-Conformant SYCL 1.2.1 Solution
by Codeplay
About the release:
Codeplay's ComputeCpp 1.0 enables SYCL and provides C++ developers with huge benefits:
High Performance Computing: Supercomputers are playing an important role in computationally intensive tasks in the fields of science, finance, and many others to provide complex calculations and simulations. SYCL offers a standard way for HPC developers to write portable, efficient, accelerated code using standard C++ that can be deployed to GPUs, FPGAs and other accelerators
Computer Vision: Complex image processing operations can be accelerated using parallel computing. ComputeCpp and SYCL provide high-level programmability for custom vision processors, enabling additional custom features on top of existing optimized hardware functions
Artificial Intelligence: Linear algebra is increasingly being used in artificial intelligence applications and benefits from parallel architectures. The Eigen linear algebra library, SYCLBLAS and TensorFlow frameworks can be accelerated using ComputeCpp for a wide variety of heterogeneous hardware
By robwirving | Aug 24, 2018 11:22 AM | Tags: None
Episode 164 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Gordon Brown to discuss his work on SYCL the OpenCL abstraction layer for C++.
CppCast Episode 164: SYCL with Gordon Brown
by Rob Irving and Jason Turner
About the interviewee:
Gordon is a senior software engineer at Codeplay Software in Edinburgh, specialising in designing and implementing heterogeneous programming models for C++. Gordon spends his days working on ComputeCpp; Codeplay's implementation of SYCL and contributing to various standards bodies including the Khronos group and ISO C++. Gordon also co-organises the Edinburgh C++ user group and occasionally blogs about C++. In his spare time, Gordon enjoys dabbling in game development, board games and walking with his two dogs.
By onqtam | Aug 23, 2018 01:00 PM | Tags: c++11
Writing unit tests in C++ has never been easier and faster.
by Viktor Kirilov
From the article:
The main 4 developments are:
- moved to C++11 => greatly simplified the codebase
- thread-safety => asserts and logging utilities can be used in multiple threads spawned from a single test case without race conditions (thread sanitizer tested) - see example
- given that doctest is extremely light on compile times and is meant to be used for tests side-by-side with the production code - added the ability for asserts to be used outside of a testing context (as a general purpose assert library) - example
- a complete overhaul of the internals of the framework (moving from printf-style logging to streams and changing internal structures) to allow for easier future development (including a reporter interface - work in progress)
By Meeting C++ | Aug 23, 2018 02:45 AM | Tags: recruiting meetingcpp community
The job section of Meeting C++ received an important update: you can now share your resume with selected companies via a webform. Also you can share your open positions on the Meeting C++ job board or apply to become listed in the job section as a C++ employer.
A major update for Meeting C++ Recruiting
by Jens Weller
From the article:
Today I can announce a new offering in the recruiting area of Meeting C++: the CV upload form.
The mission of Meeting C++ is to support the C++ community and to build and maintain a worldwide network for C++. And with Meeting C++ recruiting, the goal is to integrate companies into this network, to make them visible as employers, and help people find the right jobs. With this service, I want to bring together companies, who have open positions for C++ Developers and those developers who are looking for a new challenging position!
By Adrien Hamelin | Aug 22, 2018 01:25 PM | Tags: community
Have you registered for CppCon 2018 in September? Registration is open now.
While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2017 for you to enjoy. Here is today’s feature:
Designing A Feature That Doesn't Fit
by Patrice Roy
Summary of the talk:
C++ is a wonderful and expressive language, that gives programmers a lot of freedom even though it actively seeks to let programmers obtain the maximal performance from their hardware. It so happens that sometimes, operating systems can make it easy to do things that are absolutely not natural for a C++ program, but that some C++ programmers consider essential to their practice.
This talk will explore the problem of adding functionality to the language, more specifically to the standard threading library, where said functionality is not a natural fit for the C++ language specification. Expressed otherwise: how can we find ways to meet the needs of users without corrupting the language we all love?
This talk will be more interesting to you if you have met situations where you wanted to do something in "pure C++" but found you had to resort to operating system-specific features to meet your objectives. We will discuss the design space that has been explored for the problem under study, and will try to make emerge the strengths and weaknesses of the various alternatives.