Выбрать главу

80 Из этого примера очевидна и ещё одна важная вещь: простота и читабельность кода — не синонимы. Хорошо читаемый код получается не только благодаря изящной реализации алгоритма, но и наглядной визуальной структуре текста программы и, главное, хорошим комментариям. Словно лёгкий макияж, который не скрывает, а подчёркивает, помогает оценить красоту естественных черт, комментарии и структура делают замысел творца понятным с первого взгляда.

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

100 Кстати, самое время вспомнить и о ранее упомянутой красоте математических построений. Так вот: математики сходятся во мнении, что красота матобъекта обратно пропорциональна затраченным на его понимание усилиям. В точку! После такого можно даже согласиться с навязшим на зубах стереотипом, что программированию нужно учить параллельно с математикой!

110 Но давайте подведём итог. Что мы выяснили? Прежде всего — красота кода не зависит от языка. Программа может быть красивой на ассемблере и Malbolge — нашёлся бы человек, желающий и способный её оценить!

120 Далее, красота отнюдь не бессмысленна с практической точки зрения. Программы, как и рукописи, не горят. И через какое-то время с написанным вами кодом почти неизбежно придётся иметь дело кому-нибудь ещё (возможно, и вам самому). Поэтому лучше сразу постараться писать красиво, облегчить труд того, кто примет ваше детище.

130 Наконец, третий и, возможно, самый приятный для программистской братии вывод: «наведение» красоты, её достижение — отнюдь не чисто механический процесс. Красивый код нельзя получить решейпингом, ренумерацией, оптимизацией. Для этого обязательно понадобится голова! И это в некотором смысле дарит нам надежду. Ведь роботы, которые уже подминают под себя фастфуд и журналистику, однажды доберутся и до программирования (доберутся-доберутся, вспомните комментарии к «Ошибке в автомобильном софте»!) — но и тогда, похоже, местечко для нас, человеков, всё-таки останется.

К оглавлению

Гея и (как бы) хозяин природы: ждёт ли Чили новое Великое землетрясение?

Евгений Золотов

Опубликовано 03 апреля 2014

Природа непредсказуема. Никто не смог назвать заранее час падения Челябинского метеорита, не предвидел высоту волны, залившей Фукусиму. И десятки, сотни стихийных бедствий в прошлом обрушились на человека так же неожиданно. Но одно дело — говорить о трудностях прогнозирования, когда всё уже в прошлом, другое — обсуждать их, когда события продолжают развиваться и точка ещё не поставлена. Такова текущая ситуация в Чили и прилегающих районах Тихого океана. Поздним вечером 1 апреля там случилось сильное землетрясение. И главный вопрос — увы, повисший в воздухе! — стоит ли ожидать в ближайшем времени ещё более жестокого удара.

Расклад простой. Около 9 часов вечера вторника в 95 км от портового городка Икике (200 тыс. жителей) произошло землетрясение магнитудой 8,2 — одно из сильнейших, зафиксированных в XXI веке. Три четверти часа спустя на западное побережье Южной Америки обрушилось двухметровое цунами. Об угрозе цунами было предупреждено и население всех территорий вокруг эпицентра, включая Гавайи, Коста-Рику и др. Значительных жертв, к счастью, удалось избежать, но без разрушений не обошлось.

Если помните, шкала для оценки магнитуды землетрясений — логарифмическая (ранее применялась шкала Рихтера, теперь — шкала Канамори, более точно отражающая мощные сдвиги земной коры), то есть прирост на 1 единицу по ней означает увеличение амплитуды в 10 раз (и многократно больший прирост выделяющейся энергии). Так вот, в среднем размах пережитого чилийцами подземного толчка более чем десятикратно превзошёл большинство крупных землетрясений с начала века (чаще всего ограниченных магнитудой 7).