О пользователях дистрибутива

... а также обо всём, чего четыре, о том, что такое fun, о гибких конструкторах, оболочках, Пути Unix и полушариях

Четыре категории пользователей

Пользователи ''дистрибутива'' (а не отдельного ПО)

  1. Системные администраторы (ADM)
  2. Разработчики ПО (DEV)
  3. Постановщики задач и наладчики бизнес-процессов (условно "системные интеграторы") (INT)
  4. Любознательные пользователи и повышающие квалификацию (a.k.a. Just For Fun) (JFF)

Четыре категории пользовательских задач

  1. Собственные/Чужие (кто пользуется решениями задач)
  2. Компьютерные/Некомпьютерные (лежит ли результат труда пользователя в компьютерной сфере)

Собственные

Чужие

Некомпьютерные

ADM

INT

Компьютерные

JFF

DEV

Четыре категории требований к инструментариям

  1. Собственные задачи -- гибкость
  2. Чужие задачи -- готовые решения типовых задач
  3. Компьютерные задачи -- программирование
  4. Некомпьютерные задачи -- констрцктор в некомпьютерной объектной области

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

Конструктор

Готовые решения

RAD; дисциплины и среды программироания: Java, RR, Zope; IDE; ACE

Пакеты Прикладных Программ

Гибкость

Си :), языки прогр. общего назначения; системные и интерфейсные библиотеки

<!> Общего решения нет

Гибкий конструктор: The UNIX way

Требования к интерфейсу управления системой (т. е. к <!> "гибкому конструктору решений")

  1. Интерфейс -- это средства, позволяющие человеку управлять системой

  2. Запуск "задач"
  3. Взаимодействие задач
    • По данным
    • По управлению
  4. Формализация решений
  5. (требование многопользовательской системы) масштабируемость интерфейса

Unix-решение:

  1. Дисциплина взаимодействия человека и подзадач в системе:
    • Любой синхронный источник и/или приёмник данных == файл
    • Пространство имён == файловая система
    • Все данные, предназначенные для человека, -- текстовые
  2. Подзадача == процессы
  3. Решение задачи == организация взаимодействия процессов
    • перенаправление В/В
    • POSIX IPC
  4. Высокоуровневый ЯП (shell) и сцнари к нему
  5. Минимизация аппаратных требований (текстовый в/в, терминал)

Следствие: интерфейс командндой строки:

Недостаток: эксплуатируется "научный" (дедуктивный, "от законов к решению задачи") стиль мышления, только отчасти -- "инженерный" (фактологический, "в сундуке есть все решения задач"), и совсем никак -- "сюжетный" (точное воспроизведение действий по принципу совпадения "персонажей, предметов и обстоятельств").

Костыль: т. н. "интуитивно понятный интерфейс" эффективно рассчитан на сюжетный стиль мышления, но не может претендовать на роль "гибкого конструктора"