← Back to context

Comment by murderfs

2 days ago

The committee got burned, extremely badly, by C++03's export templates, where it got standardized without an implementation, and everyone realized it was basically unimplementable, and the only group that did, wrote a paper telling everyone not to [1]

This was well in mind when C++11 came around (especially since C++11 slipped so badly: it was originally "C++0x", and then they ran out of digits for x). By the time we hit C++20, I think the lessons were lost, especially when it came to there being two competing modules implementations and the committee deciding to select neither.

1: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2003/n14...

Wow, that paper is absolutely damning.

> Design: 1.5 years (elapsed) to come up with a design they believed they could implement.

> Development: 3 person-years (3 people × >1 year each)

> (Note: By comparison, implementing the complete Java language from scratch took the same team 2 person-years.