Qraizer

Advanced Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору Проблема курицы и яйца тут решается легко: стандарт - закон. Всё. Ну а если что-то из стандарта в некой конкретной реализации не реализовано, так об этом написано большими буквами в реадми. Так что статус-кво так или иначе соблюдается, хоть это и не всегда радует. Изменения в стандарте - до сих пор такая практика используется - всегда (почти) идёт с соблюдением обратной совместимости. Примеров тому немало - абсолютно неструктурный, но стандартизованный в этой своей форме switch; ключевые слова auto, inline и register, давно уж изжившие себя; С-библиотека вместо аналогичной по фунциональности "портированной" в C++; трёхвариантный char (знаковый, беззнаковый и никакой), вместо отдельно char и отдельно какие-нибудь signed/unsigned byte, например; итп. На нарушение принципа обратной совместимости идут крайне редко, и то только тогда, когда изменений в существующих проектах либо мало, либо они несложно реализуются. Либо таких проектов в принципе немного, хотя тут оценки, конечно, приблизительные. Например, отмена неявного int в составных типах. Поэтому нормально (читай, переносимо) написанный проект будет требовать совсем мало усилий для поддержки и сопровождения, не взирая ни на какие изменения в стандарте. Другое дело, когда проект насквозь пронизан расширениями стандарта. Тут авторам не позавидуешь. С другой стороны, кто им виноват, что они сами себя загнали в угол? Это я к Цитата: ...но кто ж например у нас в стране соблюдает все законы | Можно не соблюдать, но потом винить, кроме себя, будет некого. Что касается "законодательной" силы стандарта. Я в эпоху перед откровением как-то набросал большущую библиотеку, которая вся сплошь была метапрограммной. (Кстати, во время её написания "откровение" как раз и наступило. ) При том, что в то время её мог потянуть только Intel Compiler (точнее, всё, что юзает EDG, но не суть). Сейчас её прекрасно понимают (из доступных мне реализаций) Comeau и MSVC. Так что стандарт - это законодательная сила.
---------- Одни с годами умнеют, другие становятся старше. |
| Всего записей: 613 | Зарегистр. 08-08-2006 | Отправлено: 21:01 25-05-2007 | Исправлено: Qraizer, 21:11 25-05-2007 |
|