• JetBrains CLion C++ IDE First Impressions

    This post describes my first impressions from taking the new JetBrains CLion C++ IDE (currently in alpha) for a spin.

  • Clang edition of the C++11/14 Rocks book

    Do you use Clang to compile C++? Would you like to know all about the C++11 and C++14 language features it supports?

  • Spotlight on libraries relying on C++14

    While working on the C++14 coverage for the Clang edition of my book, I’m also taking a look at the C++14 code in the wild, and I thought I’d write up what I’ve found.

  • What if C++ looked more like Python or CoffeeScript?

    I’m quite fond of languages with minimal syntax. Not only it is easier to read and write code in these languages - it also provides an opportunity to reduce errors (both at compile time and at run time), when you consider that every character in a program has the potential to cause an error due to being misread or misplaced. In addition, long, dense lines of code littered with punctuation increase the cognitive burden on the programmer.

  • An overview of C++14 language features

    In this post, I’m going to highlight some of the new language features in the draft of the C++14 standard. This is an excerpt from my book C++11 Rocks: VS2013 Edition. I looked at the level of C++14 support in different compilers in a previous post.

  • C++11/14 compiler and library shootout

    It’s been almost a year since my last comparison of C++11 support across different compilers, so I decided to take a break from working on my book about C++11/14 features in VS2013, and see how things have changed.

  • 44 C++11 bugs fixed in Visual Studio 2013

    The following bugs which I described in the VS2012 edition of my book, C++11 Rocks, have been fixed in Visual Studio 2013, so you have more freedom to use C++11 features as they were intended to be used. If you used workarounds for these bugs, now you can remove them and clean up your code!

  • 10 new C++11 features in Visual Studio 2013

    The Visual Studio 2013 C++ compiler has a number of new C++11 features. I’d like to give you a quick overview of these features using examples from the upcoming VS2013 edition of my book, C++11 Rocks.

  • C++11 concurrency cheatsheet

    Parallel execution. It’s where programming is shifting - slowly but inexorably - and, of course, C++11 is on the concurrency bandwagon. Futures/promises, threads, condition variables and so on - it’s all part of the standard library.

  • C++11 compiler support shootout: Visual Studio, GCC, Clang, Intel

    It’s been more than half a year since my last comparison of the C++11 support across different compilers. This time I’d like to see how different compilers stack up based on the documentation for the pre-release versions of these compilers.

  • An introduction to the TR2 filesystem library in Visual Studio 2012

    Visual Studio 2012 includes the filesystem library. It isn’t part of the C++11 standard but it’s one of the proposals for TR2. The proposal is based on the library included in boost.

  • 23 C++11 bugs you no longer need to worry about in VS2012

    Visual Studio 2012 has fixed a lot of bugs in C++11 features which were present in Visual Studio 2010.

  • 16 C++11 additions in VS2012 for cleaner & faster code

    Some people were disappointed with the level of C++11 support in Visual Studio 2012. Let’s look on the bright side though. There are still lots of useful C++11 additions you can use to make your code cleaner and faster.

  • Why does C++ provoke so much emotion?

    I often wonder why C++ gets people so worked up. It seems that no C++ discussion can happen without somebody recommending to use another language instead without any regard for practicality. There’s always a person who detests C++ so much that he takes the time to write a long hateful comment. There are people who say that C++ has outlived its usefulness, people who say it plagiarizes other languages, and of course people who just can’t stand templates.

  • Alternative tokens in C++

    if (arr<:0:> not_eq 0 and not false)

  • A comparison of C++11 language support in VS2012, g++ 4.7 and Clang 3.1

    If you need an excuse for celebration, today happens to be an anniversary! The C++11 standard was approved by ISO on 12 August last year, exactly one year ago. I decided to take a look at the state of C++11 language support one year on across three compilers: the upcoming VS11 (Visual Studio 2012), g++ 4.7 and Clang 3.1.

  • Using CMake to build a cross-platform project with a Boost dependency

    While working on the test suite for C++11 Rocks, I needed to setup a cross-platform test suite based on Boost.Test for code examples. I decided to go with CMake for build management because it seems to be a fairly popular option.

  • C++11 regex cheatsheet

    I thought about creating a cheatsheet for the C++11 regex library for a long time, and I finally sat down and made it over the last few days. In case you haven’t encountered them, regular expressions are a powerful way of searching and manipulating strings.

  • C++11: a visual summary of the additions and changes since C++03

    Following up on the previous post, I thought it would be cool to highlight all the areas which have been added or updated in the C++03 to C++11 transition. I think it’s a nice way to show how much of the language has changed.

  • C++, Ruby, CoffeeScript: a visual comparison of language complexity

    Most people will agree that C++ is a fairly complex language. But just how complex is it? I got curious about quantifying that by comparing the number of concepts a programmer has to understand to learn a programming language in its entirety.

  • 9 reasons to start using C++11

    If your code is working fine and performing well, you might be wondering why you should jump on the C++11 bandwagon. Sure, it feels nice to be using the latest technology, but is it actually worthwhile?