Dla mnie najbardziej niesamowitą rzeczą w tradycji UNIX jest to, że UNIX został napisany w zasadzie przez jednego faceta - Kena Thompsona podczas pracy w Bell Labs. Istnieje fascynujące konto na ten temat, które można znaleźć tutaj: http://www.bell-labs.com/history/unix/
Niektóre cytaty są po prostu bezcenne:
„Każdemu tygodniu przeznaczyłem system operacyjny, powłokę, edytor i asembler, aby się odtworzyć ...”, wyjaśnił Thompson.
Rury:
Kolejną innowacją UNIXa było opracowanie potoków, które dały programistom możliwość łączenia szeregu procesów dla określonego wyniku.
To nie było łatwe. „Bardzo łatwo jest powiedzieć„ kot w grep w ... ”lub„ kto w kot w grep ”- wyjaśnił McIlroy. „Ale są te wszystkie parametry boczne, które mają te polecenia; po prostu nie mają argumentów wejściowych i wyjściowych, ale mają wszystkie te opcje”.
Chociaż przeszkadzał, McIlroy nie porzucił tego pomysłu. „I przez okres od 1970 do 1972 roku od czasu do czasu mówiłem:„ Co powiesz na zrobienie czegoś takiego? ”, I przedstawiałem inną propozycję, inną propozycję, inną propozycję. I pewnego dnia wpadłem na pomysł ze składnią powłoki, która była zgodna z potokowaniem, a Ken powiedział: „Zrobię to!”.
„Był zmęczony słyszeniem tego” - wyjaśnił McIlroy. „Nie zrobił dokładnie tego, co zaproponowałem dla wywołania systemu rur. Wynalazł nieco lepszy, który ostatecznie zmienił się ponownie na to, co mamy dzisiaj. Użył mojej niezdarnej składni.”
„Thompson zauważył, że argumenty dotyczące plików nie będą pasować do tego schematu rzeczy, i wszedł i zmienił wszystkie te programy tej samej nocy. Nie wiem jak… i następnego ranka mieliśmy orgię jednej -linery. ”
„ Włożył rury do systemu UNIX, umieścił ten zapis w skorupie, w ciągu jednej nocy ”, powiedział zdziwiony McElroy.
Choć technicznie rzecz biorąc fajne było to osiągnięcie, Thompson stworzył fajki, ale włożył także coś innego do UNIX - filozofię.
Jak to opisał McIlroy, „filozofia, którą wszyscy zaczęli przedstawiać, brzmiała:„ Pisz programy, które robią jedną rzecz i robią to dobrze. Pisz programy do współpracy. Pisz programy obsługujące strumienie tekstowe, ponieważ jest to interfejs uniwersalny ””.