Ամենահայտնի Unix ծրագրեր

Հեղինակը Դուգլաս Մաքիլրոյն է՝ ամերիկացի մաթեմատիկոս, ինժեներ և ծրագրավորող: Նայված է Unix գործող համակարգում լարերի մշակման, կոմպոնենտաբար ծրագրավորման սկզբունքների և մի շարք բնօրինակ օգտակարային ծրագրերի՝ spell, diff, sort, join, speak, tr-ի մշակումը:

Երբեմն ձեզ հանդիպում են իսկապես եզակի ծրագրեր: Հիշողությունիս մեջ փորելով, ես կազմեցի մի ցանկ իրական հարստությունների Unix-ի վրա, որոնք տարիների ընթացքում հայտնվել են: Հիմնականում, դրանք բավականին հազվագյուտ են և ոչ լիովին անհրաժեշտ ծրագրեր: Բայց այն, ինչ դրանք առանձնացնում է, նրանց բնօրինակությունն է: Չեմ կարող պատկերացնել, որ ես ինքս իններից մեկը գտնեմ:

Կիսվեք, որոնք ծրագրեր ձեզ նույնպես այսքան շատ են հուզել:

PDP-7 Unix

Նախ՝ ինքն սիստեմը PDP-7 Unix. Նրա պարզությունը և ուժը ինձ ստիպեցին անցնել ուժեղ մейнֆրեյմից փոքրիկ մեքենայի: Այստեղ է հիերարխիկ ֆայլային համակարգի խտացումը, առանձին թաղանթ և օգտվողի մակարդակով գործընթացների կառավարում, ինչը Multics-ը մейнֆրեյմներում չկարողացավ իրականացնել հարյուրավոր մարդամիտերի զարգացման հետո: Unix-ի թերությունները (օրինակ՝ ֆայլային համակարգում իրականացման կառուցվածքը) այնքան pédagogical և ազատարար էին, որքան դրա նորարարությունները (օրինակ՝ մուտք-արտք redirecting-ով թաղանթում):

dc

Մաթեմատիկական գրադարան՝ համազգեստի թողարկիչի Ռոբերտ Մորրիսի կողմից, օգտագործվել է մեղքի վերլուծություն՝ յուրաքանչյուր քայլի ճշտությունը որոշելու համար, որպեսզի ապահովվի օգտվողի պարամետրով ճշգրտված արդյունքի հասկացվածությունը: 1968 թվականին ՆԱՏՕ-ի ծրագրավորության ճարտարագիտության կոնֆերանսում, ես ներկայացրեցի նշվող ընթացակարգեր, որոնք կարող են տրամադրել ցանկացած ցանկալի ճշտություն, բայց ես չգիտեի, թե ինչպես դրանք իրականացնել պրակտիկայում: dc-ն դեռևս մնում է միակ հայտնի ծրագիրը, որը կարող է այդպիսի ճշգրտություն ապահովել:

typo

Typo- ն բառերը դասավորեցնում է տեքստի մեջ՝ իրենց շուրջ արհեստականության նմանությամբ: Օրինակ, 'hte'-ն երաժշտական ժողովրդականականում ունեցված է ցուցակի վերջում: Ռոբերտ Մորրիսը stolz ասում էր, որ ծրագիրը նույնքան լավ կաշխատի ցանկացած լեզվի համար: Չնայած typo-ն ֆոնետիկ սխալները որոնման մեջ չի օգնում, բայց դարձել է իրական գտում բոլոր այն համար ծրագրավորողների համար, ովքեր տեքստ գրում էին, և շատ օգուտ տվեց մինչև շատ ավելի քիչ հետաքրքիր, բայց ավելի ճշգրիտ բառարանային ուղղագրության ստուգումը:

Typo-ն այնքան էլ անսպասելի է ներսում, ինչպես և դրսում: Համմանման չափման ալգորիթմը հիմնված է եռապատահների երևույթի հաճախականության վրա, որոնք համարվում են 26×26×26 դաշտում: Փոքրիկ հիշողությունը հազիվ թե բավարար լիներ ոչ թե կրկնակի թվերի համար, հետևաբար ստորագրություն մշակվեց մեծ թիվերը փոքր միավորների համար: Փոխհատուցման խուսափելու համար, քանակները թարմացվեցին հավանականության հիման վրա, պահպանելով քանակի լոգարիթմի արժեքի քանակի գնահատումը:

eqn

Լուսանկարների հավաքածուի ստեղծմամբ հնարավոր դարձավ, սակայն չափազանց հոգնեցուցիչ էր դասական մաթեմատիկականNotation-ի արտագրումը: Լորինդա Չերի որոշել էր մշակել բարձր մակարդակի բնութագրի լեզու, և շուտով նրա հետ միացավ Բրայան Քերնիգանը: Ինձ համար նրանց brillante քայլը կայանում էր նրանում, որ խոսքային ավանդույթը արտահայտեն գրավոր տարբերակով, այնպես որ eqn-ը անսպասելի հեշտ էր ուսումնական տեսանկյունից: Իր տեսակի առաջին մաթեմատիկական արտահայտությունների բնութագրի նախապատրաստիչ eqn-ն այնուհետև գրեթե չհամապատասխանեց բարեփոխումների:

структур

Բրենդա Բեյքերը սկսել էր մշակել իր Fortan-to-Ratfor փոխարկիչը, հակառակ իմ ղեկավարի խորհուրդների՝ իմ: Ես մտածեցի, որ դա կարող է հանգեցնել հատուկ վերակառուցման աղբյուրային տեքստի: Այն հեռու կլինի օպերատորների համարներից, բայց մյուս կողմից ոչ ավելի դժվար կարդալ, քան լավ կառուցված Fortran կոդը: Բրենդան ապացուցեց, որ ես սխալ եմ: Նա հայտնաբերեց, որ յուրաքանչյուր Fortran ծրագիր ունի канонически կառուցված ձև:

պասկալ

Սինտաքսի ախտորոշումը՝ Սյու Գրեհեմի կողմից՝ Բարկլիում ստեղծված կոմպիլյատորի մեջ, եղել է ամենաօգուտը, որ ես երբեք չեմ տեսել՝ և այնվել նախատեսվել է ավտոմատ։ Սինտաքսի սխալի դեպքում կոմպիլյատորն առաջարկում է ներդնել լեքսեմը՝ շարունակելու սինտաքսի վերլուծությունը: Ոչ մի փորձ բացատրելու, թե ինչն է սխալ: Այս կոմպիլյատորով ես սովորեցի Pascal վերջներս առանց որևէ ուղեցույցի:

եզրեր

WWB (Writer’s Workbench) փաթեթի ներսում թաքնված մոդուլը եզրեր Լորինդա Չերին որոշում է բառերի խոսքային մասը տեխնիկական անգլերենի տեքստի հիման վրա, որը հիմնված է միայն փոքր բառարանով, ուղղագրության և գրամատիկայի կանոններով: Այս նշումով WWB ծրագիրը արտադրում է տեքստի որակական ցուցանիշներ, ինչպիսիք են՝ հատուկ ախտորոշության գերակշռությունը, ենթաոշնանշային նախադասությունները և բարդ նախադասությունները: Երբ Լորինդան NBC-ի Today հեռուստաձոյակում կայացած հարցազրույցում խոսեց WWB-ի նորարարական նաքրման ստուգման մասին, դա առաջին անգամUnix-ի հիշատակումն էր հեռուստատեսությունում:

egrep

Ալ Ահոն ակնկալում էր, որ իր որոշված բարդությունների ճանաչողը աչքի կապի կանցնի կլասյիկը՝ Քենի անկումից: Ցավոք, վերջինը արդեն ավարտեց անցնել բարդ ու կանոնավոր արտահայտությունների միջով, մինչ egrep նա կառուցում էր իր որոշված ավտոմատը: Սա հաղթելու համար, Ալ Ահոն շրջանցեց ավտոմատի վիճակների տարաբնակությունը, հնարեց նայելու հատկությունը միայն այնպիսի գրառումներ բառարաններում, որոնք իսկապես այցելվում են ճանաչման ժամանակ:

խեցգետիններ

Լուկի Կարդելլի գրավիչ մետա-ծրագիրը Blit պատուհանային համակարգի համար արտադրում էր վիրտուալ ծովախեցղուկներ, որոնք թափառում էին ծիածանի դատարկ տարածությունում, steeds bites the edges of active windows more and more.

Որոշ ընդհանուր մտքեր

Սակայն դա դուրսից չի երևում, բայց տեսութիւններն ու ալգորիթմները վճռորոշ դեր խաղացին այս ծրագրերից մեծամասնության ստեղծման մեջ: typo, dc, struct, pascal, egrep: Իրականում մեկն է զարմանալի է ոչ սովորական տեսության կիրառումը։

Կոնկրետ մանկավարժների հեղինակները, որոնց գրեթե կեսը՝ pascal, struct, parts, eqn, կանայք էին, ինչը շատ ավելի գերազանցում է կանանց ժողովրդագրական մասնաբաժինը համակարգչային գիտությունների ոլորտում։

Դուգլաս Մակիլրոյ
Մարտ, 2020


Ընտանիք: habr.com

Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով 🔥 Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով | ProHoster