Умирают ли существующие библиотеки, когда в ядро ​​языка входит новая функция? - PullRequest
6 голосов
/ 20 ноября 2010

** Пожалуйста, люди, этот вопрос не предназначен для начала любой пламенной войны.**

Я пытаюсь понять, что происходит с существующими библиотеками, реализующими некоторые функции, когда те же функции, которых раньше не было в языке, теперь становятся частью языка?Например, в C ++ скоро будет std :: thread как часть языкового стандарта, так что же происходит с библиотеками POSIX или Boost?

Я также хотел бы понять, какой опыт могут иметь пользователи других языков программирования в этом отношении.

Ответы [ 4 ]

9 голосов
/ 20 ноября 2010

Внедрение новых технологий никогда не происходит в одночасье. Будет отставание, пока компиляторы реализуют новые версии стандартной библиотеки, а затем еще одно отставание, пока эти компиляторы доходят до разработчиков.

В моих последних двух работах было случайное взаимодействие с Visual C ++ 6, которому более 10 лет. Существует большое нежелание переходить от рабочего кода к новой улучшенной модели.

Если старые библиотеки умирают, это происходит через процесс постепенного устаревания, а не внезапного массового вымирания.

В зависимости от библиотеки, возможно, что будущий стандарт просто сделает снимок текущей функции, и родительская библиотека продолжит развиваться как инкубатор для C ++ 1x, C ++ 2x и т. Д.

4 голосов
/ 20 ноября 2010

Иногда авторы библиотек продолжают поддерживать свою библиотеку, потому что их библиотека делает что-то немного отличное от того, как это делается в языке: либо это различие дает уникальное преимущество, либо принципиально легче его прогнать.В любом случае, если есть достаточное желание пользователя увидеть его продолжение или если автор упрям, он будет продолжаться.В конце концов, однако, люди просто используют то, что естественно в языке, если преимущество недостаточно велико.

2 голосов
/ 20 ноября 2010

C ++ std :: thread состоит из больших частей, основанных на буст-потоках.Так что потоки наддува никогда не исчезнут, они будут жить в стандартной библиотеке C ++.Кроме того, на многих платформах повышающие потоки используют потоки posix в качестве внутреннего, поэтому они никогда не исчезнут.

0 голосов
/ 20 ноября 2010

Такого еще не было.C ++ пока имеет только одну реализацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...