Про рябчиків і ріпі

Давним-давно, понад півстоліття тому, народилася чергова операційна система. На той час програмісти вже прийшли до розуміння того, що писати програми в машинних кодах незручно, а програмувати кожен раз процеси читання-запису з пристроїв ще й нерозумно, тому що це все можна доручити спеціальній програмі-оболонці.

Операційна система повинна була вміти працювати з файлами, запускати програми, керувати доступом до пристроїв, пам'яті, терміналам. Пізніше додалася потреба в підтримці багатокористувацької роботи, в роботі з мережею і так далі - і ось нова ОС це вміла.

Щоб програмісти не плуталися в тому, як їх програми повинні взаємодіяти з ОС - була придумана певна ідеологія:

* Ієрархія файлової системи: деревоподібна структура, в якій визначені місця для здійсненних програм, файлів з настройками, поділюваних бібліотек і ресурсів, а також місце для даних користувачів, щоб все лежало на своїх місцях;

* Концепція «пристрій як файл»: неважливо, як воно влаштоване, але його можна читати і в нього можна писати, будь це диск або принтер;

* Концепція «одна задача - одна програма»: замість багатофункціональних мегамонстрів - безліч дрібних утиліт, які вміють щось одне, але роблять це добре, як набір професійних інструментів;

Звичайно, були свої недоліки і помилки, як же без цього, але в процесі розвитку від недоліків позбувалися, а помилки усували.

Ця ОС дала численне потомство - ідеологія виявилася настільки зручною, що самі різні виробники створювали власні варіанти її реалізації. Еволюція йшла, щось відмирало, щось виникало, щось передавалося нащадкам.

Трохи пізніше і паралельно з нею народилася і розвивалася інша ідеологія ОС:

* Відсутність ієрархії файлів в принципі, тільки різні літери для різних дисків.

* Відсутність однаковості в роботі з пристроями: для кожного свій драйвер і своє API для роботи з ним.

* В силу природного однозадачности - створення програм-мегамонстрів, які вміють якомога більше, через що часто дублюють функції один одного на одному і тому ж комп'ютері.

Правда, з часом і сюди прийшла якась ніяка ієрархічність, підтримка мережі і кількох користувачів - є поняття «конвергентность». Коротше, життя сама змушує приходити до схожим рішенням.

Довгий час ОС першого і другого типу майже ніяк не перетиналися: перші працювали на виробництві, в системах зв'язку, в обчислювальних центрах, а другі служили для запуску іграшок і текстового редактора. Тому перші були оптимізовані для універсальності і продуктивності, а другі - для краси і простоти.

Все почало змінюватися, коли один студент написав свій клон ОС першого типу - написав він його швидше як виріб, але оскільки виріб працювала точно як «доросла» система, її поступово почали розвивати, поки інші, комерційні варіанти, відмирали за непотрібністю. Ентузіасти навіть почали адаптувати її для роботи в якості персоналки.

А ось ОС другого типу, зайнявши майже 100% ПК, власники спробували проштовхнути і в промисловість. Тут-то її недоліки і повилазили: то, що було терпимо для запускалкі редактора, виявилося неприйнятним в серйозних системах. Але ці хлопці не були готові просто так віддати «хлібну» частина ринку, і почалася війна, відома нам як «Linux vs Windows».

У цій війні брали участь представники абсолютно різних типів програмістів: одні, орієнтовані на промислові рішення, проти інших, орієнтованих на офісно-домашні програми з менюшками. Природно, те, що одні з них вважали достоїнствами, інші вважали недоліками.

Пройшли роки. ОС першого типу оточують нас всюди - завдяки універсальності вони виявилися застосовні скрізь. Навіть відома своєю гламурностью «ОС не для всіх» - і та в основі своїй тепер побудована за принципами ОС першого типу. Просто це виявилося надійніше і зручніше. Андроїд просто повторив цей же досвід на новий лад.

А ОС другого типу існують в основному через звичку користувачів до певного інтерфейсу, завдяки попереднього встановлення на ПК при продажу, а також через те, що деякі програмісти, навіть переходячи від програмування 100500-го поштового клієнта до створення складної обчислювальної системи, що не в силах розлучитися зі звичними з дитинства інструментами типу Студії і звичної ж ідеологією «все в одному», все так же упіхівают безліч функцій і налаштувань в одну Дуже Велику Програму і чомусь ніяк не можуть розібратися зі стандартною ієрарх їй розміщення файлів.

Найзабавніше, якщо вони щиро вважають WinAPI і архітектуру Windows шедевром, а не просто троля. Решта-то дурні, напевно, тільки вони найрозумніші.

Втім, коли нічого солодшого ріпи не пробував, а про ананас чув тільки, що його одні буржуї їдять, це не дивно.

Немає коментарів:

Дописати коментар