2014-06-04
Где-то у вас был заруб с энтузиастами, защищающими все до последней фичи С++ как "производственного языка". Не нашел. Но здесь тоже уместно оставить: мелочь, но иллюстрирующая. Картинку. Избыточные "исторически сложившиеся" конструкции в языке и их влияние на "производство".
Недавний баг у Эппла в реализации безопасного соединения
(пришлось выпускать срочное внеочередное обновление iOS):
http://www.wired.com/2014/02/gotofail/ И картинка оттуда, для наглядности.
Наличие в языке конструкции "if" statement (вместо "if" statements "endif") - исключительно опасно.
Вот по вышепроиллюстрированной причине.
И это было ясно уже в момент создания стандарта C++, уверен.
Но "исторически сложившаяся" конструкция победила.
Полагаю, стоимость одной этой конкретной эппловской ошибки превзошла стоимость введения несовместимости в язык в момент разработки стандарта.
(У нас, кстати, эта фича - как и многие другие - из производственного варианта языка административно выкинута.
"If" без фигурных скобочек запрещен к использованию в боевой обстановке.
Но именно ее отслеживать человеческим вниманием тяжело.
И своя рука то и дело норовит вставить, и из чужого кода вычеркнуть с дополнительным трудом подымается.
Ну экономия же. Пара скобок экономится...)
Педантизму ради сохраним и сообщение Эппла по поводу:
http://support.apple.com/kb/HT6147Apple Inc. писал(а):
iOS 7.0.6
Data Security
Available for: iPhone 4 and later, iPod touch (5th generation), iPad 2 and later
Impact: An attacker with a privileged network position may capture or modify data in sessions protected by SSL/TLS
Description: Secure Transport failed to validate the authenticity of the connection. This issue was addressed by restoring missing validation steps.
Ну твою же мать.
Стыдоба какая-то невероятная.Эппл, кстати, наш заказчик и гонять умеет так, как никто другой
(что исключительно положительно характеризует фирму с точки зрения качества ее изделий).
И однако вот. Не ожидал.