Bernameyên Unix-ê yên herî mezin

Nivîskarê gotarê, Douglas McIlroy, matematîkzan, endezyar û bernamesazek ​​Amerîkî ye. Ew herî baş ji bo pêşxistina boriyê di pergala xebitandina Unix, prensîbên bernamesaziya pêkhatî-oriented û çend karûbarên orîjînal de tê zanîn: rastnivîsîn, cudahî, celeb, tevlî, axaftin, tr.

Carinan hûn rastî hin bernameyên pir mezin tên. Piştî ku di bîra xwe de dikolim, min bi salan navnîşek hin gemarên Unix-ê yên rastîn berhev kir. Di bingeh de, ev bernameyên pir kêm û ne ewqas hewce ne. Lê ya ku wan ji hev vediqetîne reseniya wan e. Ez nikarim xeyal jî bikim ku min bi xwe ji bo yek ji wan fikra xwe anî.

Parve bikin, kîjan bernameyan jî we ewqas bandor kir?

PDP-7 Unix

Ji bo destpêkê, pergala PDP-7 Unix bixwe. Sadebûn û hêza wê min kir ku ez ji navgînek hêzdar veguhezim makîneyek piçûk. Ew pergala pelan a hiyerarşîk a bingehîn e, şêlê veqetandî, û kontrolkirina pêvajoyê ya asta bikarhêner e ku Multics li ser sereke nekariye piştî pêşkeftina bi sedan salan pêk bîne. Kêmasiyên Unix-ê (wekî strukturên tomara pergala pelan) bi qasî nûbûnên wê hînker û azadker bûn (wek beralîkirina şêl I/O).

dc

Pirtûkxaneya matematîkê ya hesabkera sermaseya rast a guhêrbar a Robert Morris analîza xeletiya berevajî bikar anî da ku rastbûna ku di her gavê de hewce dike destnîşan bike da ku bigihîje encamek rastîn a bikarhêner. Di Konferansa Endezyariya Nermalavê ya NATO ya 1968 de, di gotara xwe ya li ser pêkhateyên nermalavê de, min prosedurên referansê pêşniyar kirin ku dikarin encamên her rastbûna xwestinê derxînin, lê min nizanibû ku ez wan çawa di pratîkê de bicîh bikim. dc hîn jî tenê bernameya ku ez pê dizanim ku dikare vî karî bike.

şaşnivîs

Tîpo peyvan di nivîsê de li gorî hevşibiya wan bi nivîsê re rêz dike. Rastnivîsên wekî 'hte' di dawiya lîsteyê de diqede. Robert Morris bi serbilindî got ku bername dê di her zimanî de wekhev baş bixebite. Her çend xeletiya tîpê alîkariya we nake ku hûn xeletiyên dengnasî bibînin jî, ew ji bo hemî tîpnivîskaran xelatek Xwedê bû û berî ku rastnivîsîna rastnivîsê ya ferhengê ya pir kêmtir balkêş lê rasttir were peyda kirin, ew pir bikêr bû.

Tîpo di hundurê xwe de, ew qas li derve jî nediyar e. Algorîtmaya pîvandina wekheviyê li ser bingeha frekansa rûdana trigraman e, ku di rêzek 26x26x26 de têne hejmartin. Di bîranîna piçûk de ji bo hejmarkerên yek-byte bi zor cîhek têra xwe hebû, ji ber vê yekê nexşeyek hate bicîh kirin ku hejmarên mezin li hejmarkerên piçûk werin berhev kirin. Ji bo ku ji zêdebûnê dûr nekevin, jimarvan li ser bingehek îhtîmalek hatine nûve kirin, ku texmînek logarîtma nirxa jimarvan diparêze.

eqn

Bi hatina wênesazkirina wêneyan re, hilberandina nîşesaziya matematîkî ya klasîk gengaz bû, lê pir westayî. Lorinda Cherry biryar da ku zimanek ravekirina asta bilind pêş bixe, û Brian Kernighan zû tevlî wê bû. Tevgera wan a berbiçav ew bû ku kevneşopiya devkî bi nivîskî diyar bikin, ji ber vê yekê fêrbûna eqn ecêb xuya bû. Yekemîn pêş-processora zimanê ravekirina matematîkî ya bi vî rengî, eqn ji wê demê ve kêm pêşkeftinek dîtiye.

struktur

Brenda Baker li dijî şîreta patronê xwe, min, dest bi pêşxistina veguherînerê Fortan-to-Ratfor kir. Min fikirîn ku ev dibe ku bibe sedema vesazkirinek taybetî ya nivîsa orîjînal. Ew ê ji hejmarên operatorê bêpar be, lê wekî din ji koda Fortran-a birêkûpêk a birêkûpêk nayê xwendin. Brenda min şaş kir. Wê kifş kir ku her bernameyek Fortran xwedan formek kanonîkî ye. Bernamesaz ji ya ku wan bixwe di destpêkê de nivîsandibû, forma kanonîkî tercîh kirin.

pascal

Teşhîsa hevoksaziyê ya di berhevkerê de ku ji hêla koma Sue Graham ve li Berkeley ve hatî çêkirin, ya herî bikêrhatî bû ku min qet dîtiye - û ew bixweber bûn. Ger xeletiyek hevoksaziyê hebe, berhevkar ji we dipirse ku hûn tokenek têxin da ku parskirinê bidomînin. Hewldan tune ku rave bike ka çi xelet e. Bi vê berhevkarê re, ez di yek êvarê de, bêyî ku destek li ber destan hebe, fêrî Pascal bûm.

parçeyên

Modul di hundurê pakêta WWB (Nivîskarê Karê Nivîskar) de veşartî ye parts Lorinda Cherry beşên axaftinê ji bo peyvan di nivîsa îngilîzî de tenê li ser bingeha ferhengek piçûk, rêzikên rastnivîsê û rêzimanê diyar dike. Li ser bingeha vê şîrovekirinê, bernameya WWB nîşangirên stylometric ên nivîsê, wekî berbelavbûna rengdêran, bendên jêrîn û hevokên tevlihev nîşan dide. Dema ku Lorinda di pêşandana NBC's Today de hate hevpeyvîn kirin û li ser kontrolkirina rêzimanê nûjen a WWB axivî, ew yekem behskirina Unix-ê li televîzyonê bû.

egrep

Al Aho hêvî kir ku parsera wî ya birêkûpêk a determînîst dê ji parsera ne-determînîst a klasîk a Ken derbikeve. Mixabin, ya paşîn jixwe derbasbûnek di nav bêjeyên birêkûpêk tevlihev de temam dikir heya egrep xweseriya xwe ya determînîst ava kir. Ji bo ku hîn jî di vê pêşbaziyê de bi ser bikeve, Al Aho nifira mezinbûna berfire ya tabloya dewletê ya otomatê dorpêç kir û rêyek da ku li ser firînê tenê wan navnîşên tabloyê yên ku di dema naskirinê de bi rastî hatine ziyaret kirin ava bike.

keftar

Meta-bernameya dilşewat a Luca Cardelli ji bo pergala pencereya Blit kêzikên virtual ku li dora cîhê vala dîmenderê geriyan, her ku diçe bêtir keviyên pencereyên çalak diçikînin.

Hin ramanên gelemperî

Her çend ew ji derve nayê xuyang kirin jî, teorî û algorîtmayan di afirandina piraniya van bernameyan de rolek diyarker lîstin: tîp, dc, struct, pascal, egrep. Di rastiyê de, ew sepana neasayî ya teoriyê ye ku herî ecêb e.

Nivîskarên eslî yên hema hema nîvê lîsteyê-pascal, struct, beş, eqn- jin bûn, ku di zanistiya kompîturê de para demografîk a jinan pir zêdetir e.

Douglas McIlroy
Adar, 2020


Source: www.habr.com

Add a comment