Комментарии 26
Из-за решения, принятого давным-давно, чтобы принести деньги одной компании, мой $клиент потратил деньги на оплату мне, чтобы я исправил баг, внесённый одной компанией случайно, а другая специально
Невероятный перевод.
+19
Редакторы редактировали редактировали, да не выредактировали. «Другая» / «другой» исправил, спасибо. Если есть предложения, как лучше фразу построить (не только в этом месте) — напишите.
0
Разбейте фразу на несколько и перестройте ее более литературно. К примеру:
Я исправил баг, естественно за деньги клиента. Эти деньги клиенту пришлось заплатить потому, что в своё время две компании допустили ошибки. Одна компания приняла неправильное решение ради бабла. А другая просто ошиблась — со всеми случается.
0
Какая жесть!
А бинарники у Office это ещё то удовольствие…
А бинарники у Office это ещё то удовольствие…
0
А в чем заключается упрощение Lotus при исчислении 1900го года как високосного?
+1
Последние годы столетий, оканчивающиеся на два нуля, в трёх случаях из четырёх не являются високосными. Так, годы 1700, 1800 и 1900 не являются високосными, так как они кратны 100 и не кратны 400. Годы 1600 и 2000 — високосные, так как они кратны 400. Годы 2100, 2200 и 2300 — невисокосные.© Википедия
+3
Не нужно городить огород ради одного-единственного года, делящегося на 4, но при этом не високосного (даты до 1900го года и после 2100го Lotus-1-2-3 не поддерживал). То же самое упрощение, что и на Mac'е, только по другому реализованное: одни исключили даты до 1904го, другие — посчитали, что 1900й високосный и то и другое ведёт к одинаковому упрощению формул. Только несовместимому.
+1
В чём, собственно, упрощение? Единожды написать функции для работы с датами (сложение, вычитание, дни недели и прочее), а затем использовать их не такая уж и хитрая затея. Почему на таком простом моменте сэкономили?
+2
Единожды написать функции для работы с датами (сложение, вычитание, дни недели и прочее), а затем использовать их не такая уж и хитрая затея.Да? А если уточнить, что мы работаем с IBM 5150, в базовой поставке которой всей памяти — 16KiB? Это под DOS, программы и прочее.
Правда на 16KiB Lotus 1-2-3 никогда не работал, но даже «роскошные» 192KiB дорогого комплекта, необходимого для запуска Lotus 1-2-3 (для PCjr была версия на картридже, так как в нём было всего лишь 128KiB) как бы не дают особо разбежаться. Вам в эти 192KiB ведь нужно не только код уместить, но и все данные из вашей таблицы. И потому хочется, чтобы кода было поменьше, а данных — побольше.
Почему на таком простом моменте сэкономили?Ну дык из таких вот «мелочей» и складываются килобайты. Тут пара процедур, там ещё одна — и глядишь уже и 192KiB мало будет.
+3
К тому же определение високосности по григорианскому календарю — это лишнее деление на 100, которое в отличие от деления на 4 не оптимизируется сдвигом. Целочисленное деление в x86 только относительно недавно оптимизировали (Core i7, AMD FX), а в те времена это могло стать дополнительным источником тормозов
0
Забыл добавить ссылку на Спольски:
www.joelonsoftware.com/items/2006/06/16.html
Там пишется, что разработчики Lotus просто проверяли последние два бита. Если нули, то год високосный.
www.joelonsoftware.com/items/2006/06/16.html
Там пишется, что разработчики Lotus просто проверяли последние два бита. Если нули, то год високосный.
+2
До сих пор пожинаем плоды стандартов de facto. Lotus Software должны гордиться!
0
Microsoft'у тоже есть чем гордиться: завоевав рынок и получив возможность упростить формат он предпочёл вместо этого добавить VRML, X3D и прочее. В результате разобрать этот «стандартный» и «открытый» формат настолько сложен, что даже сам Microsoft не рискует писать кросс-платформенный код, делающий это (MS Office для Mac'а использует парсет от MS Office для Windows обвешанный изрядным количеством костылей).
0
Закрытые псевдостандарты, итог предсказуем.
0
Интересно, а в DeLorean чья прошивка сбрасывала дату на 1885 — яблочная или мелкомягкая?:)
+16
Не хватает тэга Perl.
+3
Действительно интересная особенность.
Надо будет учитывать это в будущем.
MS Excel 2007, високосный 1900 год:
Надо будет учитывать это в будущем.
MS Excel 2007, високосный 1900 год:
0
Спасибо за статью, было очень познавательно. Открыл для себя много нового в летоисчислении.
-2
Интересно как ведёт себя OpenOffice/LibreOffice, там тоже скопировали это поведение?
+1
«Событие дня! Причиной бага, которого исправляли 50 лет, стала точка с запятой после while(true)!»
Извините, не удержался :)
Извините, не удержался :)
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Борьба с тридцатилетним багом