Effective Modern C++ available today -- Scott Meyers

Available today on O'Reilly and Amazon, in print in early December:

EMC++ Exits Publishing Purgatory!

by Scott Meyers

From the announcement:

I just received the following from O'Reilly: "Congratulations! Your book went to print on Friday, and we've now completed production. The Retail Availability Date for ebooks on oreilly.com and Amazon is tomorrow, 11/11. For print books, it's estimated at 12/2."

Trip report: using std::cpp 2014 -- J. Daniel Garcia

usingcpp2014.PNGThis just in from our Spanish correspondent:

Event report: using std::cpp 2014 at Spain

J. Daniel Garcia

From the article:

The success of this event is fully in line with several other international events as the recent CppCon in USA or Meeting C++ in Germany and can be seen as another proof of the high interest with which the industry has received the new versions of the C++ standard. It is also worth mentioning that as many other countries there is also a farly active C++ meetup group in Spain...

Where will Evolution lead C++17?

The third part of my series about the proposals for Urbana is about the subgroup evolution:

Where will Evolution lead C++17?

by Jens Weller

From the article:

This is the third part in my series about the proposals for the current C++ committee meeting in Urbana. This time its all about the subgroup Evolution, which has the most papers, so this is only the first part. The previous parts were about concurrency, and Part 2 about core, networking, models and undefined behavior.

Ranges, Concepts, and the Future of the Standard Library -- Eric Niebler

Some of the promising news from this week's ISO C++ meeting, which concludes tomorrow.

Ranges, Concepts, and the Future of the Standard Library

by Eric Niebler

From the article:

Frequent readers of this blog know that over the past year, I’ve been working on a modern range library suitable for standardization, integrating good ideas from hither and thither — particularly from Sean Parent and Andrew Sutton — resulting in a library that’s available immediately, and a proposal to the standardization committee. This week I presented my work to the C++ Committee Meeting in Urbana-Champaign. The ensuing discussion has implications for the future of the Standard Library...

FUNGENOOP Programming -- Tony DaSilva

fungenoop.PNGIn case you missed it, here's a nice little Friday nugget:

FUNGENOOP Programming

by Tony DaSilva

From the article:

In his recent talks on C++, Bjarne Stroustrup always sets aside a couple of minutes to go off on a mini-rant against "paradigm shifts"...

From Mathematics to Generic Programming -- Alexander A. Stepanov, Daniel E. Rose

Hot off the presses today, at 320 pages:

From Mathematics to Generic Programming

By Alexander A. Stepanov, Daniel E. Rose

From the book description:

In this substantive yet accessible book, pioneering software designer Alexander Stepanov and his colleague Daniel Rose illuminate the principles of generic programming and the mathematical concept of abstraction on which it is based, helping you write code that is both simpler and more powerful.

If you’re a reasonably proficient programmer who can think logically, you have all the background you’ll need. Stepanov and Rose introduce the relevant abstract algebra and number theory with exceptional clarity. They carefully explain the problems mathematicians first needed to solve, and then show how these mathematical solutions translate to generic programming and the creation of more effective and elegant code. To demonstrate the crucial role these mathematical principles play in many modern applications, the authors show how to use these results and generalized algorithms to implement a real-world public-key cryptosystem.

As you read this book, you’ll master the thought processes necessary for effective programming and learn how to generalize narrowly conceived algorithms to widen their usefulness without losing efficiency. You’ll also gain deep insight into the value of mathematics to programming–insight that will prove invaluable no matter what programming languages and paradigms you use.

You will learn about

  • How to generalize a four thousand-year-old algorithm, demonstrating indispensable lessons about clarity and efficiency
  • Ancient paradoxes, beautiful theorems, and the productive tension between continuous and discrete
  • A simple algorithm for finding greatest common divisor (GCD) and modern abstractions that build on it
  • Powerful mathematical approaches to abstraction
  • How abstract algebra provides the idea at the heart of generic programming
  • Axioms, proofs, theories, and models: using mathematical techniques to organize knowledge about your algorithms and data structures
  • Surprising subtleties of simple programming tasks and what you can learn from them
  • How practical implementations can exploit theoretical knowledge

Introducing Proxygen, Facebook's C++ HTTP framework -- Daniel Sommermann and Alan Frindell

proxygen.PNGFresh from Facebook's coding blog:

Introducing Proxygen, Facebook's C++ HTTP framework

by Daniel Sommermann and Alan Frindell

From the announcement:

We are excited to announce the release of Proxygen, a collection of C++ HTTP libraries, including an easy-to-use HTTP server. In addition to HTTP/1.1, Proxygen (rhymes with "oxygen") supports SPDY/3 and SPDY/3.1. We are also iterating and developing support for HTTP/2. ...

Proxygen began as a project to write a customizable, high-performance HTTP(S) reverse-proxy load balancer nearly four years ago. We initially planned for Proxygen to be a software library for generating proxies, hence the name. But Proxygen has evolved considerably since the early days of the project. While there were a variety of software stacks that provided similar functionality to Proxygen at the time (Apache, nginx, HAProxy, Varnish, etc), we opted go in a different direction...

spdlog: Fast C++ logging library

Just announced:

spdlog: Super fast C++ logging library [GitHub]

The description is really "in a nut":

Very fast, header only, C++ logging library.

Install: Just copy the files to your build tree and use a C++11 compiler

Features:

  • Very fast -- performance is the primary goal (see becnhmarks below)
  • Headers only
  • No dependencies
  • Cross platform - Linux / Windows on 32/64 bits
  • Mult/Single threaded loggers
  • Rotating log files
  • Daily log files
  • Console logging
  • Optional async logging
  • Logging levels
  • Custom formatting with user defined patterns

Boost 1.57.0 has been released

Some welcome news from Boost.org...

Boost 1.57.0 has been released

These open-source libraries work well with the C++ Standard Library, and are usable across a broad spectrum of applications. The Boost license encourages both commercial and non-commercial use.

This release contains one new library and numerous enhancements and bug fixes for existing libraries.

Read the full announcement for all the details, and for download links.