Środowisko programistyczne Unix -The Unix Programming Environment

Środowisko programistyczne Unix
polski4.gif
Przednia okładka środowiska programistycznego Unix
Autor Brian W. Kernighan i Rob Pike
Język język angielski
Podmiot Programowanie komputerowe
Wydawca Sala Uczelni
Data publikacji
1984
Numer ISBN 0-13-937681-X

Unix Programming Environment , po raz pierwszy opublikowana w 1984 roku przez Prentice'a Halla , to książka napisana przez Briana W. Kernighana i Roba Pike'a , obaj z Bell Labs i uważana za ważny i wczesny dokument dotyczący uniksowego systemu operacyjnego .

Filozofia Uniksa

Książka omawia filozofię uniksową małych współpracujących narzędzi ze znormalizowanymi wejściami i wyjściami. Kernighan i Pike podają krótki opis projektu Unix i filozofii Unix:

Mimo, że system UNIX wprowadza szereg innowacyjnych programów i technik, żaden pojedynczy program lub pomysł nie sprawi, że będzie działał dobrze. Zamiast tego to, co czyni go skutecznym, to podejście do programowania, filozofia korzystania z komputera. Chociaż tej filozofii nie da się opisać jednym zdaniem, jej sednem jest idea, że ​​siła systemu pochodzi bardziej z relacji między programami niż z samych programów. Wiele programów UNIX robi w izolacji dość trywialne rzeczy, ale w połączeniu z innymi programami stają się ogólnymi i użytecznymi narzędziami.

Autorzy dalej piszą, że ich celem w tej książce jest „przekazanie filozofii programowania UNIX”.

Treść i tematy

Książka zaczyna się od wprowadzenia do Uniksa dla początkujących. Następnie przechodzi do podstaw systemu plików i powłoki . Czytelnik jest prowadzony przez różne tematy, począwszy od używania filtrów , poprzez użycie C do programowania solidnych aplikacji uniksowych, aż po podstawy grep , sed , make i awk . Książkę zamyka samouczek dotyczący tworzenia parsera języka programowania za pomocą yacc i używania troff z ms i mm do formatowania dokumentów, preprocesorów tbl , eqn i pic oraz tworzenia stron podręcznika man za pomocą zestawu makr man . Załączniki dotyczą edytora ed oraz wspomnianego powyżej języka programowania o nazwie hoc , co oznacza „kalkulator wysokiego rzędu”.

Kontekst historyczny

Chociaż Unix wciąż istnieje dekady po opublikowaniu tej książki, książka opisuje już dojrzały Unix: W 1984 r. Unix był już rozwijany przez 15 lat (od 1969 r.), został opublikowany w recenzowanym czasopiśmie 10 lat wcześniej ( SOSP , 1974, "The UNIX Timesharing System") i opublikowano co najmniej siedem oficjalnych wydań jego podręczników (zobacz Version 7 Unix ). W 1984 roku istniało już kilka komercyjnych i akademickich wariantów UNIXa (np. Xenix , SunOS , BSD , UNIX System V , HP-UX ), a rok wcześniej Dennis Ritchie i Ken Thompson zdobyli prestiżową nagrodę Turing Award za pracę nad systemem UNIX. Książka została napisana nie wtedy, gdy UNIX dopiero się zaczynał, ale kiedy była już na tyle popularna, że ​​była warta książki opublikowanej dla mas nowych użytkowników, którzy przybywali.

Z perspektywy czasu, nie tylko był 1984 nie wczesnym etapie ewolucji Unix jest pod pewnymi względami był to koniec Unix ewolucji, przynajmniej w Bell Labs : Ważną UNIX warianty już rozwidlone z AT & T Badań Unix wcześniej: System V została opublikowana w 1983, BSD zostało oparte na Uniksie z 1979 roku, Siódma edycja – a większość komercyjnych wariantów Uniksa była oparta na System V, BSD lub ich kombinacji. Ósma edycja Unix wyszedł zaraz po tej książce, a dalszy rozwój UNIXa w Bell Labs (edycja dziewiąta i dziesiąta) nigdy nie wyszedł poza Bell Labs – dopóki ich wysiłek nie przekształcił się w Plan 9 z Bell Labs .

Styl programowania C

Książka została napisana przed pierwszym szkicem ANSI C ; programy w nim zawarte są zgodne ze starszym stylem K&R . Jednak kod źródłowy dostępny na stronie internetowej książki został zaktualizowany pod kątem zgodności z ANSI C.

Krytyczny odbiór

Redaktor techniczny Ben Everard dla Linux Voice pochwalił książkę za dostarczenie odpowiedniej dokumentacji, mimo że ma 30 lat, i za to, że jest dobrą książką dla początkujących programistów, którzy niewiele wiedzą o Linuksie .

Edycje

Uwagi