Autori i artikullit Douglas MacIlroy është një matematicien, inxhinier dhe programues amerikan. Ai është më i njohur për zhvillimin e pipeline-së në sistemin operativ Unix, parimet e programimit të orientuar nga komponentët dhe disa utilitete origjinale: spell, diff, sort, join, speak, tr.
Ndonjëherë ju ndodhin vërtet programe të mrekullueshme. Duke kërkuar në kujtesën time, kam përpiluar një listë të vërtetë perlash të Unix-it gjatë gjithë viteve. Kryesisht, këto janë programe të rralla dhe jo aq të nevojshme. Por ajo që i dallon është origjinaliteti. As që mund të imagjinoj se si do të më kishte ardhur mendja për ndonjë prej tyre.
Ndani, cilat programe ju kanë impresionuar po aq?
PDP-7 Unix
Për fillim, sistemi vetë PDP-7 Unix. Thjeshtësia dhe fuqia e saj më detyruan të kaloj nga një mainframe të fuqishëm në një makinë të vogël. Këtu është thelbi i sistemit hierarkik të skedarëve, një maske e veçantë dhe menaxhimi i proceseve në nivel përdoruesi, që Multics në mainframe nuk arriti ta realizojë pas qindra viteve zhvillimi. Dobësitë e Unix-it (siç është struktura e regjistrave në sistemin e skedarëve) ishin po aq mësuese dhe çliruese sa edhe novacionet e saj (siç është redirektimi i hyrjes dhe daljes në shell).
dc
Biblioteka matematikore për kalkulatorin desktop me saktësi të ndryshueshme të Robert Morris përdorte analiza e gabimeve për të përcaktuar saktësinë e nevojshme në çdo hap për të arritur saktësinë e caktuar nga përdoruesi të rezultatit. Në konferencën NATO për inxhinierinë e softeuerve në vitin 1968, në ligjëratën time mbi komponentët e softeve, propozuam procedurat standarde që mund të japin çdo saktësi të dëshiruar, por nuk e dija si t'i realizoja ato në praktikë. dc vazhdon të mbetet programi i vetëm që njoh që mund të realizojë një gjë të tillë.
typo
Typo rendit fjalĂ«t nĂ« tekst sipas ngjashmĂ«risĂ« me tekstin tjetĂ«r. Gabimet e shtypjes si âhteâ tendencojnĂ« tĂ« vendosen nĂ« fund tĂ« listĂ«s. Robert Morris me krenari thoshte se programi do tĂ« punonte njĂ«lloj mirĂ« pĂ«r çdo gjuhĂ«. MegjithĂ«se typo nuk ndihmon pĂ«r gjetjen e gabimeve fonetike, ajo Ă«shtĂ« bĂ«rĂ« njĂ« gjetje e vĂ«rtetĂ« pĂ«r tĂ« gjithĂ« ata qĂ« shkruajnĂ« tekst dhe ka sjellĂ« shumĂ« dobi para se tĂ« shfaqej njĂ« kontroll ortografie mĂ« pak interesant, por mĂ« tĂ« saktĂ« sipas fjalorit.
Typpo Ă«shtĂ« po aq e papritur brenda sa dhe jashtĂ«. Algoritmi i matjes sĂ« ngjashmĂ«risĂ« bazohet nĂ« frekuencĂ«n e shfaqjes sĂ« trigramĂ«ve, tĂ« cilat llogariten nĂ« njĂ« çift 26Ă26Ă26. NĂ« njĂ« memorie tĂ« vogĂ«l, kishte vĂ«shtirĂ«si tĂ« mjaftueshme pĂ«r numrat njĂ«-byte, prandaj u realizua njĂ« skemĂ« pĂ«r kompresimin e numrave tĂ« mĂ«dhenj nĂ« numra tĂ« vegjĂ«l. PĂ«r tĂ« shmangur mbingarkesĂ«n, numrat u pĂ«rditĂ«suan nĂ« bazĂ« probabilistike, duke mbajtur njĂ« vlerĂ«sim logaritmik tĂ« vlerĂ«s sĂ« numrit.
. Ai është i veçantë sepse për të shfaqur formulën, zhvilluesi duhet ta përshkruajë atë me fjalë dhe simbole të thjeshta. Fjalët kyçe lejojnë të zhvendosen simbolet matematikore në mënyrë vertikale dhe horizontale, të ndryshojnë përmasat dhe parametra të tjerë. Nëse i kaloni utilitës një varg:
Me shfaqjen e fotonabave u bĂ« e mundur, por ishte jashtĂ«zakonisht e lodhshme tĂ« shprehej notacioni matematikor klasik. Lorinda Cherry vendosi tĂ« zhvillonte njĂ« gjuhĂ« pĂ«rshkrimi me njĂ« nivel mĂ« tĂ« lartĂ«, dhe sĂ« shpejti iu bashkua Brian Kernighan. Hapi i tyre i shkĂ«lqyer ishte tĂ« shpreheshin traditat gojore nĂ« formĂ« shkruese, prandaj eqn doli tĂ« ishte befasueshĂ«m i lehtĂ« pĂ«r tâu mĂ«suar. I pari i llojit tĂ« tij, preprocessori i gjuhĂ«s sĂ« pĂ«rshkrimit tĂ« shprehjeve matematikore, eqn ka mbetur pothuajse pa pĂ«rmirĂ«sime qĂ« nga ajo kohĂ«.
strukturë
Brenda Baker filloi tĂ« zhvillonte konvertorin e saj Fortan-to-Ratfor pavarĂ«sisht nga kĂ«shillat e shefit tĂ« saj â mua. Mendova se kjo mund tĂ« çonte nĂ« njĂ« riorganizim tĂ« veçantĂ« tĂ« tekstit tĂ« burimit. Ai do tĂ« ishte i lirĂ« nga numrat e operatorĂ«ve, por pĂ«rndryshe nuk do tĂ« ishte mĂ« i lexueshĂ«m se kodi i strukturuar mirĂ« Fortran. Brenda e provoi se isha gabim. Ajo zbuloi se çdo program Fortran kishte njĂ« formĂ« kanonike tĂ« strukturuar. Programmers preferonin formĂ«n kanonike, sesa atĂ« qĂ« kishin shkruar fillimisht.
pascal
Diagnoza e sintaksĂ«s nĂ« kompilatorin e zhvilluar nga grupi i Sue Graham nĂ« Berkeley ishte mĂ« e dobishmja qĂ« kam parĂ« ndonjĂ«herĂ« â dhe kjo u realizua automatikisht. Kur ndodhte njĂ« gabim sintaksor, kompileri sugjeronte tĂ« shtonte njĂ« leksĂ«m pĂ«r tĂ« vazhduar analizĂ«n sintaksore. AsnjĂ« pĂ«rpjekje pĂ«r tĂ« shpjeguar se çfarĂ« ishte e gabuar. Me kĂ«tĂ« kompilator mĂ«sova Pascal brenda njĂ« mbrĂ«mjeje, pa pasur ndonjĂ« manual nĂ« dorĂ«.
pjesët
Moduli i fshehur brenda paketĂ«s WWB (Writerâs Workbench) pjesĂ«t Lorinda Cherry defines the parts of speech for words in English texts based solely on a small dictionary, spelling rules, and grammar. Based on this annotation, the WWB program produces stylometric indicators of the text, such as the predominance of adjectives, subordinate clauses, and complex sentences. When Lorinda gave an interview on the Today show on NBC and spoke about the innovative grammar checking in WWB texts, it was the first mention of Unix on television.
egrep
Al Aho hoped that his deterministic regular expression recognizer would outperform Ken's classic nondeterministic recognizer. Unfortunately, the latter was already completing its pass over complex regular expressions while egrep building his deterministic automaton. To win this race, Al Aho circumvented the curse of exponential growth of the automaton state table by inventing a way to construct only the entries in the table that are actually visited during recognition, on-the-fly.
crabs
The charming meta-program by Luca Cardelli for the Blit window system would produce virtual crabs that roamed the empty space of the screen, increasingly nibbling at the edges of active windows.
Some common thoughts
Although not visible from the outside, theory and algorithms played a crucial role in the creation of most of these programs: typo, dc, struct, pascal, egrep. What is most surprising is the unusual application of theory.
The original authors of nearly half of the listâpascal, struct, parts, eqnâwere women, which significantly surpasses the demographic share of women in the field of computer science.
Douglas McIlroy
March 2020
Burimi: habr.com
