Thread: Many thanks to Alex

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    Since C++11 took so long to come out, how is it that C++14 is coming so much quicker?
    O_o

    I'd say a combination of politics and feature creep.

    Many different groups had competing interest in getting their version of different proposals pushed to the standard. As you are surely aware, C++ is far from perfect. Different vendors developed incompatible fixes for some of the core language issues which of course means that different vendors wanted their version in the standard.

    You can imagine the politics for "Who has the best fix?", but you also have compiler extensions, and some community members developed insanely complex extensions --often using "G++" as a foundation. Unfortunately, a lot of those extensions were developed in isolation resulting in many collisions--problematic when combined. How best to integrate vastly different extensions often required developing further extensions which resulted in yet more problems, and once all of those collision issues are fixes you still have to smooth out the wrinkles so that the features seem familiar and consistent with everything people were already writing.

    You also have "Boost". The thing is, "Boost" is a great library; except that it totally isn't a library. Many dozens of different groups have worked on different libraries using the same or similar standard set by early "STL" implementations and the standard library as a foundation for moving forward. As "Boost" became a thing, "Boost" grew by absorbing many libraries. (I think recommended libraries to be distributed as part of "Boost" is still open to the public developers site.) "Boost" became massive. The C++ library is already very large, and many people wanted to include most all of "Boost" or similar in the future standard. "Boost" has a permissive license, but some vendors absolutely could not have just shipped "Boost", and even as a library you get the same sort of collision issues as above. Of course, a lost of people didn't want to include but a few scraps from "Boost". How much and where to add was just a ridiculously complex question.

    Of course, politics and feature creep is also why the next standard has a shorted development cycle. The core changes in C++11 were contentious for a lot of reasons, but a lot of the core changes in C++14 are simply logical continuation of the C++11 features making them less problematic. You also have a standard committee who is more wary and tired of the political problems which arose due to the long wait so they intend a more rapid cycle simply to put the rubber seal, so to speak, on fixes and extensions as they evolve so that competing implementations have less time to become ingrained.

    Soma
    “Salem Was Wrong!” -- Pedant Necromancer
    “Four isn't random!” -- Gibbering Mouther

  2. #2
    Registered User Alpo's Avatar
    Join Date
    Apr 2014
    Posts
    877
    Quote Originally Posted by phantomotap View Post
    O_o

    You also have "Boost". The thing is, "Boost" is a great library; except that it totally isn't a library. Many dozens of different groups have worked on different libraries using the same or similar standard set by early "STL" implementations and the standard library as a foundation for moving forward. As "Boost" became a thing, "Boost" grew by absorbing many libraries. (I think recommended libraries to be distributed as part of "Boost" is still open to the public developers site.) "Boost" became massive. The C++ library is already very large, and many people wanted to include most all of "Boost" or similar in the future standard. "Boost" has a permissive license, but some vendors absolutely could not have just shipped "Boost", and even as a library you get the same sort of collision issues as above. Of course, a lost of people didn't want to include but a few scraps from "Boost". How much and where to add was just a ridiculously complex question.

    Of course, politics and feature creep is also why the next standard has a shorted development cycle. The core changes in C++11 were contentious for a lot of reasons, but a lot of the core changes in C++14 are simply logical continuation of the C++11 features making them less problematic. You also have a standard committee who is more wary and tired of the political problems which arose due to the long wait so they intend a more rapid cycle simply to put the rubber seal, so to speak, on fixes and extensions as they evolve so that competing implementations have less time to become ingrained.

    Soma
    I see. I did notice from doing internet searches that a lot of the new classes were concepts from boost. Thank you for the detailed explanation.

    Do you think it would still be advantageous to learn boost? If that's not to general a question, I imagine it probably varies on a case by case.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Alex's exercise Chapter 6 Ex3
    By Valentas in forum C++ Programming
    Replies: 3
    Last Post: 01-25-2013, 10:55 AM
  2. fault in eBook Alex?
    By Reinmaster7 in forum C++ Programming
    Replies: 13
    Last Post: 05-06-2012, 11:31 PM