Коллектив Авторов - Цифровой журнал «Компьютерра» № 219
- Название:Цифровой журнал «Компьютерра» № 219
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Коллектив Авторов - Цифровой журнал «Компьютерра» № 219 краткое содержание
Сенат США против одесского кибер-Привоза Автор: Михаил Ваннах
Как интернет-экономика зарабатывает на украинской беде Автор: Михаил Ваннах
Суперкомпьютеры и суперсерверы: сегодня падение, а завтра подъём? Автор: Михаил Ваннах
Промзона8 часов из жизни аэропорта Лос-Анджелеса на одном фото Автор: Николай Маслухин
Система шумоподавления для окон Автор: Николай Маслухин
Встроенный в колесо буксир поможет авиалайнерам маневрировать на земле Автор: Николай Маслухин
Tesla усиливает защиту своих автомобилей титановым щитом Автор: Николай Маслухин
Разработан подстаканник для беспроводной зарядки телефона в автомобиле Автор: Николай Маслухин
ТерралабAndroid и автономность: как решают проблему производители Автор:
ТехнологииЗащита удалённых хранилищ: ключи в руках и в облаках Автор: Андрей Васильков
На подзарядку становись! Электрокипячение мозгов в домашних условиях Автор: Евгений Золотов
Как Dropbox распознаёт пиратские файлы Автор: Андрей Васильков
Фальшивые «соты», неправильный «мёд»: кто и для чего ломает сети сотовой связи? Автор: Евгений Золотов
Как хакеры используют QR-коды для взлома систем Автор: Олег Нечай
Intel Edison: компьютер размером с карту SD становится умнее Автор: Андрей Васильков
Дорогу киборгам! Кибатлон и рамки разумного Автор: Евгений Золотов
Гуманоидные роботы по гуманной цене Автор: Андрей Васильков
Ода красивому коду Автор: Евгений Золотов
Гея и (как бы) хозяин природы: ждёт ли Чили новое Великое землетрясение? Автор: Евгений Золотов
Цифровой журнал «Компьютерра» № 219 - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
50 В первом приближении красота кода — это внешняя эстетика текста программы: хорошо организованная структура, выровненные строки, сгруппированные по смыслу элементы, пригнанные к формату комментарии. Но это вульгарное понимание, родственное попытке приравнять красоту к функциональности. Копните чуть глубже — и выяснится, что ключевую роль здесь играет простота. Похоже, красивый код должен быть максимально простым — таким, чтобы в нём не осталось ничего лишнего, но при этом он решал бы задачу, ради которой написан. Простоты, как правило, никто не требует, зато движение с ориентиром на неё даёт целый букет полезных свойств.

60 Простота способствуют скорейшему пониманию программы читающим её. Она гарантирует, что в коде будет минимум ошибок и слабых мест. С высокой вероятностью делает код минимальным по размеру, наименее требовательным к системным ресурсам и максимально быстрым. Наконец, простота почти наверняка означает, что проект не «рос по ходу дела», а был тщательно продуман, спроектирован ещё до того, как автор коснулся клавиатуры. Такая программа сравнительно легко может быть расширена, когда понадобится добавить в неё новый функционал.
70 Не скажу за всех, но лично для меня эталоном простоты, моей «киберпалеолитической Венерой», навсегда останется короткий отрывок на ассемблере Intel 8080. Всего одна команда. Вот она:
XOR A
Надеюсь, те, кто программировал в восьмибитную эпоху, пережили сейчас несколько приятных секунд. Смысл этой операции — в обнулении регистра A. Того же можно достичь прямо, присвоением (MVI A,0), но «исключающее ИЛИ» позволяет сделать это короче, сэкономив один байт. Совсем не лишнее, когда вся оперативная память умещается в 64-килобайтную страницу! Впрочем, только ли из экономии так писали? XOR A была как удачно угаданная нота в музыкальной гамме: она дарила то самое эстетическое наслаждение!

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

110 Но давайте подведём итог. Что мы выяснили? Прежде всего — красота кода не зависит от языка. Программа может быть красивой на ассемблере и Malbolge— нашёлся бы человек, желающий и способный её оценить!
120 Далее, красота отнюдь не бессмысленна с практической точки зрения. Программы, как и рукописи, не горят. И через какое-то время с написанным вами кодом почти неизбежно придётся иметь дело кому-нибудь ещё (возможно, и вам самому). Поэтому лучше сразу постараться писать красиво, облегчить труд того, кто примет ваше детище.
130 Наконец, третий и, возможно, самый приятный для программистской братии вывод: «наведение» красоты, её достижение — отнюдь не чисто механический процесс. Красивый код нельзя получить решейпингом, ренумерацией, оптимизацией. Для этого обязательно понадобится голова! И это в некотором смысле дарит нам надежду. Ведь роботы, которые уже подминают под себя фастфуд и журналистику, однажды доберутся и до программирования (доберутся-доберутся, вспомните комментарии к « Ошибке в автомобильном софте»!) — но и тогда, похоже, местечко для нас, человеков, всё-таки останется.
К оглавлению
Гея и (как бы) хозяин природы: ждёт ли Чили новое Великое землетрясение?
Евгений Золотов
Опубликовано03 апреля 2014
Природа непредсказуема. Никто не смог назвать заранее час падения Челябинского метеорита, не предвидел высоту волны, залившей Фукусиму. И десятки, сотни стихийных бедствий в прошлом обрушились на человека так же неожиданно. Но одно дело — говорить о трудностях прогнозирования, когда всё уже в прошлом, другое — обсуждать их, когда события продолжают развиваться и точка ещё не поставлена. Такова текущая ситуация в Чили и прилегающих районах Тихого океана. Поздним вечером 1 апреля там случилось сильное землетрясение. И главный вопрос — увы, повисший в воздухе! — стоит ли ожидать в ближайшем времени ещё более жестокого удара.
Расклад простой. Около 9 часов вечера вторника в 95 км от портового городка Икике (200 тыс. жителей) произошло землетрясение магнитудой 8,2 — одно из сильнейших, зафиксированных в XXI веке. Три четверти часа спустя на западное побережье Южной Америки обрушилось двухметровое цунами. Об угрозе цунами было предупреждено и население всех территорий вокруг эпицентра, включая Гавайи, Коста-Рику и др. Значительных жертв, к счастью, удалось избежать, но без разрушений не обошлось.

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