Pi gwo pwogram Unix yo

Otè atik la, Douglas McIlroy, se yon matematisyen Ameriken, enjenyè ak pwogramè. Li se pi byen li te ye pou devlope tiyo a nan sistèm operasyon Unix, prensip yo nan pwogram oryante eleman ak plizyè sèvis piblik orijinal: eple, diff, sòt, rantre, pale, tr.

Pafwa ou rankontre kèk pwogram vrèman gwo. Apre fouye nan memwa mwen, mwen te konpile yon lis kèk nan meservey yo vre Unix pandan ane yo. Fondamantalman, sa yo se byen ra epi yo pa tèlman nesesè pwogram. Men, sa ki mete yo apa se orijinalite yo. Mwen pa menm ka imajine ke mwen te vini ak lide pou nenpòt nan yo tèt mwen.

Pataje, ki pwogram ki enpresyone w anpil tou?

PDP-7 Unix

Pou kòmansè, sistèm nan PDP-7 Unix tèt li. Senplisite ak pouvwa li te fè m chanje soti nan yon mainframe pwisan nan yon ti machin. Li se sistèm fichye yerarchize ekselans, koki separe, ak kontwòl pwosesis nan nivo itilizatè ke Multics sou mainframes pa t 'kapab aplike apre dè santèn de ane moun-nan devlopman. Enpèfeksyon Unix yo (tankou estrikti dosye sistèm dosye a) te osi enstriktif ak libere ke inovasyon li yo (tankou redireksyon shell I/O).

dc

Bibliyotèk matematik kalkilatris òdinatè ak presizyon varyab Robert Morris te itilize analiz erè envès pou detèmine presizyon ki nesesè nan chak etap pou reyalize yon rezilta presizyon itilizatè a espesifye. Nan 1968 Òganizasyon Trete Nò Atlantik Konferans Jeni lojisyèl, nan papye mwen an sou konpozan lojisyèl, mwen pwopoze pwosedi referans ki ta ka pwodwi rezilta nan nenpòt ki presizyon vle, men mwen pa t 'konnen ki jan yo aplike yo nan pratik. dc se toujou sèl pwogram mwen konnen ki ka fè sa.

Typo

Typo òdone mo nan tèks la dapre resanblans yo ak rès tèks la. Move òtograf tankou 'hte' yo gen tandans fini nan fen lis la. Robert Morris ak fyète te di ke pwogram nan ta travay egalman byen nan nenpòt lang. Malgre ke typo pa ede w jwenn erè fonetik, se te yon obsève pou tout moun k ap make e li te trè itil anvan chèk òtograf diksyonè a anpil mwens enteresan men ki pi egzak te vini.

Typo se tankou andedan inatandi kòm li se deyò. Algorithm mezi resanblans la baze sou frekans ensidan trigram yo, ki konte nan yon etalaj 26x26x26. Te gen apèn ase espas nan memwa a ti pou kontè yon sèl-octet, kidonk yo te aplike yon konplo pou konprese gwo kantite nan ti kontwa. Pou evite debòde, kontè yo te mete ajou sou yon baz pwobabilite, kenbe yon estimasyon de logaritm valè vann san preskripsyon an.

eqn

Avèk avenman fototypesetting, li te vin posib, men fò anpil fatigan, yo pwodwi notasyon matematik klasik. Lorinda Cherry te deside devlope yon langaj deskripsyon ki pi wo, e Brian Kernighan te vin jwenn li byento. Mouvman briyan yo se te eksprime tradisyon oral alekri, se poutèt sa eqn te vin etonan fasil pou aprann. Premye preprosesè lang ekspresyon matematik nan kalite li yo, eqn te wè ti amelyorasyon depi lè sa a.

estrikti

Brenda Baker te kòmanse devlope konvètisè Fortan-a-Ratfor li kont konsèy bòs li a, mwen menm. Mwen te panse ke sa a ta ka lakòz yon rekòmande espesyal nan tèks orijinal la. Li pral gratis nan nimewo operatè, men otreman pa plis lizib pase kòd Fortran ki byen estriktire. Brenda te pwouve m mal. Li te dekouvri ke chak pwogram Fortran gen yon fòm kanonik estriktire. Pwogramè yo te pito fòm kanonik la olye ke sa yo menm yo te ekri orijinèlman.

pascal

Dyagnostik sentaks nan du gwoup Sue Graham nan Berkeley te konstwi a te pi itil mwen te janm wè-e yo te otomatik. Si gen yon erè sentaks, konpilatè a mande w pou mete yon siy pou kontinye analize. Pa gen tantativ pou eksplike sa ki mal. Avèk konpilatè sa a, mwen te aprann Pascal nan yon aswè, san okenn manyèl nan men.

pati

Modil kache andedan pake WWB (Writer's Workbench). parts Lorinda Cherry detèmine pati nan lapawòl pou mo nan tèks angle a ki baze sèlman sou yon ti diksyonè, règ òtograf ak gramè. Dapre annotation sa a, pwogram WWB montre endikatè stilometrik tèks la, tankou prévalence de adjektif, paragraf sibòdone ak fraz konplèks. Lè Lorinda te fè entèvyou sou emisyon NBC Jodi a epi li te pale sou inovatè tcheke gramè WWB a, se te premye mansyone Unix sou televizyon.

egrep

Al Aho te espere ke analizeur ekspresyon regilye detèminist li a ta depase parser klasik Ken an ki pa detèminist. Malerezman, lèt la te deja konplete yon pas nan ekspresyon regilye konplèks jiska egrep bati pwòp automatisation detèminist li. Pou toujou genyen kous sa a, Al Aho kontourne madichon kwasans eksponansyèl nan tab eta otomatik la pa envante yon fason yo bati sou vole a sèlman sa yo antre tab ki te aktyèlman vizite pandan rekonesans.

krab

Charman meta-pwogram Luca Cardelli a pou sistèm fenèt Blit la te lage krab vityèl ki t'ap mache nan espas vid ekran an, mòde pi plis ak plis nan kwen fenèt aktif yo.

Gen kèk panse jeneral

Malgre ke li pa vizib soti deyò a, teyori ak algoritm te jwe yon wòl desizif nan kreyasyon pifò nan pwogram sa yo: typo, dc, struct, pascal, egrep. An reyalite, se aplikasyon an etranj nan teyori a ki pi etone.

Otè orijinal yo nan prèske mwatye lis la-pascal, struct, parts, eqn-te fanm, ki depase anpil demografik pati nan fanm nan syans enfòmatik.

Douglas McIlroy
Mas, NAN


Sous: www.habr.com

Add nouvo kòmantè