Autori i artikullit, Douglas McIlroy, është një matematikan, inxhinier dhe programues amerikan. Ai është më i njohur për zhvillimin e tubacionit në sistemin operativ Unix, parimet e programimit të orientuar nga komponentët dhe disa programe origjinale: spell, diff, sort, join, speak, tr.
Ndonjëherë hasni në programe vërtet të mrekullueshme. Pasi gërmova në kujtesën time, përpilova një listë të gurëve të vërtetë Unix gjatë viteve. Në thelb, këto janë programe mjaft të rralla dhe jo aq të nevojshme. Por ajo që i bën të dallohen është origjinaliteti i tyre. As që mund ta imagjinoj që unë vetë më lindi ideja e ndonjërit prej tyre.
Ndani se cilat programe jeni gjithashtu kaq të impresionuar?
PDP-7 Unix
PĂ«r fillestarĂ«t, vetĂ« sistemi PDP-7 Unix. ThjeshtĂ«sia dhe fuqia e tij mĂ« bĂ«nĂ« tĂ« kaloj nga njĂ« mainframe i fuqishĂ«m nĂ« njĂ« makinĂ« tĂ« vogĂ«l. ĂshtĂ« sistemi thelbĂ«sor hierarkik i skedarĂ«ve, guaska e veçantĂ« dhe kontrolli i procesit nĂ« nivel pĂ«rdoruesi qĂ« Multics nĂ« mainframe nuk ka qenĂ« nĂ« gjendje tĂ« arrijĂ« pas qindra vitesh zhvillimi. MangĂ«sitĂ« e Unix-it (siç Ă«shtĂ« struktura e regjistrimit tĂ« sistemit tĂ« skedarĂ«ve) ishin po aq udhĂ«zuese dhe çliruese sa risitĂ« e tij (siç Ă«shtĂ« ridrejtimi i shell I/O).
dc
Biblioteka matematikore e llogaritëses kompjuterike me saktësi të ndryshueshme të Robert Morris përdori analizën e gabimeve të anasjellta për të përcaktuar saktësinë e kërkuar në çdo hap për të arritur një saktësi rezultati të specifikuar nga përdoruesi. Në Konferencën e Inxhinierisë Softuerike të NATO-s të vitit 1968, në raportin tim mbi komponentët e softuerit, propozova procedura referimi që mund të prodhonin çdo saktësi të dëshiruar, por nuk dija si t'i zbatoja ato në praktikë. dc është ende i vetmi program që di që mund ta bëjë këtë.
gabim daktilografimi
Shkrimi i shtypit rendit fjalët në tekst sipas ngjashmërisë së tyre me pjesën tjetër të tekstit. Shkrimet e gabuara si 'hte' priren të jenë në fund të listës. Robert Morris tha me krenari se programi do të funksiononte po aq mirë për çdo gjuhë. Edhe pse gabimi i shkrimit nuk ju ndihmon të gjeni gabime fonetike, ishte një ndihmë e vërtetë për të gjithë shtypësit dhe bëri shumë mirë përpara se të vinte kontrolluesi drejtshkrimor i fjalorit shumë më pak interesant, por më i saktë.
Gabimi i shtypit Ă«shtĂ« po aq i papritur nga brenda ashtu edhe nga jashtĂ«. Algoritmi i matjes sĂ« ngjashmĂ«risĂ« bazohet nĂ« frekuencĂ«n e shfaqjes sĂ« trigrameve, tĂ« cilat numĂ«rohen nĂ« njĂ« grup 26Ă26Ă26. Memoria e vogĂ«l mezi kishte hapĂ«sirĂ« ââtĂ« mjaftueshme pĂ«r numĂ«rues me njĂ« bajt, kĂ«shtu qĂ« u zbatua njĂ« skemĂ« pĂ«r tĂ« kompresuar numra tĂ« mĂ«dhenj nĂ« numĂ«rues tĂ« vegjĂ«l. PĂ«r tĂ« shmangur tejmbushjen, numĂ«ruesit u pĂ«rditĂ«suan mbi njĂ« bazĂ« probabilistike, duke mbajtur njĂ« vlerĂ«sim tĂ« logaritmit tĂ« vlerĂ«s sĂ« numĂ«ruesit.
eqn
Me ardhjen e fototipeve, u bë e mundur, por tmerrësisht e lodhshme, të printohej shënimi klasik matematikor. Lorinda Cherry vendosi të zhvillonte një gjuhë përshkrimi të nivelit më të lartë dhe së shpejti Brian Kernigan iu bashkua asaj. Lëvizja e tyre e shkëlqyer ishte që të vendosnin traditën gojore në shkrim, kështu që eqn ishte jashtëzakonisht e lehtë për t'u mësuar. Parapërpunuesi i parë i gjuhës së shprehjeve matematikore i këtij lloji, eqn nuk është përmirësuar shumë që atëherë.
strukturoj
Brenda Baker filloi të zhvillonte konvertuesin e saj Fortan-në-Ratfor kundër këshillës së shefit të saj, mua. Mendova se kjo mund të çonte në një rirenditje të veçantë të tekstit origjinal. Do të jetë pa numra deklaratash, por përndryshe jo më i lexueshëm se kodi Fortran i mirëstrukturuar. Brenda më tregoi se kisha gabuar. Ajo zbuloi se çdo program Fortran ka një formë të strukturuar kanonike. Programuesit preferuan formën kanonike, sesa atë që ata vetë shkruanin fillimisht.
paskal
Diagnostifikimi i sintaksës në përpiluesin e krijuar nga grupi i Sue Graham në Berkeley ishte më ndihmuesi që kam parë ndonjëherë - dhe u bë automatikisht. Në një gabim sintaksor, përpiluesi ju kërkon të futni një shenjë për të vazhduar analizimin. Asnjë përpjekje për të shpjeguar se çfarë është e gabuar. Me këtë përpilues, mësova Pascal në një mbrëmje pa asnjë manual në dorë.
pjesë
Fshehur brenda modulit WWB (Writer's Workbench). parts Lorinda Cherry përcakton pjesë të të folurit për fjalë në një tekst anglisht bazuar vetëm në një fjalor të vogël, rregulla drejtshkrimore dhe gramatikore. Bazuar në këtë shënim, programi WWB shfaq tregues stilometrikë të tekstit, si përhapja e mbiemrave, fjalitë e nënrenditura dhe fjalitë komplekse. Kur Lorinda u intervistua në NBC's Today dhe foli për kontrollin inovativ të gramatikës në tekstet e WWB, ishte përmendja e parë e Unix në televizion.
egrep
Al Aho priste që zgjidhësi i tij determinist i shprehjes së rregullt të kapërcente zgjidhësin klasik jo-përcaktues të Kenit. Fatkeqësisht, ky i fundit tashmë po përfundonte një kalim përmes shprehjeve të rregullta komplekse, ndërsa egrep ndërtoi automatizimin e tij determinist. Për të fituar ende këtë garë, Al Aho e kapërceu mallkimin e rritjes eksponenciale të tabelës së gjendjes së automatit duke shpikur një mënyrë për të ndërtuar në fluturim vetëm ato hyrje në tabelë që vizitohen në të vërtetë gjatë njohjes.
gaforret
Meta-programi simpatik i Luca Cardelli pĂ«r sistemin e dritareve Blit lĂ«shoi ââgaforre virtuale qĂ« bredhin hapĂ«sirĂ«n e zbrazĂ«t tĂ« ekranit, duke kafshuar gjithnjĂ« e mĂ« shumĂ« skajet e dritareve aktive.
Disa mendime të përgjithshme
Megjithëse nuk është i dukshëm nga jashtë, teoria dhe algoritmet luajtën një rol vendimtar në krijimin e shumicës së këtyre programeve: typo, dc, struct, pascal, egrep. Në fakt, është zbatimi i pazakontë i teorisë që është më i habitshëm.
Pothuajse gjysma e listës - pascal, struct, pjesë, eqn - fillimisht u shkrua nga gratë, shumë më tepër se demografia e grave në shkencat kompjuterike.
Douglas McIlroy
Mars, 2020
Burimi: www.habr.com
