Русский
Русский
English
Статистика
Реклама

Справочная философия Unix базовые рекомендации, эволюция и немного критики

Расскажем, в чем суть философии, кто её сформулировал, расширял и критиковал по ходу развития.

(Кстати, вчера вышел и наш очередной TL;DR-дайджест про удаленку и личную ИБ.)


Фото Med Badr Chemmaoui Unsplash

Основные принципы


Считается, что первым их сформулировал Дуглас Макилрой (Douglas McIlroy), автор конвейера Unix, в 1978 году. Он опубликовал свои замечания в журнале Bell System Technical Journal экземпляр до сих пор есть в сети. Позже Дуглас выделил три базовых момента:

  • (1) Каждая программа на Unix должна специализироваться на определенной задаче;
  • (2) Вывод программ станет вводом других, неизвестных на момент разработки первых;
  • (3) Текст универсальный интерфейс для межпрограммного взаимодействия.

Развитие мысли


Со временем первые правила дополняли и переосмысливали. В 1994 году Майк Ганцарз (Mike Gancarz) один из мейнтейнеров X Window System расширил их и призывал коллег:

  • (4) Эффективнее утилизировать уже доступные программные решения;
  • (5) Чаще применять скриптовые языки для улучшения переносимости ПО;
  • (6) Как можно быстрее переходить от идеи к работающему прототипу;
  • (7) Следить за уровнем сложности интерфейсов и не перегружать их.

Позже Эрик Рэймонд (Eric Raymond), программист, хакер и сооснователь Open Source Initiative, описал философию единой аббревиатурой KISS (Keep it simple, stupid).


Фото Kristian Bjornard CC BY-SA Flickr.com

Минутка метафор и критики


Одно из интересных замечаний мы нашли в книге Пособие для ненавидящих Unix (полный текст в PDF), где вспоминают Ричарда Гэбриела (Richard P. Gabriel) и его эссе Чем хуже, тем лучше.

В нем принципам корректности, согласованности и завершенности Гэбриел противопоставил простоту реализации и портирования из философии Unix. А еще сравнил действительно эффективное ПО с эволюционным превосходством вирусов (полный текст эссе на английском).

Но несмотря на ставку на простоту и даже прямое указание на работу с UI (пункты 3 и 7 выше), в статье под названием Правда о Unix: ужасающие интерфейсы Дональд Норман (Donald Norman), ученый и соучредитель Nielsen Norman Group, раскритиковал философию Unix за отсутствие какого-либо внимания к пользовательскому опыту. В замечаниях он отталкивался от своей экспертизы в области когнитивной инженерии, выделил проблемы с точки зрения работы команд и функций, плюс сформулировал собственные рекомендации по дизайну систем:

  • согласованность принципов проектирования на всех этапах разработки системы;
  • наличие понятной для пользователя модели работы системы (mental model);
  • возможность получения им мнемонических подсказок при работе с ней.


Фото Rudolf Schuba CC BY Flickr.com

Другая критика философии Unix строилась вокруг отдельных особенностей файловой системы NFS (например, костылей с Network Lock Manager сервисом lockd стр.60-61) и обсуждения текстовых интерфейсов. Но были и попытки концептуальных баталий: так, по словам Роберта Пайк (Robert Pike), автора UTF-8 и выходца из Bell Labs (как и Дуглас Макилрой), нецелесообразно писать программы, (1) выполняющие только одну задачу (вот развернутый тред о его замечаниях на Slashdot'е).

Как вы думаете, чем можно было бы дополнить базовые моменты в философии Unix?



Дополнительное чтение по теме:

Вся история Linux. Часть I: с чего все началось
Вся история Linux. Часть II: корпоративные перипетии
История Linux. Часть III: новые рынки и старые враги
Бенчмарки для Linux-серверов




Новые публикации у нас на Хабре:



Источник: habr.com
К списку статей
Опубликовано: 28.09.2020 20:13:28
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Блог компании 1cloud.ru

Программирование

1cloud

Справочная

Философия unix

Дизайн систем

Правила разработки

История it

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru