Author of this content has low reputation.

Filozofia Uniksa

W Polskim internecie nie ma za wiele o tej filozofii i raczej trzeba szukać jej po angielskich stronach, a w sumie jest to ciekawe zagadnienie dla informatyki - Filozofia Uniksa.

Unix to stary system (chociaż w sumie dalej żywy - głównie za sprawą systemów inspirowanych nim jak Linux czy OS X [Tutaj są spory czy nie jest Uniksem, bo wywodzi się od niego]) i chociaż systemy różnie sobie radzą z tą filozofią (gdyż zwykle idzie się w stronę "krowiastych aplikacji" o tyle można znaleźć oprogramowanie pisane pod te reguły.

Po pierwsze - oprogramowanie powinno robić tylko tyle ile jest to niezbędne. Odtwarzacz muzyki powinien odtwarzać muzykę, a nie robić za przeglądarkę newsów (...). Powoduje to dodatkowe błędy i problemy.

Po drugie - powinieneś tak starać się tworzyć oprogramowanie by mogło współpracować z innym programem.

I to dwa główne punkty (jeszcze jest parę, ale głównie techniczne). A więc popatrzmy

Reguła KISS

Pierwszy punkt brzmi jak reguła KISS. Powinno się tworzyć tak rzeczy (nie tylko oprogramowanie), by spełniało najbardziej podstawowe role bardzo dobrze.

Dam wam przykład programu Surf. Surf to przeglądarka internetowa. W porównaniu do klasycznych przeglądarek jak Mozilla Firefox czy Google Chrome nie ma przycisków ani systemu zakładek. Co?

A no. Projekt jest bardzo prosty, ma tylko otworzyć stronę internetową i tyle robi. Dzięki czemu ilość błędów można było zminimalizować, gdyż jedna aplikacja robi to co do niej należy.

Kooperacja

Jednak jak możecie się domyślić - nie wszystko jest tak proste, gdyż aplikacje współpracują ze sobą. Dam inny przykład projektu Suckless Tools jakim jest Tabbed. Umożliwia ono uruchamianie aplikacji w zakładkach. Tak więc jeśli chcemy by Surf miał karty - Tabbed umożliwia to nam. Mamy dwie aplikacje, które koegzystują, a zarazem nie są tak rozbudowane (bo nie muszą).

Przykładem może być silnik do odtwarzania muzyki i filmów MPV i nakładka Celluloid.

Ale ...

Lepsze jest wrogiem dobrego. O ile są grupy (jak programiści Suckless), którzy tworzą wiele ciekawych projektów zgodnie z ideą Uniksa (Ja osobiście lubię "sent" - aplikację do tworzenia prostych prezentacji) o tyle ludzie lubią fajerwerki i wybuchy. Warto sobie przypomnieć nasze szkolne prezentacje w Powerpoint - ładne tło, efekty graficzne, czcionka starannie wybierana ... a tutaj przykładowy slajd.

Bardzo proste i przejrzyste prezentacje, które nie wymagają dużo pracy i działają szybko! I to jest kwintesencja filozofii Uniksa.

A jak wygląda oprogramowanie w Linuksie?

Odpowiem tak - różnie. Oczywiście nie da się jednoznacznie każdej aplikacji zrobić zgodnie z filozofią Uniksa. Systemd jest odstępstwem, a Wayland nas przybliża (w porównaniu do Xorg). Jako tako jakby ktoś chciał to by dał radę żyć zgodnie z nią. A to ma swoje plusy jak i minusy. Ale tak ogólnie chciałem Was zaciekawić tematem ;)

H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now
Logo
Center