Книга: Искусство программирования для Unix
1.5.5. Гибкость на всех уровнях
1.5.5. Гибкость на всех уровнях
Многие операционные системы, называемые более "современными" или более "дружественными по отношению к пользователю", чем Unix, достигают "внешней красоты" путем связывания пользователей и разработчиков одной интерфейсной политикой. В таких системах предлагается программный интерфейс приложений, который при всей своей сложности является довольно ограниченным и жестким. Задачи, которые были предусмотрены проектировщиками, выполняются в них весьма просто, однако непредусмотренные задачи часто невозможно выполнить или их выполнение является крайне затруднительным.
С другой стороны, операционная система Unix обладает большой гибкостью. Множество способов, предусмотренных в Unix для соединения программ друг с другом, позволяет утверждать, что компоненты ее основного инструментального набора могут комбинироваться для создания полезных эффектов, которые разработчики отдельных частей этого набора не предусматривали.
Поддержка операционной системой Unix множества стилей программных интерфейсов (которая часто рассматривается как недостаток, поскольку увеличивает видимую сложность системы для конечных пользователей) также способствовала развитию гибкости; ни одна программа, которая должна быть просто блоком обработки данных, не несет на себе издержек, связанных со сложностью замысловатого графического пользовательского интерфейса (GUI).
В Unix-традиции значительный акцент сделан на сохранении сравнительно небольших размеров интерфейсов программирования, их чистоты и ортогональности, что также способствует гибкости систем. Несложные действия выполняются просто, а выполнение сложных действий, как минимум, возможно.
- 1.5.1. Программное обеспечение с открытым исходным кодом
- 1.5.2. Кроссплатформенная переносимость и открытые стандарты
- 1.5.3. Internet и World Wide Web
- 1.5.4. Сообщество открытого исходного кода
- 1.5.5. Гибкость на всех уровнях
- 1.5.6. Особый интерес исследования Unix
- 1.5.7. Уроки Unix применимы в других операционных системах
- На всех дисках моего компьютера есть папка System Volume Information. Для чего она нужна?
- Листинг 8.2. Общий код, используемый во всех приведенных ниже вариантах тестов
- Один стиль для всех страниц сайта
- Величайшее предисловие всех времен и народов
- Список всех команд
- 4.4.2.2. Закрытие всех открытых файлов
- Профи против всех
- Список всех доступных доменов в локальной сети
- Список всех групп на рабочей станции
- Список всех пользователей в группе
- Список всех групп, в которые входит пользователь
- Сценарии входа для всех локальных пользователей