Навеяло несколькими прочитанными недавно статьями и комментариями к ним.
Люди, помните - "дерьмо случается"! Конечно, хорошо жить в мире где всё идет строго по плану, работает без ошибок и сбоев, никто не пытается ни в чем навредить и так далее - от только где он, этот мир?
Вот недавнее: джава-скрипты в браузере сожрали кучу памяти, потому что где-то на роутере пакеты не проходили так, как от них ожидалось.
Хорошо, конечно, что причину удалось найти — но как вообще могло такое получиться?
Что, если между браузером и сайтом будет 100 500 узлов, 13 стран, и пара ТСПУ, на которых кто‑то решит бороться с мошенниками, делая обрезание каждому 6 пакету?
Гарантий — никаких. Как вообще может существовать софт, точн��е, как его могли написать программисты, которые «знали о возможном наступлении проблемы, но самонадеянно полагали ее избежать»?
Или вот пишет кто‑то программу, запрашивает память — немного, всего пару сотен мегабайт — подумаешь, ведь у него на машине 64 гигабайта!
А что, если память не выделилась? И ведь это можно проверить прямо там, в коде — «а зачем?» ©
Но вот у кого‑то браузер как раз сожрал всю память, залез в своп и сожрал его тоже, и теперь несчастная программа, попросив всего‑то жалкие 200 мегабайт памяти под буфер — получает NULL.
И тут же отважно лезет что‑то писать по этому адресу. Кто виноват? Конечно, зловредный NULL, давайте с ним бороться! Создадим новый язык программирования,в котором в NULL писать безопасно.
У кого-то та же история с файлом: файл открыт, данные в него пишутся, пишутся в него данные... А проверять будет Пушкин, Александр Сергеевич - что места на диске давно нет.
И такое повсеместно. Взять, к примеру, аккумуляторы - по идее их может защитить BMS, но "BMS это зло - она может отключить батарею, и что-то где-то сгорит/заклинит/перевернется!"
Но ведь батарея может отключиться по любой дргой причине — проводок оторвался, гаечка открутилась, шаловливые ручки забыли затянуть — так что теперь, всё должно сразу сгорать?
Или вот блоки питания: кто не слышал про «220В в розетке»?
А если их выпрямить и поставить сглаживающий конденсатор? На сколько вольт? На 250 хватит?
Но забывают что сеть всегда 3-фазная, и если где‑то в квартире всего одна фаза — значит где‑то в другой — вторая. Её, вторую, кто‑то закоротит на «нейтраль» — а на вашей появится 380В межфазного напряжения.
И вот пошла гореть аппаратура по квартирам... Солидные, большие компании делали, не DIY какой‑нибудь...
Ну как так-то? Оно обязательно сломается, нужно просто рассчитывать на это заранее и немного подстраховаться.
