Because one of the strengths of email is that it is a decentralised, multi-vendor platform. The fact that you use gmail doesn't prevent me from using hotmail, yahoo, or whatever, or rolling my own. And that works fine, until one or two players has a dominant position. See what Google has done with their XMPP support, for example. When they were the underdog, they were happy to federate with everyone in a vendor-neutral network. Now they're increasingly trying to lock users into using their network (I think federating is up at the moment, but you can't add new contacts on non-Google-hosted domains).
The other aspect is privacy. If a certain percentage of my social graph uses gmail, then it doesn't matter that I don't - Google can still get a fairly accurate view of the shape of that graph, which is valuable to them. The other poster claimed that it's a reaction to whatever is popular, and he's right in a sense: email is a more robust network when there are no particularly popular providers and when people are fairly evenly spread between a smaller number.
Though I never intended for Auro to be a “retro-style” game, what I intended doesn’t matter at all, and it’s 100% my fault for failing to communicate in a language people understand.
C++11 has, for me, made the language tolerable. The old problem of C++ is still there: everyone agrees that you should only use a subset of the language, but no two developers agree on what that subset should be. Now, at least, there are things in the standard library that let you write APIs that have sensible memory management. shared_ptr and weak_ptr let you manage objects that can be aliased (with a small run-time overhead), unique_ptr lets you handle objects that can't be. Refactoring existing C++ APIs to use them takes a bit of time, but they're well worth it. With the addition of move constructors / r-value references to the language they can be implemented in such a way that they can trivially be stored in arbitrary collections, making them actually useful.
It's also been nice to see C++11 and C++14 supported by compilers and standard libraries quickly. C++14 was supported by Clang and libc++ by the time the standard was ratified by ISO. I think GCC and libstdc++ were only a couple of days later. Microsoft is still the slowest, but the latest versions of their compiler support most of the useful language features.
Just because a piece of software is old, doesn't mean it's suddenly doesn't do its intended function.
It usually does, because the intended function changes over time. This is particularly true for business software (COBOL's niche), where regulatory requirements change over time and as companies grow to cover more jurisdictions, where accounting best practices change, where the company structure changes, and so on. Eventually you get to the point where the software was originally designed to do something so totally different to what it's doing now that it may make more sense to rewrite it than to keep adding hacks.
New York... when civilization falls apart, remember, we were way ahead of you. - David Letterman