Философия UNIX | это... Что такое Философия UNIX? (original) (raw)

Философия UNIX — это набор культурных норм и философских подходов к разработке программного обеспечения, основанных на опыте ведущих разработчиков операционной системы UNIX.

Содержание

МакИлрой: Четверть века UNIX

Дуг МакИлрой, изобретатель каналов UNIX и один из основателей традиции UNIX, обобщил философию следующим образом:

«Философия UNIX гласит:

Пишите программы, которые делают что-то одно и делают это хорошо.

Пишите программы, которые бы работали вместе.

Пишите программы, которые бы поддерживали текстовые потоки, поскольку это универсальный интерфейс».

Обычно эти высказывания сводятся к одному «Делайте что-то одно, но делайте это хорошо».

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

Майк Ганцарз: Философия UNIX

В 1994 году Майк Ганцарз (англ. Mike Gancarz) объединил свой опыт работы в UNIX (он является членом команды по разработке системы X Window System) с высказываниями из прений, в которых он участвовал со своими приятелями программистами и людьми из других областей деятельности, так или иначе зависящих от UNIX, для создания Философии UNIX, которая сводится к 9 основным принципам:

  1. Красиво — небольшое.
  2. Пусть каждая программа делает что-то одно, но хорошо.
  3. Стройте прототип программы как можно раньше.
  4. Предпочитайте переносимость эффективности.
  5. Храните данные в простых текстовых файлах.
  6. Обратите преимущества программных средств себе на пользу.
  7. Используйте сценарии командной строки для улучшения функциональности и переносимости.
  8. Избегайте пользовательских интерфейсов, ограничивающих возможности пользователя по взаимодействию с системой.
  9. Делайте каждую программу «фильтром».

Менее важные 10 принципов не снискали всеобщего признания в качестве частей философии UNIX и в некоторых случаях являлись предметом горячих споров (монолитное ядро против микроядра):

  1. Позвольте пользователю настраивать окружение.
  2. Делайте ядра операционной системы маленькими и легковесными.
  3. Используйте нижний регистр и придерживайтесь кратких названий.
  4. Не храните тексты программ в виде распечаток («Спасите деревья!»).
  5. Не сообщайте пользователю об очевидном («Молчание — золото»).
  6. Разбивайте сложные задачи на несколько простых, выполняемых параллельно («Мыслите „параллельно“»).
  7. Объединённые части целого есть нечто большее, чем просто их сумма.
  8. Ищите 90-процентное решение.
  9. Если можно не добавлять новую функциональность, не добавляйте её («Чем хуже, тем лучше»).
  10. Мыслите иерархически.

Реймонд: Искусство программирования в UNIX

Эрик С. Рэймонд (англ. Eric S. Raymond) в своей книге «Искусство программирования в UNIX» подытожил философию UNIX как широко используемую инженерную философию «Будь попроще, тупица» (Принцип KISS). Затем он описал, как эта обобщенная философия применима в качестве культурных норм UNIX. И это несмотря на то, что несложно найти несколько нарушений в следующей текущей философии UNIX:

Большинство из этих норм принимается вне сообщества UNIX — даже если это было не так во времена, когда они впервые были применены в UNIX, то впоследствии это стало так. К тому же много правил не являются уникальными или оригинальными для сообщества UNIX. Тем не менее, приверженцы программирования в UNIX склоняются к тому, чтобы принять комбинацию этих идей в качестве основ для стиля UNIX.

Цитаты

Критика

The UNIX-HATERS Handbook

Философия UNIX критиковалась в книге «The UNIX-HATERS Handbook», изданной в начале 1990х годов.

Но, в то же время критикуемые в этой книге подходы, начатые в *NIX, плавно обосновываются и в ОС Microsoft Windows и Apple Mac OS.

Примечания

См. также

Ссылки