Читаем Цифровой журнал «Компьютерра» № 219 полностью

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

Первыми этот путь проделали роботы-пылесосы. Им не требуется быть гуманоидными, чтобы выполнять качественную уборку, но хотя бы одна рука очень пригодилась бы для повышения самостоятельности. Компания Roomba (выпускающая пылесосы iRobot) работает совместно с Гарвардским и Йельским университетами над созданием трёхпалого манипулятора. Его главным свойством будет возможность универсального применения в быту — от удержания крупных предметов до поднятия упавшей связки ключей.

К оглавлению

<p>Ода красивому коду</p><p><emphasis>Евгений Золотов</emphasis></p>

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

0 Какой красивый код!

10 Пусть тот, кто устал от этой фразы, первым бросит в меня камень. Это редкая и наверное самая ценная похвала, какой только может удостоиться программист. Деньги? Деньги платят за функционал. Но красоту программы способен оценить лишь человек, понимающий, как она работает, чего стоило её написать. Неуловимое, вечно ускользающее, всегда желанное для автора качество. Так нельзя ли его формализовать? Чтобы отныне и впредь наверняка писать только красивый код?

20 Красота — понятие размытое. Мы применяем его направо и налево, к живому и неживому, ухитряемся даже сравнивать на конкурсах, но не желаем, а может, и боимся признаться себе, что до конца не понимаем значение этого понятия — быть красивым. «Википедия» определяет красоту как способность объекта вызывать у наблюдателя эстетическое (в смысле — не привязанное к практической пользе) наслаждение. Проблема в том, что в любых двух точках пространственно-временно массива каноны красоты разнятся. 

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

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

50 В первом приближении красота кода — это внешняя эстетика текста программы: хорошо организованная структура, выровненные строки, сгруппированные по смыслу элементы, пригнанные к формату комментарии. Но это вульгарное понимание, родственное попытке приравнять красоту к функциональности. Копните чуть глубже — и выяснится, что ключевую роль здесь играет простота. Похоже, красивый код должен быть максимально простым — таким, чтобы в нём не осталось ничего лишнего, но при этом он решал бы задачу, ради которой написан. Простоты, как правило, никто не требует, зато движение с ориентиром на неё даёт целый букет полезных свойств.

60 Простота способствуют скорейшему пониманию программы читающим её. Она гарантирует, что в коде будет минимум ошибок и слабых мест. С высокой вероятностью делает код минимальным по размеру, наименее требовательным к системным ресурсам и максимально быстрым. Наконец, простота почти наверняка означает, что проект не «рос по ходу дела», а был тщательно продуман, спроектирован ещё до того, как автор коснулся клавиатуры. Такая программа сравнительно легко может быть расширена, когда понадобится добавить в неё новый функционал. 

70 Не скажу за всех, но лично для меня эталоном простоты, моей «киберпалеолитической Венерой», навсегда останется короткий отрывок на ассемблере Intel 8080. Всего одна команда. Вот она:

XOR A

Перейти на страницу:

Все книги серии Журнал «Компьютерра»

Цифровой журнал «Компьютерра» № 1
Цифровой журнал «Компьютерра» № 1

СОДЕРЖАНИЕ НОМЕРА:В Новый год — в новых форматах. Автор: Сергей Вильянов.Железо-2009: победы и достижения. Автор: Алексей Стародымов.BrowserLinux: проще некуда. Автор: Андрей Крупин.4G. Шанс России преодолеть цифровой разрыв. Автор: Юрий Домбровский.Beyerdynamic DTX 60 и MMX 100: ушки-люкс. Автор: Константин Иванов.Тысяча душ. Автор: Василий Щепетнев.Самые ожидаемые программные продукты 2010 года. Автор: Андрей Крупин.Новогодние подарки — советы по выбору гаджетов. Автор: Игорь Осколков.Корпус Zalman GS1000 Plus: пять с плюсом. Автор: Константин Иванов.2009 год глазами IT-бизнеса (обновлено). Автор: Марина Пелепец.Голубятня: Антихрист. Автор: Сергей Голубицкий.Приручение Коалы или два месяца с Ubuntu 9.10. Авторы: Григорий Рудницкий, Андрей Крупин.Обзор нетбука Manli iii M3. Автор: Игорь Осколков.Gazzetta, журнал, programma… Автор: Ваннах Михаил.Можно ли нарисовать улицу на картах Nokia? Автор: Георгий Киселев.Новогодние подарки — советы по выбору нетбуков и ноутбуков. Автор: Игорь Осколков.Программные алкотестеры. Автор: Андрей Крупин.Будущее Интернета. Автор: Михаил Карпов.Ни слова о Жомини. Автор: Василий Щепетнев.Беседы о современной физике. Автор: Алла Аршинова.Что готовит нам 2010 год. Автор: Алексей Лукацкий.Голубятня: Нефилимы. Автор: Сергей Голубицкий.Новогодние украшательства Windows. Автор: Андрей Крупин.Компьютеррные события года. Авторы: Сергей Вильянов, Василий Щепетнев, Юрий Ревич, Анатолий Вассерман, Козловский Евгений, Андрей Крупин, Михаил Карпов, Алексей Стародымов, Игорь Осколков.Море возможностей. Автор: Сергей Еремин.Logitech: необычная гарантия. Автор: Алексей Стародымов.Новогодние подарки — советы по выбору телефонов и смартфонов. Автор: Игорь Осколков.

Журнал «Компьютерра» , Компьютерра

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT
Цифровой журнал «Компьютерра» № 2
Цифровой журнал «Компьютерра» № 2

СОДЕРЖАНИЕ НОМЕРА:За что могут посадить компьютерщика? Автор: Майор Мышкин.И для VAS, и для нас. Автор: Сергей Вильянов.Новинки CES 2010. Избранное. Автор: Алексей Стародымов.Голубятня: Золотой ключик. Автор: Сергей Голубицкий.Чаевые как новая парадигма бизнеса. Автор: Михаил Куцов.Обзор док-станции для жёстких дисков IcyBox IB-110. Автор: Игорь Осколков.CES 2010: мобильная связь. Автор: Алексей Стародымов.Василий Щепетнёв: О пользе волшебства. Автор: Василий Щепетнев.Частное охранное предприятие времён киберпанка. Автор: Ваннах Михаил.Голубятня: Факевар. Автор: Сергей Голубицкий.Кивино гнездо: Симулятор религии.Кулеры под LGA1156. Автор: Константин Иванов.Как я работал корпоративным программистом. Автор: Iseman ICEBERG.Василий Щепетнёв: Продолжение думы о пятачке. Автор: Василий Щепетнев.Обзор плеера Sony Walkman NWZ-E440. Автор: Алексей Стародымов.Голубятня: Файнридер 10. Автор: Сергей Голубицкий.Сергей Орловский (Nival): А на десерт будет полноценная модель мира. Автор: Марина Пелепец.Апокалипсис вчера, сегодня, завтра. Автор: Анатолий Вассерман.Голубятня: Симплиций о ДЕГе. Автор: Сергей Голубицкий.Агентство завтрашних проблем.

Журнал «Компьютерра» , Компьютерра

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT
Цифровой журнал «Компьютерра» № 3
Цифровой журнал «Компьютерра» № 3

ОглавлениеBETT 2010: каким мир видит образование будущего? Автор: Сергей ВильяновКивино гнездо: Подбит на взлёте Автор: БЕРД КИВИПротиворакеты Поднебесной Автор: Ваннах МихаилИнтерактивное видео Автор: Максим РудольскийПочему Google уходит из Китая? Автор: Тимофей БахваловВасилий Щепетнёв: Усмиритель Хаоса или Последний декрет Ильича — 2 Автор: Василий ЩепетневКомпьютер в школе: панацея или плацебо? Автор: Сергей ВильяновNexus One — андроидный провал Автор: Фадеев МихаилWindows Mobile в шкуре Google Android Автор: Андрей КрупинОт 430 до 500 Вт: блоки питания на любой случай, часть 1 Автор: Константин ИвановМедиацентр Boxee: первый социальный Автор: Андрей КрупинГолубятня: Сидр № 1 Автор: Сергей ГолубицкийGoogle в КНР: взгляд с другой стороны Авторы: Алексей Стародымов, Марина ПелепецПочему чаевые не спасут онлайн Автор: Иван КошуриновСервисы деактивации троянов-вымогателей Автор: Андрей КрупинЛестница для предпринимателей Автор: Сергей ЕреминКивино гнездо: Сюжет из «Плейбоя» Автор: БЕРД КИВИВасилий Щепетнёв: Последний декрет Ильича Автор: Василий ЩепетневО судьбах Symbian Автор: Алексей СтародымовPackard Bell Easynote TJ65 — хорошо сбалансированный ноутбук Автор: Игорь ОсколковОнлайновые альтернативы Microsoft PowerPoint Автор: Андрей КрупинPanasonic Lumix DMC-TZ7: ультра-ZOOMО возможности предсказания будущего Автор: Ваннах МихаилЗарядись от солнца Автор: Константин ИвановDefenseWall Personal Firewall: очное знакомство Автор: Андрей КрупинЗа что могут посадить компьютерщика? Автор: Майор МышкинИ для VAS, и для нас Автор: Сергей ВильяновНовинки CES 2010. Избранное Автор: Алексей СтародымовГолубятня: Золотой ключик Автор: Сергей Голубицкий

Журнал «Компьютерра» , Коллектив Авторов , Компьютерра Журнал

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT
Цифровой журнал «Компьютерра» № 4
Цифровой журнал «Компьютерра» № 4

ОглавлениеА где же ГЛОНАСС? Автор: Марина ПелепецНоябрьский приз Автор: Игорь ТереховКивино гнездо: Даёшь молодежь! Автор: БЕРД КИВИСчастливое ПО Автор: Alienatio MentaleЦифровые технологии и английские школьницы Автор: Сергей ВильяновВасилий Щепетнёв: О совпадениях Автор: Василий ЩепетневGlobal Mobile Awards 2010: забавные номинанты Автор: Алексей СтародымовYlmf OS: китайский клон Windows XP Автор: Андрей КрупинLeadtek WinFast PxVC1100 — ускоритель кодирования видео Автор: Игорь ОсколковО производстве, портках и логистике Автор: Ваннах Михаил"Компьютерра" в FB2: всё готово Автор: Сергей ВильяновInternet Explorer под ударом Автор: Андрей КрупинБольшая новость Nokia Автор: Алексей СтародымовГолубятня: Коммуникатор в дорогу Автор: Сергей ГолубицкийВасилий Щепетнёв: Прогулка под присмотром Автор: Василий ЩепетневОблачная веб-система Glide OS Автор: Андрей КрупинБилл Гейтс, Facebook и Twitter Автор: Алексей СтародымовКивино гнездо: Акустическая иллюзия Автор: БЕРД КИВИОперационные системы и маркетинговый взгляд Автор: Алексей СаминскийICQ: седьмое пришествие Автор: Андрей КрупинМини-противостояние: Jetway против Zotac Автор: Константин Иванов"Компьютерра" в формате FB2: релиз-кандидат Автор: Сергей ВильяновВасилий Щепетнёв: Ловцы мгновений Автор: Василий Щепетнев

Журнал «Компьютерра» , Коллектив Авторов , Компьютерра Журнал

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT

Похожие книги