Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

** 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 previously 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.

like image 681
Fanatic23 Avatar asked Nov 20 '10 13:11

Fanatic23


3 Answers

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.

like image 133
Steve Townsend Avatar answered Nov 06 '22 12:11

Steve Townsend


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.

like image 33
wheaties Avatar answered Nov 06 '22 13:11

wheaties


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.

like image 25
Gunther Piez Avatar answered Nov 06 '22 13:11

Gunther Piez