Articles & Books

Writing modern C++ servers using Wangle--James Perry

Nice use of modern C++:

Writing modern C++ servers using Wangle

by James Perry

From the article:

I mentioned in my previous post that I was able to build a prototype database engine within one day using Facebook’s Wangle so this post explains how I managed that. By the end of this post, you will be able to write a high-performance C++ server using Wangle. This post also serves as a tutorial which will be merged into Wangle’s README.md.

Modern C++ Features – keyword `noexcept`--Arne Mertz

Explications of the noexcept keyword:

Modern C++ Features – keyword `noexcept`

by Arne Mertz

From the article:

I have written about handling exceptions some time ago, and about the levels of exception safety last week. What I have not touched yet are exception specifications. I will catch up on those with this post.

C++98 had the possibility to denote the types of exceptions that could be thrown from a given function by using throw(<exception list>). In theory, the runtime had to check if any exception emitted by the function was indeed in that list or derived from one of the types in the list. If it wasn’t, the handler std::unexpected would be called...

C++ User Group Meetings in January

The monthly update of C++ User Group Meetings at Meeting C++:

C++ User Group Meetings in January 2016

by Jens Weller

From the article:

The monthly overview on upcoming C++ User Group meetings! There is a new C++ User Group in Iasi, Romania and a lot of C++ User Groups which are meeting in January!

Maybe you want to start a C++ User Group in 2016? Also feel free to contact me on the topic!

A flexible lexicographical comparator for C++ structs--Björn Fahller

An interesting article:

A flexible lexicographical comparator for C++ structs

by Björn Fahller

From the article:

We've all hand crafted comparison operators for structs with many members, and we've all cursed the tedium. It's all right for equality comparison, but lexicographical ordering relations is a different story when there are more than two members.

Hopefully all C++ developers have by now learned about the std::tie()-idiom.

struct S
{
  int a;
  int b;
  int c;
};

bool operator<(const S& lh, const S& rh)
{
  return std::tie(lh.a, lh.b, lh.c)
       < std::tie(rh.a, rh.b, rh.c);
}

Levels of Exception Safety--Arne Mertz

A nice introduction to C++ exceptions:

Levels of Exception Safety

by Arne Mertz

From the article:

Exceptions are part of C++. They are thrown by the standard library classes, and sometimes even if we are not really using the standard library. So, unless we are in a very restrictive environment like embedded programming and have exceptions disabled in the compiler, we need to be prepared and deal with the fact that exceptions simply can happen.

Starting a tech startup with C++ -- James Perry

A nice and short (5-minute read) entrepreneur's perspective about technology choices while starting a modern web company, with nice shout-outs to Folly, Proxygen, and Wangle:

Starting a tech startup with C++

by James Perry

From the article:

A lot of my peers think it is bizarre that I am building a cloud service with C++ and not with a dynamic language — such as Ruby or Python — that provides high productivity to ship quickly.

It started to question my own judgement to use C++ and I decided to research whether it is good idea or not.

Interlude (a C++ 2015 retrospective) -- Agustín "K-ballo" Bergé

kballo2015.PNGAs we enter 2016, here is another reminder of just how much has happened for C++ in just the past year:

Interlude (a C++ 2015 retrospective)

by Agustín "K-ballo" Bergé

From the article:

One year down the road, 2015 has gone by but not without modifications to the C++ lands. Several Technical Specification (TS) documents were published, and heavy work continues to go into both existing and new ones. Meanwhile, work is underway for what it is intended to be C++17...

... During 2015, the C++ lands grew bigger at an outstanding rate! As the TS model -- which allows to decouple and publish work independently from the standard -- is proving to be a success, 2016 it's certainly looking to be a good year for C++.

C++ status at the end of 2015, a user's view -- Bartlomiej Filipek

A lot has happened in C++ in 2015! As we close out the year, here's a retrospective from an experienced C++ developer:

C++ status at the end of 2015

by Bartlomiej Filipek

From the article:

Maybe I’ll be boring with this note, but again I need to write that this was another good year for C++! Here’s a bunch of facts:

  • Visual Studio 2015 was released with great support for C++14/17 and even more experimental features.
  • Long-awaited GCC 5.0 was released at the beginning of the year.
  • C++ gained a huge boost is popularity around July, 3rd stable place in the Tiobe Ranking.
  • At CppCon 2015 there were some really important announcements made.
  • C++17 seems to be just around the corner!

See my full report below...

Both keynotes from Meeting C++ 2015 are now online!

See Chandler Carruth and Lars Knoll giving the keynotes at Meeting C++ this year:

Both Keynotes from Meeting C++ 2015 are online!

by Jens Weller

From the article:

Great news: Since yesterday, both of the keynotes from this years Meeting C++ conference are on youtube! Both keynote speakers chose to speak on a specific topic, and delivered very well. There is also a playlist for Meeting C++ 2015.