Рубрика «обратная совместимость» - 2

Многим приходится иметь дело со старыми аппаратными интерфейсами: к примеру, это наследственные команды в процессоре или режимы работы оборудования. Программисты могут поспорить, что подобное усложняет разработку программного обеспечения, является проблемой с точки зрения безопасности и банально не нужно, поскольку софт работает хуже в режиме совместимости. Инженеры рвут волосы при очередном упоминании необходимости добавить поддержку старого оборудования. И их можно понять.

Но вычислительные машины ценны не своими характеристиками, а набором программного обеспечения, которое они могут запускать. Именно поэтому во многих ситуациях так важно обеспечивать обратную совместимость с оборудованием предыдущего поколения — нравится это разработчику или нет. Но иногда обратная совместимость принимает причудливые формы. Сложно подобрать правильное слово: то ли это «костыли», то ли вполне обоснованные решения.
Читать полностью »

Привет! Меня зовут Сергей Константинов, в Яндексе я руковожу разработкой API Карт. Недавно я поделился опытом поддержки обратной совместимости со своими коллегами. Мой доклад состоял из двух неравных частей. Первая, большая, посвящена тому, как правильно разрабатывать API, чтобы потом не было мучительно больно. Вторая же про то, что делать, если вам нужно что-то рефакторить и не сломать по дороге обратную совместимость.

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

Для разработчика обратная совместимость в первую очередь подразумевает, что единожды принятое обязательство предоставлять какую-либо функциональность невозможно отменить, исправить или перестать поддерживать.
Читать полностью »

Многие из нас время от времени любят поиграть в старые игры. Классика вроде Fallout I и II, Космические Рейнджеры, линейка Command & Conquer и т.д. Однако современные версии Windows не обладают достаточным уровнем обратной совместимости и очень часто многочасовые попытки запустить старую игру обречены на провал.

Одна из наиболее критических проблем — графика. Одни игры не могут работать с широкими экранами, другие, ни о чём не подозревая, пользуются ошибками в старых версиях DirectX или DirectDraw, третьи не могут жить без 16-битного цвета. Зачастую трудно определить конкретную проблему, но многие из них без особого труда сможет решить… Читать полностью »

Эпическое письмо Линуса Торвальдса от 8 марта 2012 года в листе рассылки разработчиков ядра Linux (Linux Kernel Mailing List) c трудом поддаётся переводу из-за обильного использования экспрессивной лексики.

Написано в ответ на сообщение Эрика Бидермана (Eric W. Biederman) того же дня.

>>Сохранение совместимости достаточно простое дело, так что оно
>> стоит того, но поддержка 30+ лет обратной совместимости...

Остановись прямо тут.

Дело *не* в какой-то произвольной «30-летней обратной совместимости».

Дело в том, что твой патч ЛОМАЕТ СУЩЕСТВУЮЩИЕ БИНАРНИКИ.

Так что хватит уже пороть чушь! Показали, что патч негодный, перестань извиняться и нести околесицу.

Конец истории. Бинарная совместимость важнее, чем *любой* из твоих патчей. Если ты продолжишь приводить аргументы или извиняться, я попрошу людей, чтобы они полностью игнорировали твои патчи.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js