Getting non-deterministic, or random behaviour in a program is one of the trickiest problems in computer science, as most computers are deterministic devices by design.

In their recent meeting in Urbana, the C++ standard committee took the rare step of removing several outdated facilities from (what will probably become) C++17. Most of the things removed had been deprecated since C++11, but there was one surprising item on the list: std::random_shuffle(). Its removal is a signal of a big change that has been building in the background for a while: the end of std::rand(). Continue Reading