О пользователях дистрибутива
... а также обо всём, чего четыре, о том, что такое fun, о гибких конструкторах, оболочках, Пути Unix и полушариях
Четыре категории пользователей
Пользователи ''дистрибутива'' (а не отдельного ПО)
- Системные администраторы (ADM)
- Разработчики ПО (DEV)
- Постановщики задач и наладчики бизнес-процессов (условно "системные интеграторы") (INT)
- Любознательные пользователи и повышающие квалификацию (a.k.a. Just For Fun) (JFF)
Четыре категории пользовательских задач
- Собственные/Чужие (кто пользуется решениями задач)
- Компьютерные/Некомпьютерные (лежит ли результат труда пользователя в компьютерной сфере)
|
Собственные |
Чужие |
Некомпьютерные |
ADM |
INT |
Компьютерные |
JFF |
DEV |
Четыре категории требований к инструментариям
- Собственные задачи -- гибкость
- Чужие задачи -- готовые решения типовых задач
- Компьютерные задачи -- программирование
- Некомпьютерные задачи -- констрцктор в некомпьютерной объектной области
|
Программирование |
Конструктор |
Готовые решения |
RAD; дисциплины и среды программироания: Java, RR, Zope; IDE; ACE |
Пакеты Прикладных Программ |
Гибкость |
Си :), языки прогр. общего назначения; системные и интерфейсные библиотеки |
Общего решения нет |
Гибкий конструктор: The UNIX way
Требования к интерфейсу управления системой (т. е. к "гибкому конструктору решений")
Интерфейс -- это средства, позволяющие человеку управлять системой
- Запуск "задач"
- Взаимодействие задач
- По данным
- По управлению
- Формализация решений
(требование многопользовательской системы) масштабируемость интерфейса
Unix-решение:
- Дисциплина взаимодействия человека и подзадач в системе:
- Любой синхронный источник и/или приёмник данных == файл
- Пространство имён == файловая система
- Все данные, предназначенные для человека, -- текстовые 1. Подзадача == процессы
- Решение задачи == организация взаимодействия процессов
- перенаправление В/В
- POSIX IPC
- Высокоуровневый ЯП (shell) и сцнари к нему
- Минимизация аппаратных требований (текстовый в/в, терминал)
Следствие: интерфейс командндой строки:
- Средство эффективного ручного управления
- Средство эффективной интеграции подзадач-процессов
- Высокоуровневый ЯП
Недостаток: эксплуатируется "научный" (инуктивный, "от частного к общему") стиль мышления, только отчасти -- "инженерный" (фактологический, "в сундуке есть всё"), и совсем никак -- "сюжетный" (точное воспроизведение действий по принципу совпадения "персонажей, предметов и обстоятельств"). Костыль: т. н. "интуитивно понятный интерфейс" эффективно рассчитан на сюжетный стиль мышления, но не может претендовать на роль "гибкого конструктора"