2013 | C++
JavaScript developers who faint at the sight of && or :: . Or anyone who thinks Python’s GIL is "not that bad." Final note: If you're writing C++ today (C++20/23), thank 2013. That was the year the committee stopped polishing the deck chairs on the Titanic and started rebuilding the ship.
Initialization was still a minefield:
Foo f1(); // Most vexing parse: it's a function declaration. Foo f2{}; // Ah, uniform initialization. Unless it isn't. And compile times? You could brew coffee, drink it, and contemplate your life choices while #include <boost/spirit/> did its dark magic. std::string didn’t have starts_with() or ends_with() . You rolled your own or used .find() == 0 like a savage. std::regex was in the standard—but its performance was so tragically slow that many shops banned it in hot paths. 2013 c++
std::for_each(v.begin(), v.end(), [](int x) { std::cout << x * 2 << "\n"; }); Smart pointers ( unique_ptr , shared_ptr ) moved from "Boost-only magic" to standard-issue memory safety. Raw new and delete started looking like exposed wiring in a modern home. But let’s not rewrite history. C++ in 2013 still had teeth—and fangs. Move semantics were powerful, but the rules for when a move happens vs. a copy were arcane enough to require a PhD in "value category theology" (lvalues, rvalues, xvalues, glvalues, prvalues... shudder ). JavaScript developers who faint at the sight of && or ::
2013 was the year C++ stopped being your dad’s systems language and started flirting with modernity. The ISO standard known as C++11 (published late 2011) had finally trickled down from compiler god-mode to everyday build systems. GCC 4.8.1 was solid. Clang 3.3 was a revelation. Even Visual Studio 2013— yes, Microsoft —started playing catch-up with real move semantics and variadic templates. Let’s start with auto . In 1998, auto was a joke—a keyword that meant "please ignore me." In 2013, auto meant finally, I don't have to type std::vector<std::unique_ptr<Foo>>::const_iterator like a medieval scribe . Initialization was still a minefield: Foo f1(); //
It was ugly in places. It was over-engineered in others. But for the first time in over a decade, C++ felt alive .