Do pewnego stopnia możesz to powiedzieć. Ale to niekoniecznie prawda. Myślę, że powinieneś przeczytać to bardziej jako „zdolność do osiągnięcia więcej” przy uproszczonym podejściu do projektowania. Aby być prostym, musisz podzielić zadanie na łatwo zrozumiałe i łatwe w montażu części. Szczerze mówiąc, filozofię systemu UNIX można wyjaśnić za pomocą następującego przykładu.
Całe programowanie to pewnego rodzaju manipulacja danymi! W niektórych przypadkach programowanie jest również samą manipulacją programem (programowanie Meta). Obecnie działa filozofia UNIX: wyobraź sobie przetwarzanie tekstu. Co to jest tekst? W końcu tekst jest jakimś rodzajem danych. Po złożeniu w uporządkowaną definicję tekst staje się również plikiem XML i JSON. Tekst może być również listą liczb, Tekst może być również plikiem csv, tsv i co nie! W innym tekście lub ciągu może reprezentować naprawdę ogromny obszar danych programowych, tylko dlatego, że jego kontekst może się zmienić i zmienić w to, czego chcemy!
Całe programowanie wymaga pewnego rodzaju organizacji danych. Organizowanie wymaga wyszukiwania ...
za. Tam masz tylko „grep”, „fgrep” i jego rodzinę, aby to zrobić.
Po wyszukaniu musisz wykonać sortowanie ...
b. Teraz mamy do tego polecenie „sortuj”.
Właśnie posortowałeś dwa pliki, teraz chcesz je porównać.
do. Teraz mamy do tego „diff”, „cmp” i in.
Właśnie odkryłeś, że nie ma różnicy między plikami. Potrzebujesz teraz więcej uporządkowanych danych.
re. Masz operatora „cat”, potoki i przekierowania, aby zapisać do pliku.
Potrzebujesz bardziej szczegółowej analizy.
mi. Masz głowę, ogon, więcej, mniej, cięcie i tak dalej, aby to zrobić ...
Wszystko to zszywa się za pomocą „|” aby generować naprawdę potężne rzeczy przez jakiś czas bez pisania kodu. Więcej poszukiwań i szycia masz ...
fa. awk, muszla i sed.
awk, shell i sed dają ci większą kontrolę nad tekstem niż to, co może ci dać cięcie, diff i in. Czy zastanawiałeś się kiedyś nad tym poleceniem1 | polecenie2 | seria Command3 ... jest rodzajem mechanizmu przepływu pracy. W połączeniu z If's staje się to potężniejsze.
Teraz jest więcej zabawy.
Czy kiedykolwiek słyszałeś o narzędziu o nazwie „Perl” , ta rzecz jest tak potężna, że możesz praktycznie wykonać każde zadanie przy tak niewielkiej ilości pracy, jaką można sobie wyobrazić. W połączeniu z narzędziem takim jak DBM możesz spełnić nawet niewielkie wymagania dotyczące trwałości aplikacji. Pamiętaj, że nawet nie wyszliśmy ze świata tekstów, ale udało nam się objąć większość aspektów środowiska programistycznego.
Myślę więc, że UNIX to coś więcej niż system operacyjny. Jest to zbiór narzędzi i środowiska zaprojektowanych w celu rozwiązania problemów w najprostszy sposób. Prosty sposób niekoniecznie oznacza prostotę implementacji rozwiązania. Ale sama prostota nie zaprowadzi cię daleko.
Przeczytałem to gdzieś na reddicie.
„Jeśli Twoim jedynym celem projektowym jest prostota, zyskasz tyle użytkowników, ile Plan9”