Filozofia Uniksa by fervi

View this thread on steempeak.com
· @fervi ·
$2.18
Filozofia Uniksa
<div class="text-justify">

**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.**

![](https://ipfs.busy.org/ipfs/QmPBcwiyFC9eWpdE4xqH7ECke96UE4bHohkpahTmDVqWq2)

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

![](https://ipfs.busy.org/ipfs/QmNgLWumxQ4mgd9EGm8gTGffxRivP5FW4DoDBFLSypuwpj)

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.

![](https://ipfs.busy.org/ipfs/QmW425yJb9jv4Lz8bnV4gce1NeCkJyuThnDzU38GLwaLHv)

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 ;)

</div>
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 30 others
properties (23)
post_id74,857,937
authorfervi
permlinkfilozofia-uniksa
categorypolish
json_metadata{"community":"busy","app":"busy\/2.5.6","format":"markdown","tags":["polish","busy","pl-artykuly","reakcja","pl-unix"],"users":[],"links":[],"image":["https:\/\/ipfs.busy.org\/ipfs\/QmPBcwiyFC9eWpdE4xqH7ECke96UE4bHohkpahTmDVqWq2","https:\/\/ipfs.busy.org\/ipfs\/QmNgLWumxQ4mgd9EGm8gTGffxRivP5FW4DoDBFLSypuwpj","https:\/\/ipfs.busy.org\/ipfs\/QmW425yJb9jv4Lz8bnV4gce1NeCkJyuThnDzU38GLwaLHv"]}
created2019-05-16 17:40:54
last_update2019-05-16 17:40:54
depth0
children6
net_rshares4,289,882,512,601
last_payout2019-05-23 17:40:54
cashout_time1969-12-31 23:59:59
total_payout_value1.772 SBD
curator_payout_value0.411 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length3,144
author_reputation39,204,266,552,701
root_title"Filozofia Uniksa"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (94)
@alcik ·
> Pierwszy punkt brzmi jak reguła KISS. Powinno się tworzyć tak rzeczy (nie tylko oprogramowanie), by spełniało najbardziej podstawowe role bardzo dobrze.

Warto wspomnieć jak rozwija się ten akronim, ja znam dwie wersje:
1. `KISS` = **K**eep **I**t **S**hort and **S**imple (mniej więcej - _uczyń to krótkim i prostym_),
1. `KISS` =  **K**eep **I**t **S**imple **S**tupid (mniej więdej - _uczyń to prostym głupku_).

Dawno wyszło to już poza filozofię Unixa, choć być może rzeczywiście w jakiejś mierze z niej pochodzi. Wydaje się, że trzymanie się tej reguły jest banalnie proste - a wcale takie nie jest. Wręcz przeciwnie - to niezwykle trudne. Tylko naprawdę dobrzy programiści potrafią w ten sposób pisać oprogramowanie. Tak samo jak zastosowanie tego w innych dziedzinach - np. tylko naprawdę błyskotliwi ludzie, potrafią wytłumaczyć laikowi w prostu i zrozumiały sposób dowolnie skomplikowane zagadnienia.
👍  
properties (23)
post_id74,886,068
authoralcik
permlinkre-fervi-filozofia-uniksa-20190517t065000900z
categorypolish
json_metadata{"tags":["polish"],"app":"steemit\/0.1"}
created2019-05-17 06:50:00
last_update2019-05-17 06:50:00
depth1
children0
net_rshares1,570,950,135
last_payout2019-05-24 06:50:00
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length912
author_reputation1,230,268,770,812
root_title"Filozofia Uniksa"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@helcim ·
Brakuje mi systemu, który wróciłby do korzeni UNIX-a. Skończyło się na tym, że używam Debiana (chociaż teraz akurat Ubuntu, bo nie chciało mi się męczyć za bardzo przy instalacji systemu na nowym kompie), ale coraz mniej rzeczy mi się w Debianie podoba. Pewnie warto byłoby w końcu przyjrzeć się  BSD? Czy ktoś tego używa na laptopie może? Zwłaszcza programy do grafiki i sterowniki kart graficznych mnie interesują.
properties (22)
post_id75,088,703
authorhelcim
permlinkre-fervi-filozofia-uniksa-20190521t071906968z
categorypolish
json_metadata{"tags":["polish"],"app":"steemit\/0.1"}
created2019-05-21 07:19:06
last_update2019-05-21 07:19:06
depth1
children2
net_rshares0
last_payout2019-05-28 07:19:06
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length416
author_reputation18,620,871,366,628
root_title"Filozofia Uniksa"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@fervi ·
Powodzenia. W sensie Linux po tylu latach tak mnie rozpieścił, że nie umiem w BSD. Bo to takie "Linuksy" z lat 90. 

Strzelam, że zależy do od sterowników, bo goście sami portują otwarte sterowniki
properties (22)
post_id75,093,381
authorfervi
permlinkre-helcim-re-fervi-filozofia-uniksa-20190521t091917472z
categorypolish
json_metadata{"community":"busy","app":"busy\/2.5.6","format":"markdown","tags":["polish"],"users":[],"links":[]}
created2019-05-21 09:19:18
last_update2019-05-21 09:19:18
depth2
children0
net_rshares0
last_payout2019-05-28 09:19:18
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length197
author_reputation39,204,266,552,701
root_title"Filozofia Uniksa"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@gregorius ·
@helcim https://www.c0ffee.net/blog/openbsd-on-a-laptop/
properties (22)
post_id75,200,452
authorgregorius
permlinkpry8np
categorypolish
json_metadata{"tags":["polish"],"users":["helcim"],"links":["https:\/\/www.c0ffee.net\/blog\/openbsd-on-a-laptop\/"],"app":"steemit\/0.1"}
created2019-05-23 08:52:36
last_update2019-05-23 08:52:36
depth2
children0
net_rshares0
last_payout2019-05-30 08:52:36
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length56
author_reputation87,096,358,995
root_title"Filozofia Uniksa"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@helcim ·
P.S.
Problemem jest narzucenie ludziom odruchów pochodzących z Windowsów. To że używanie komputera nawet z Unixopodobnym system polega na używaniu Gnome czy czegoś w tym stylu to kompletna porażka. Ja bardzo długo używałem jako menedżera okien larswm i byłem w stanie robić wszystko dużo szybciej za pomocą skrótów klawiaturowych niż przy pomocy myszki. Niestety larswm już wypadł z większości aktualnych dystrybucji.
properties (22)
post_id75,088,973
authorhelcim
permlinkre-fervi-filozofia-uniksa-20190521t072615618z
categorypolish
json_metadata{"tags":["polish"],"app":"steemit\/0.1"}
created2019-05-21 07:26:15
last_update2019-05-21 07:26:15
depth1
children1
net_rshares0
last_payout2019-05-28 07:26:15
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length417
author_reputation18,620,871,366,628
root_title"Filozofia Uniksa"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@gregorius ·
masz i3wm
properties (22)
post_id75,200,461
authorgregorius
permlinkpry8od
categorypolish
json_metadata{"tags":["polish"],"app":"steemit\/0.1"}
created2019-05-23 08:53:00
last_update2019-05-23 08:53:00
depth2
children0
net_rshares0
last_payout2019-05-30 08:53:00
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length9
author_reputation87,096,358,995
root_title"Filozofia Uniksa"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000