开发者

Do existing libraries die when a new feature comes in as part of the language core?

开发者 https://www.devze.com 2023-01-26 05:51 出处:网络
** Please people, this question is not meant to begin any flame war. ** I am trying to understand what happens to existing libraries implementing some functionality when the same functionality that w

** Please people, this question is not meant to begin any flame war. **

I am trying to understand what happens to existing libraries implementing some functionality when the same functionality that was not pre开发者_JAVA技巧viously there in the language now comes in as part of the language? For e.g. C++ would soon have std::thread as part of the language standard so what happens to the POSIX or Boost Libraries?

I would also be keen to understand what experiences users of other programming languages might have in this regard.


Adoption of new technology never happens overnight. There will be a lag while compilers implement the new Standard Library versions, and then another lag while those compilers reach developers.

My last two jobs have featured occasional interaction with Visual C++ 6, which is over 10 years old. There is great reluctance to move from working code to a new if improved model.

If old libraries do die, it's through a process of gradual obsolescence rather than sudden mass extinction.

Depending on the library, it's possible that the upcoming standard simply captures a snapshot of current function, and the parent library will continue to evolve as an incubator for C++1x, C++2x and so on.


Sometimes library authors continue to maintain their library because their library does something slightly different than how it is done within the language: either this difference offers a unique advantage or is fundamentally easier to grok. Whatever the case, if there is enough user desire to see it continue or if the author is stubborn it will continue to be maintained. Eventually, though, people just use what comes naturally in a language if the advantage is not great enough.


C++ std::thread is in large parts based on boost threads. So boost threads will never really disappear, they will live on in the standard C++ library. Additionally, on many platforms boost threads use posix threads as backend, so they will never disappear too.


Such thing hasn't happened yet. C++ has only one implementation so far.

0

精彩评论

暂无评论...
验证码 换一张
取 消