Ошибка в миллиард долларов

sir_tony_hoare_img_5125

Сэр Чарльз Энтони Ричард Хоар изобрёл null указатели в программировании. В своей речи на конференции в 2008 году он попросил прощения за это:

— Я назвал это моей ошибкой, ценой в миллиард долларов. Изобретение ссылки null в 1965 году. В то время я разрабатывал первую всеобъемлющую систему типов для ссылок в объектно ориентированном программировании (ALGOL W). Моей целью было — гарантировать, что все ссылки абсолютно безопасны, благодаря проверкам, проводимым компилятором автоматически. Но я не устоял перед соблазном добавить null, просто потому, что это легко реализовать. Это повлекло за собой неисчислимое море ошибок, уязвимостей, системных сбоев, которые наверняка принесли ущерба в миллиарды долларов в последующие сорок лет.

via

Следует отметить, что новейшие языки программирования пытаются лучше защищаться от такого рода проблем:

Objective C: синоним null в нём является nil. Одним из самых замечательных свойств nil в Objective-C является возможность посылать ему совершенно любые сообщения (или «вызывать методы»), ответом на которые неизменно будет всё тот же nil. Можно не писать некоторые проверки:

/* Далеко, далеко за пределами нашей галактики… */
if (foo != nil && [foo testValue: 0x90]) { … }

/* Программисты же из Млечного Пути могут писать просто */
if ([foo testValue: 0x90]) { … }

Swift и Kotlin добавляют к описаниям типов данных «опциональные типы». Применяются в тех случаях, когда значение может отсутствовать. Опциональный тип подразумевает, что возможны два варианта: или значение есть, и его можно извлечь из опционала, либо его вообще нет.

Опубликовано в рубрике Android

Почему не будет мобильного приложения с картой общественного транспорта Томска

%d1%81%d0%bd%d0%b8%d0%bc%d0%be%d0%ba-%d1%8d%d0%ba%d1%80%d0%b0%d0%bd%d0%b0-2017-08-09-%d0%b2-11-41-18
Вчера разговорились с моим замечательным другом предпринимателем. Относительно недавно он стал совладельцем одного из автобусных маршрутов Томска. Для меня стало большим откровением, что оказывается, мобильное приложение для пассажиров с картой маршрутов и с движущимися по ним значками реальных автобусов — ОПАСНО!

Казалось бы, реальная польза для пользователя общественного транспорта: карта, маршруты, через сколько подъедет автобус… Лепота. Но, реальность круче. Подобное приложение, как оказалось было. Но водители маршруток стали его использовать для гонок с конкурентами. И мобильное приложение сочли опасным — убрали из общего доступа.