Hacker News new | comments | show | ask | jobs | submit login

A good example here would be C++. Look at how long it took for C++11 to be implemented, but now at least two compilers are feature complete (gcc + clang) and now they're on schedule to be feature complete for C++1y[1], with implementation + specification in sync.

[1] http://clang.llvm.org/cxx_status.html#cxx14

It also helps that C++ doesn't have nearly the number of implementers in position to screw stuff up. Unlike any number of webservers, SSL libraries, load-balancers, firewalls, proxies, etc.

How many C++11 compilers are there? This support matrix[1] seems to indicate there are 2 compilers in the lead, with 5 providing fairly decent coverage. How popular is XLC++?

And anyways, adding another compiler is something you choose to do, and usually run a bit of tests for, right? Unlike networking protocols where it's invisible to you that someone has some idiotic inspection hardware that segfaults on certain packets and drops your connection.

Edit: Also, even if two compilers are feature complete, it doesn't mean they implement the features in perfectly compatible ways, right?

1: https://wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport

And C++11 itself was implemented awfully quickly compared to C++03, exactly because this time around the Committee was much stricter about having reference (or at the very least prototype) implementations available before accepting anything into the Standard. As you mentioned, C++14 actually seems to be proceeding like it optimally should, so the Committee has certainly learned its lessons regarding this.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact