L-akbar Programmi Unix

L-awtur tal-artiklu, Douglas McIlroy, huwa matematiku, inġinier u programmatur Amerikan. Huwa magħruf l-aktar għall-iżvilupp tal-pipeline fis-sistema operattiva Unix, il-prinċipji tal-ipprogrammar orjentat lejn il-komponenti, u diversi utilitajiet oriġinali: jespliċitaw, diff, issortja, jingħaqdu, jitkellmu, tr.

Kultant tiltaqa’ ma’ programmi tassew mill-isbaħ. Wara li ħriġt fil-memorja tiegħi, ikkumpilajt lista ta’ ħaġar prezzjuż reali Unix matul is-snin. Bażikament, dawn huma programmi pjuttost rari u mhux daqshekk meħtieġa. Imma dak li jagħmilhom jispikkaw hija l-oriġinalità tagħhom. Lanqas nista 'nimmaġina li jien stess ħriġt bl-idea ta' xi wieħed minnhom.

Aqsam liema programmi inti wkoll tant impressjonat?

PDP-7 Unix

Biex nibdew, is-sistema Unix PDP-7 innifsu. Is-sempliċità u l-qawwa tiegħu għamluni nimxi minn mainframe b'saħħtu għal magna ċkejkna. Hija s-sistema ta 'fajl ġerarkika kwintessenzjali, qoxra separata, u kontroll tal-proċess fil-livell tal-utent li Multics fuq il-mainframe ma setgħetx tikseb wara mijiet ta' snin ta 'żvilupp ta' bniedem. In-nuqqasijiet ta' Unix (bħall-istruttura tar-rekords tas-sistema tal-fajls) kienu istruttivi u liberatorji daqs l-innovazzjonijiet tiegħu (bħal shell I/O redirection).

dc

Il-Librerija tal-Matematika tal-Kalkulatur tad-Desktop ta' Preċiżjoni Varjabbli ta' Robert Morris użat analiżi ta' żball invers biex tiddetermina l-preċiżjoni meħtieġa f'kull pass biex tinkiseb preċiżjoni tar-riżultat speċifikata mill-utent. Fil-Konferenza tan-NATO dwar l-Inġinerija tas-Software tal-1968, fir-rapport tiegħi dwar il-komponenti tas-softwer, ipproponejt proċeduri ta’ referenza li setgħu jipproduċu kwalunkwe preċiżjoni mixtieqa, iżda ma kontx naf kif inpoġġihom fil-prattika. dc għadu l-uniku programm li naf li jista 'jagħmel dan.

typo

Typo jirranġa kliem fit-test skond ix-xebh tagħhom mal-bqija tat-test. Spellings ħażin bħal 'hte' għandhom tendenza li jkunu fl-aħħar tal-lista. Robert Morris kburi qal li l-programm se jaħdem tajjeb bl-istess mod għal kull lingwa. Għalkemm it-typo ma jgħinekx issib żbalji fonetiċi, kienet ta' ġid għat-tipi kollha, u għamlet ħafna ġid qabel ma daħal il-kontrollur tal-ortografija tad-dizzjunarju ħafna inqas interessanti iżda aktar preċiż.

Typo huwa daqstant mhux mistenni fuq ġewwa kif huwa fuq barra. L-algoritmu tal-kejl tax-xebh huwa bbażat fuq il-frekwenza tal-okkorrenza tat-trigrammi, li jingħaddu f'firxa ta '26 × 26 × 26. Il-memorja ċkejkna bilkemm kellha spazju biżżejjed għall-bankijiet ta 'byte wieħed, għalhekk ġiet implimentata skema biex tikkompressa numri kbar f'bankijiet żgħar. Biex jiġi evitat overflow, il-counters ġew aġġornati fuq bażi probabilistika, u żammew stima tal-logaritmu tal-valur tal-counter.

eqn

Bil-miġja tal-phototypesetting, sar possibbli, iżda terriblement tedious, li tiġi stampata notazzjoni matematika klassika. Lorinda Cherry iddeċidiet li tiżviluppa lingwa ta 'deskrizzjoni ta' livell ogħla, u dalwaqt ingħaqad magħha Brian Kernigan. Il-mossa brillanti tagħhom kienet li tpoġġi t-tradizzjoni orali bil-miktub, u għalhekk eqn kien notevolment faċli biex titgħallem. L-ewwel preproċessur tal-lingwa tal-espressjoni matematika tat-tip tiegħu, eqn ma ġiex imtejjeb ħafna minn dakinhar.

strutt

Brenda Baker bdiet tiżviluppa l-konvertitur Fortan-to-Ratfor tagħha kontra l-parir tal-kap tagħha, jien. Ħsibt li dan jista' jwassal għal ordni mill-ġdid speċjali tat-test oriġinali. Se jkun ħieles minn numri tad-dikjarazzjonijiet, iżda inkella mhux aktar leġibbli minn kodiċi Fortran strutturat tajjeb. Brenda wrietni żbaljat. Hija skopriet li kull programm Fortran għandu forma strutturata kanonikament. Il-programmaturi ppreferew il-forma kanonika, aktar milli dak li kitbu huma stess oriġinarjament.

Pascal

Id-dijanjostika tas-sintassi fil-kompilatur maħluqa mill-grupp ta 'Sue Graham f'Berkeley kienet l-aktar utli li qatt rajt—u sar awtomatikament. Fuq żball ta' sintassi, il-kompilatur iqanqlek biex daħħal token biex tkompli l-parsing. Ebda tentattiv biex tispjega x'inhu ħażin. Ma 'dan il-kompilatur, tgħallimt Pascal f'lejla waħda mingħajr ebda manwal f'idejna.

partijiet

Moħbija ġewwa l-modulu WWB (Writer's Workbench). parts Lorinda Cherry tiddetermina partijiet tad-diskors għal kliem f'test bl-Ingliż ibbażat biss fuq dizzjunarju żgħir, regoli tal-ortografija u tal-grammatika. Ibbażat fuq din l-annotazzjoni, il-programm WWB juri indikaturi stilometriċi tat-test, bħall-prevalenza tal-aġġettivi, klawżoli subordinati u sentenzi kumplessi. Meta Lorinda ġiet intervistata fuq Today tal-NBC u tkellmet dwar il-kontroll tal-grammatika innovattiv fit-testi tal-WWB, kienet l-ewwel aċċenn għal Unix fuq it-televiżjoni.

egrep

Al Aho stenna li s-solvent tal-espressjoni regolari deterministiku tiegħu jaqbeż lis-solvent klassiku mhux deterministiku ta' Ken. Sfortunatament, dan tal-aħħar kien diġà tlesti pass permezz ta 'espressjonijiet regolari kumplessi, filwaqt li egrep bena l-awtomazzjoni deterministika tiegħu stess. Biex xorta jirbaħ din it-tellieqa, Al Aho ltqajna madwar is-saħta tat-tkabbir esponenzjali tat-tabella tal-istat tal-awtomat billi vvinta mod biex tibni fuq il-fly biss dawk l-entrati fit-tabella li huma attwalment miżjura waqt ir-rikonoxximent.

granċijiet

Il-meta-programm charming ta’ Luca Cardelli għas-sistema tat-twieqi tal-Blit ħareġ granċijiet virtwali li jduru fl-ispazju vojt tal-iskrin, jigdmu aktar u aktar it-truf tat-twieqi attivi.

Xi ħsibijiet ġenerali

Għalkemm mhux viżibbli minn barra, it-teorija u l-algoritmi kellhom rwol deċiżiv fil-ħolqien ta 'ħafna minn dawn il-programmi: typo, dc, struct, pascal, egrep. Fil-fatt, hija l-applikazzjoni mhux tas-soltu tat-teorija li hija l-aktar sorprendenti.

Kważi nofs il-lista — pascal, struct, parts, eqn — oriġinarjament kienu miktuba minn nisa, u qabżu sew id-demografija tan-nisa fix-xjenza tal-kompjuter.

Douglas McIlroy
Marzu, 2020


Sors: www.habr.com

Żid kumment