{"id":76903,"date":"2020-04-06T01:42:17","date_gmt":"2020-04-05T23:42:17","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/samye-zamechatelnye-programmy-unix"},"modified":"2020-04-06T01:42:17","modified_gmt":"2020-04-05T23:42:17","slug":"samye-zamechatelnye-programmy-unix","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/samye-zamechatelnye-programmy-unix","title":{"rendered":"K\u00f5ige t\u00e4helepanuv\u00e4\u00e4rsemad Unix-programmid","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>Artikli autor Douglas MacIlroy on Ameerika matemaatik, insener ja programmeerija. Ta on k\u00f5ige tuntum Unix-i operatsioonis\u00fcsteemi torujuhtme, komponente orienteeritud programmeerimise printsiipide ja mitme originaalutiliidi nagu spell, diff, sort, join, speak, tr v\u00e4ljat\u00f6\u00f6tamise poolest.<\/i> <\/p>\n<p>M\u00f5nikord kohtate t\u00f5eliselt h\u00e4mmastavaid programme. Otsides m\u00e4lu s\u00fcgavustest, koostasin nimekirja t\u00f5elistest Unix-i p\u00e4rlitest l\u00e4bi aastate. Peamiselt on tegu \u00fcsna haruldaste ja mitte nii h\u00e4davajalike programmidega. Aga mis neid eristab, on nende originaalsus. Ei suuda isegi ette kujutada, et mul endal oleks tulnud m\u00f5te m\u00f5nest neist.<\/p>\n<p>Jagage, millised programmid on teid samuti nii v\u00e4ga \u00fcllatanud?<\/p>\n<h1>PDP-7 Unix<\/h1>\n<p>\nKuna alguseks, ise PDP-7 Unix s\u00fcsteem. Selle lihtsus ja j\u00f5ud sundisid mind liikuma v\u00f5imsalt peamiselt peenardest v\u00e4iksemale masinale. Siin on j\u00f5hkralt hierarhilise failis\u00fcsteemi kvintessents, eraldi shell ja kasutaja tasemel protsessihaldus, mida Multics peamine s\u00fcsteem ei suutnud sajandite jooksul arenduste jooksul realiseerida. Unix-i puudused (nt kirje struktuur failis\u00fcsteemis) olid sama \u00f5petlikud ja vabastavad kui selle uuendused (nt sisendi-v\u00e4ljundi suunamine shellis).<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h1>dc<\/h1>\n<p>\nRobert Morrise matemaatiline raamatukogu lauaarvutite kalkulaatorile, mille t\u00e4psus oli muutuja, kasutas tagasip\u00f6\u00f6ratud eksiarvamuste anal\u00fc\u00fcsi, et m\u00e4\u00e4rata vajaliku t\u00e4psuse iga sammu jaoks, et saavutada kasutaja m\u00e4\u00e4ratud tulemus t\u00e4psuses. NATO 1968. aasta tarkvarainsenerite konverentsil oma ettekandes tarkvarakomponentide kohta, soovitasin ma standardprotseduure, mis v\u00f5iksid anda soovitud t\u00e4psuse, kuid ma ei teadnud, kuidas neid praktikas rakendada. dc j\u00e4\u00e4b siiani ainukeseks tuntud programmiks, mis suudab seda teha.<\/p>\n<h1>typo<\/h1>\n<p>\nTypo j\u00e4rjestab tekstis s\u00f5nu vastavalt nende sarnastele seostele muus tekstis. N\u00e4iteks t\u00fc\u00fcbid nagu 'hte' kipuvad ilmuma nimekirja l\u00f5pus. Robert Morris \u00fctles uhkusega, et programm t\u00f6\u00f6tab samah\u00e4sti igas keeles. Kuigi typo ei aita leida foneetilisi vigu, on see olnud t\u00f5eline leid k\u00f5igile, kes teksti kirjutavad, ja see on toonud palju kasu enne, kui ilmus palju v\u00e4hem huvitav, kuid t\u00e4psem \u00f5igekirjakontroll s\u00f5naraamatu p\u00f5hjal.<\/p>\n<p>Typo on niiv\u00f5rd \u00fcllatav, kui see on seest kui v\u00e4ljast. Sarnaste elementide m\u00f5\u00f5tmise algoritm p\u00f5hineb trigrammide esinemissagedusel, mida arvestatakse 26\u00d726\u00d726 massiivi. V\u00e4ikeses m\u00e4lus ei olnud ruumi \u00fcheinimesekaid loendureid, seega rakendati suurtelt numbritelt v\u00e4ikestele loenduritele tihendamise skeem. \u00dcleujutuste v\u00e4ltimiseks uuendati loendureid t\u00f5en\u00e4osuslikult, s\u00e4ilitades loenduri v\u00e4\u00e4rtuse logaritmi hinnangu.<\/p>\n<h1>eqn<\/h1>\n<p>\nFotokogumite ilmumisega muutus klassikalise matemaatilise m\u00e4rkuse v\u00e4ljat\u00f6\u00f6tamine v\u00f5imalikuks, kuid kohutavalt t\u00fc\u00fctuks. Lorinda Cherry otsustas v\u00e4lja t\u00f6\u00f6tada k\u00f5rgema taseme kirjelduskeele ja peagi liitus temaga Brian Kernighan. Nende geniaalne samm oli v\u00e4ljendada suulist traditsiooni kirjalikult, mist\u00f5ttu osutus eqn \u00fcllatavalt lihtsaks \u00f5ppida. Esimene omalaadne matemaatiliste v\u00e4ljendite kirjelduskeele eelprotsessor, eqn pole sellest ajast peaaegu \u00fcldse paranenud.<\/p>\n<h1>struct<\/h1>\n<p>\nBrenda Baker alustas oma Fortran-to-Ratfor konverteri v\u00e4ljat\u00f6\u00f6tamist oma \u00fclemuse \u2014 minu \u2014 soovitust hoolimata. Ma arvasin, et see v\u00f5ib viia algse koodi erilise uuendamiseni. See oleks vaba operaatorite numbritest, kuid muidu mitte rohkem loetav kui \u00f5igesti struktureeritud Fortrani kood. Brenda t\u00f5estas, et ma eksisin. Ta avastas, et igal Fortrani programmil on kanoniliselt struktureeritud kuju. Programmeerijad eelistasid kanonilist vormi selle asemel, mida nad algselt kirjutasid.<\/p>\n<h1>pascal<\/h1>\n<p>\nS\u00fcntaksidiagnoos Berkeleys Sue Grahami r\u00fchma loodud kompilaatoris oli k\u00f5ige kasulikum, mida ma kunagi n\u00e4inud olen \u2014 ja see toimus automaatselt. S\u00fcntaktilise vea korral pakub kompilaator lisada lexemi, et j\u00e4tkata s\u00fcntaksianal\u00fc\u00fcsi. \u00dchtegi katset seletada, mis on vale. Selle kompilaatoriga \u00f5ppisin Pascalit \u00fche \u00f5htu jooksul, ilma et mul oleks olnud juhendit.<\/p>\n<h1>parts<\/h1>\n<p>\nWWB (Writer's Workbench) paketi sees peidetud moodul <code>parts<\/code> Lorinda Cherry m\u00e4\u00e4rab s\u00f5nastiku alusel s\u00f5nade k\u00f5neosad ingliskeelses tekstis, tuginedes vaid v\u00e4ikesele s\u00f5naraamatule, \u00f5piksite ja grammatikareeglitele. Selle annotatsiooni alusel toodab programm WWB stilomeetrilisi n\u00e4itajaid, nagu omaduss\u00f5nade, alams\u00f5nade ja keeruliste lausete \u00fclekaal. Kui Lorinda andis intervjuu NBC saates Today ja r\u00e4\u00e4kis WWB tekstides innovatiivsest grammatikakontrollist, oli see esimene kord, kui Unixist televisioonis r\u00e4\u00e4giti.<\/p>\n<h1>egrep<\/h1>\n<p>\nAl Aho lootis, et tema m\u00e4\u00e4ratletud regulaarsete v\u00e4ljendite tuvastaja teeb kiiremini l\u00e4bi klassikalisest mitte-m\u00e4\u00e4ratletud tuvastajast Kenist. Kahjuks l\u00f5petas viimane juba keeruliste regulaarsete v\u00e4ljendite l\u00e4bimise, samal ajal kui <code>egrep<\/code> ta ehitas oma m\u00e4\u00e4ratletud automaatika. Et siiski v\u00f5idutseda selles v\u00f5istluses, leidis Al Aho viisi, kuidas k\u00f5rvaldada masina olekute tabeli eksponentsiaalne kasvu needus, leiutades meetodi tabeli ainult nende kirjeid loomise jaoks, mis t\u00f5eliselt k\u00fclastatakse tuvastamise ajal.<\/p>\n<h1>krabisid<\/h1>\n<p>\nLuca Cardelli v\u00f5luv meta-programm Bliti aknas\u00fcsteemile genereeris virtuaalseid rakke, mis r\u00e4ndasid ekraani t\u00fchjas ruumis, aina rohkem n\u00e4ksides aktiivsete akende servasid.<\/p>\n<h1>M\u00f5ned \u00fcldised m\u00f5tted<\/h1>\n<p>\nKuigi see ei ole v\u00e4ljastpoolt n\u00e4htav, on teoriad ja algoritmid m\u00e4nginud otsustavat rolli enamikus neist programmidest: typo, dc, struct, pascal, egrep. Tegelikult \u00fcllatab enim just ebatavaline teooriate rakendamine.<\/p>\n<p>Originaalautoriteks oli peaaegu poolest nimekirjast - pascal, struct, parts, eqn - naised, mis \u00fcletab oluliselt naiste demograafilist osa arvutiteaduses.<\/p>\n<p><i>Douglas McIlroy<br \/>\nM\u00e4rts, 2020<\/i><br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/495550\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0410\u0432\u0442\u043e\u0440 \u0441\u0442\u0430\u0442\u044c\u0438 \u0414\u0443\u0433\u043b\u0430\u0441 \u041c\u0430\u043a\u0438\u043b\u0440\u043e\u0439\u00a0\u2014 \u0430\u043c\u0435\u0440\u0438\u043a\u0430\u043d\u0441\u043a\u0438\u0439 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a, \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442. \u041d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u0430 \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 Unix, \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u043e\u0432 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0443\u0442\u0438\u043b\u0438\u0442: spell, diff, sort, join, speak, tr. \u0418\u043d\u043e\u0433\u0434\u0430 \u0432\u0430\u043c \u043f\u043e\u043f\u0430\u0434\u0430\u044e\u0442\u0441\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. \u041f\u043e\u043a\u043e\u043f\u0430\u0432\u0448\u0438\u0441\u044c \u0432 \u043f\u0430\u043c\u044f\u0442\u0438, \u044f \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u043b \u0441\u043f\u0438\u0441\u043e\u043a \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0445 \u0436\u0435\u043c\u0447\u0443\u0436\u0438\u043d Unix \u0437\u0430 \u0432\u0441\u0435 \u0433\u043e\u0434\u044b. \u0412 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c, \u044d\u0442\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0440\u0435\u0434\u043a\u0438\u0435 \u0438 \u043d\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-76903","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0410\u0432\u0442\u043e\u0440 \u0441\u0442\u0430\u0442\u044c\u0438 \u0414\u0443\u0433\u043b\u0430\u0441 \u041c\u0430\u043a\u0438\u043b\u0440\u043e\u0439 \u2014 \u0430\u043c\u0435\u0440\u0438\u043a\u0430\u043d\u0441\u043a\u0438\u0439 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a, \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/samye-zamechatelnye-programmy-unix\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u0430\u043c\u044b\u0435 \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b Unix | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0410\u0432\u0442\u043e\u0440 \u0441\u0442\u0430\u0442\u044c\u0438 \u0414\u0443\u0433\u043b\u0430\u0441 \u041c\u0430\u043a\u0438\u043b\u0440\u043e\u0439 \u2014 \u0430\u043c\u0435\u0440\u0438\u043a\u0430\u043d\u0441\u043a\u0438\u0439 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a, \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/samye-zamechatelnye-programmy-unix\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-04-05T23:42:17+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-04-05T23:42:17+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47K\u00f5ige p\u00f5nevamad Unix programmid | ProHoster","description":"Artikli autor Douglas McIlroy on Ameerika matemaatik, insener ja programmeerija.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/samye-zamechatelnye-programmy-unix","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u0430\u043c\u044b\u0435 \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b Unix | ProHoster","og:description":"\u0410\u0432\u0442\u043e\u0440 \u0441\u0442\u0430\u0442\u044c\u0438 \u0414\u0443\u0433\u043b\u0430\u0441 \u041c\u0430\u043a\u0438\u043b\u0440\u043e\u0439 \u2014 \u0430\u043c\u0435\u0440\u0438\u043a\u0430\u043d\u0441\u043a\u0438\u0439 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a, \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442.","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/samye-zamechatelnye-programmy-unix","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-04-05T23:42:17+00:00","article:modified_time":"2020-04-05T23:42:17+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"76903","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 17:27:23","updated":"2022-10-08 06:55:30","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/76903","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=76903"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/76903\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=76903"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=76903"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=76903"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}