Y Rhaglenni Unix Mwyaf

Mae awdur yr erthygl, Douglas McIlroy, yn fathemategydd, peiriannydd a rhaglennydd Americanaidd. Mae'n fwyaf adnabyddus am ddatblygu'r biblinell yn system weithredu Unix, egwyddorion rhaglennu sy'n canolbwyntio ar gydrannau a nifer o gyfleustodau gwreiddiol: sillafu, diff, didoli, ymuno, siarad, tr.

Weithiau rydych chi'n dod ar draws rhai rhaglenni gwych iawn. Ar Γ΄l tyllu trwy fy nghof, dwi wedi llunio rhestr o rai o wir berlau Unix dros y blynyddoedd. Yn y bΓ΄n, mae'r rhain yn rhaglenni eithaf prin ac nid ydynt mor angenrheidiol. Ond yr hyn sy'n eu gosod ar wahΓ’n yw eu gwreiddioldeb. Ni allaf hyd yn oed ddychmygu fy mod wedi meddwl am y syniad ar gyfer unrhyw un ohonynt fy hun.

Rhannwch, pa raglenni wnaeth gymaint o argraff arnat ti hefyd?

PDP-7 Unix

I ddechrau, mae'r system PDP-7 Unix ei hun. Oherwydd ei symlrwydd a'i bwer i mi newid o brif ffrΓ’m bwerus i beiriant bach. Dyma'r system ffeiliau hierarchaidd hanfodol, cragen ar wahΓ’n, a rheolaeth prosesau ar lefel defnyddiwr na allai Multics ar brif fframiau eu gweithredu ar Γ΄l cannoedd o flynyddoedd dyn o ddatblygiad. Roedd diffygion Unix (fel strwythur cofnodion y system ffeiliau) yr un mor addysgiadol a rhyddhaol Γ’'i ddyfeisiadau (fel ailgyfeirio cragen I/O).

dc

Defnyddiodd llyfrgell fathemateg cyfrifiannell bwrdd gwaith manwl amrywiol Robert Morris ddadansoddiad gwallau gwrthdro i bennu'r manwl gywirdeb sy'n ofynnol ar gyfer pob cam i gyflawni canlyniad manwl gywir a bennir gan y defnyddiwr. Yng Nghynhadledd Peirianneg Meddalwedd NATO 1968, yn fy mhapur ar gydrannau meddalwedd, cynigiais weithdrefnau cyfeirio a allai gynhyrchu canlyniadau o unrhyw gywirdeb dymunol, ond nid oeddwn yn gwybod sut i'w gweithredu'n ymarferol. dc yw'r unig raglen rwy'n gwybod amdani o hyd sy'n gallu gwneud hyn.

typo

Mae Typo yn archebu geiriau mewn testun yn seiliedig ar eu tebygrwydd i weddill y testun. Mae camsillafu fel 'hte' yn tueddu i fod ar ddiwedd y rhestr. Dywedodd Robert Morris yn falch y byddai'r rhaglen yn gweithio cystal mewn unrhyw iaith. Er nad yw teipio yn eich helpu i ddod o hyd i wallau ffonetig, roedd yn fendith i bob cysodir ac roedd yn ddefnyddiol iawn cyn i wiriad sillafu geiriadur llawer llai diddorol ond mwy cywir ddod ymlaen.

Mae Typo mor annisgwyl y tu mewn ag ydyw y tu allan. Mae'r algorithm mesur tebygrwydd yn seiliedig ar amlder trigramau, sy'n cael eu cyfrif mewn arae 26x26x26. Prin fod digon o le yn y cof bach ar gyfer cownteri un-beit, felly rhoddwyd cynllun ar waith i gywasgu niferoedd mawr yn gownteri bach. Er mwyn osgoi gorlifo, diweddarwyd cyfrifwyr ar sail debygol, gan gynnal amcangyfrif o logarithm y rhifydd gwerth.

eqn

Gyda dyfodiad ffototeiposod, daeth yn bosibl, ond yn ofnadwy o ddiflas, i gynhyrchu nodiant mathemategol clasurol. Penderfynodd Lorinda Cherry ddatblygu iaith ddisgrifio lefel uwch, ac ymunodd Brian Kernighan Γ’ hi yn fuan. Eu symudiad gwych oedd mynegi traddodiad llafar yn ysgrifenedig, a dyna pam y trodd eqn yn rhyfeddol o hawdd i'w ddysgu. Nid yw'r rhagbrosesydd iaith mynegiant mathemategol cyntaf o'i fath, eqn wedi gweld llawer o welliant ers hynny.

strwythuro

Dechreuodd Brenda Baker ddatblygu ei thrawsnewidiwr Fortan-i-Ratfor yn erbyn cyngor ei bos, fi. Roeddwn i'n meddwl y gallai hyn arwain at aildrefnu'r testun gwreiddiol yn arbennig. Bydd yn rhydd o niferoedd gweithredwyr, ond fel arall ni fydd yn fwy darllenadwy na chod Fortran wedi'i strwythuro'n dda. Profodd Brenda fi'n anghywir. Darganfu fod gan bob rhaglen Fortran ffurf wedi'i strwythuro'n ganonaidd. Roedd yn well gan raglenwyr y ffurf ganonaidd yn hytrach na'r hyn a ysgrifennodd eu hunain yn wreiddiol.

pascal

Y diagnosteg gystrawen yn y casglwr a adeiladwyd gan grΕ΅p Sue Graham yn Berkeley oedd y rhai mwyaf defnyddiol a welais erioedβ€”ac roeddent yn awtomatig. Os oes gwall cystrawen, mae'r casglwr yn eich annog i fewnosod tocyn i barhau i ddosrannu. Dim ymdrechion i egluro beth sydd o'i le. Gyda'r casglwr hwn, dysgais Pascal mewn un noson, heb unrhyw lawlyfr wrth law.

rhannau

Modiwl wedi'i guddio y tu mewn i becyn WWB (Writer's Workbench). parts Mae Lorinda Cherry yn pennu rhannau lleferydd ar gyfer geiriau mewn testun Saesneg yn seiliedig ar eiriadur bach, rheolau sillafu a gramadeg yn unig. Yn seiliedig ar yr anodiad hwn, mae rhaglen WWB yn dangos dangosyddion arddull y testun, megis nifer yr achosion o ansoddeiriau, is-gymalau a brawddegau cymhleth. Pan gafodd Lorinda ei chyfweld ar sioe Today NBC a siarad am wirio gramadeg arloesol WWB, dyma oedd y sΓ΄n cyntaf am Unix ar y teledu.

egrep

Roedd Al Aho yn gobeithio y byddai ei ddosrannwr mynegiant rheolaidd penderfynol yn perfformio'n well na pharser anbenderfynol clasurol Ken. Yn anffodus, roedd yr olaf eisoes yn cwblhau llwybr trwy ymadroddion rheolaidd cymhleth tan egrep adeiladu ei awtomeiddio penderfynol ei hun. Er mwyn dal i ennill y ras hon, llwyddodd Al Aho i osgoi melltith twf esbonyddol tabl cyflwr yr awtomaton trwy ddyfeisio ffordd o adeiladu ar y pry dim ond y cofnodion bwrdd hynny yr ymwelwyd Γ’ nhw yn ystod y gydnabyddiaeth.

crancod

Fe wnaeth meta-raglen swynol Luca Cardelli ar gyfer system ffenestri Blit ryddhau crancod rhithwir a oedd yn crwydro o amgylch y gofod sgrin gwag, gan frathu mwy a mwy o ymylon ffenestri gweithredol.

Rhai syniadau cyffredinol

Er nad yw'n weladwy o'r tu allan, chwaraeodd theori ac algorithmau rΓ΄l bendant wrth greu'r rhan fwyaf o'r rhaglenni hyn: typo, dc, struct, pascal, egrep. Mewn gwirionedd, cymhwysiad anarferol y ddamcaniaeth sy'n peri'r syndod mwyaf.

Roedd awduron gwreiddiol bron i hanner y rhestr - pascal, strwythur, rhannau, eqn - yn fenywod, sy'n llawer uwch na chyfran ddemograffig menywod mewn cyfrifiadureg.

Douglas McIlroy
Mawrth, 2020


Ffynhonnell: hab.com

Ychwanegu sylw