UNIX

История

Правила программы-хорошего гражданина Unix-среды
(сформулированные Эриком Реймондом)

  1. Модульности: создавать простые части, соединенные чистыми интерфейсами
  2. Ясности: ясность лучше заумности
  3. Композиции: проектировать программы с учетом того, что они будут соединяться с другими программами
  4. Разделения: отделять политику и механизм, интерфейс и реализацию
  5. Простоты: проектировать как можно проще, добавлять сложность только по мере необходимости
  6. Бережливости: писать большую программу только, когда четко продемонстрированно, что другого выхода нет
  7. Прозрачности: проектировать программы так, чтобы сделать удобной отладку и инспекцию
  8. Устойчивости: устойчивость — производная прозрачности и простоты
  9. Представления: вкладывать знания в данные, чтобы логика программы была тупой и простой
  10. Наименьшего удивления: в дизайне интерфейсов самое главное — меньше всего удивлять
  11. Тишины: если у программы нет никаких особенных сообщений, лучше ничего не сообщать
  12. Починки: а если же происходит сбой, то нужно создавать как можно больше шума
  13. Экономии: уменьшать затраченное программистом время за счет машинного времени
  14. Генерации: стараться писать программы, которые пишут другие программы
  15. Оптимизации: сперва прототип, потом полировка и оптимизация
  16. Разнообразия: нет единственного правильного пути
  17. Расширяемости: проектируйте с учетом будующего, поскольку оно прийдет раньше, чем вы думаете

Сильные стороны

  • основа на открытых стандартах
  • файл-центричность
  • каждая программа должна делать что-то одно, но делать это хорошо; "small pieces, loosely joined" (маленькие, слабосвязные кусочки, из которых собираются большие системы)
  • богатые текстовые форматы представления данных
  • простая коммуникация через PIPE

Also available in: HTML TXT