{"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\/de\/blog\/administrirovanie\/samye-zamechatelnye-programmy-unix","title":{"rendered":"Die bemerkenswertesten Unix-Programme","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>Der Autor des Artikels Douglas McIlroy ist ein amerikanischer Mathematiker, Ingenieur und Programmierer. Er ist am bekanntesten f\u00fcr die Entwicklung der Pipeline im Betriebssystem Unix, die Prinzipien der komponentenorientierten Programmierung und mehrere originale Tools: spell, diff, sort, join, speak, tr.<\/i> <\/p>\n<p>Manchmal entdeckt man wirklich bemerkenswerte Programme. Nach sorgf\u00e4ltiger \u00dcberlegung habe ich eine Liste von echten Perlen von Unix im Laufe der Jahre zusammengestellt. Im Gro\u00dfen und Ganzen sind dies recht seltene und nicht unbedingt notwendige Programme. Aber was sie hervorhebt, ist ihre Originalit\u00e4t. Ich kann mir nicht einmal vorstellen, dass mir die Idee f\u00fcr eines dieser Programme selbst gekommen w\u00e4re.<\/p>\n<p>Was sind die Programme, die Sie ebenfalls so beeindruckt haben?<\/p>\n<h1>PDP-7 Unix<\/h1>\n<p>\nAls Ausgangspunkt dient das System PDP-7 Unix selbst. Seine Einfachheit und Kraft haben mich dazu gebracht, von einem leistungsstarken Mainframe auf eine winzige Maschine umzusteigen. Hier steht die Essenz des hierarchischen Dateisystems, eine separate Shell und die Prozessverwaltung auf Benutzerebene, was Multics auf Mainframes nach hunderten von Mannjahren Entwicklung nicht umsetzen konnte. Die Nachteile von Unix (zum Beispiel die Struktur der Datens\u00e4tze im Dateisystem) waren ebenso lehrreich und befreiend wie ihre Neuerungen (zum Beispiel die Umleitung von Ein- und Ausgaben in der Shell).<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h1>dc<\/h1>\n<p>\nDie mathematische Bibliothek f\u00fcr den Desktop-Rechner mit variabler Genauigkeit von Robert Morris nutzte die R\u00fcckw\u00e4rtsanalyse von Fehlern, um die erforderliche Genauigkeit in jedem Schritt zur Erreichung der vom Benutzer gew\u00fcnschten Genauigkeit des Ergebnisses zu bestimmen. Auf der NATO-Konferenz zur Softwaretechnik im Jahr 1968 schlug ich in meinem Vortrag \u00fcber Softwarekomponenten Referenzverfahren vor, die ein Ergebnis mit beliebiger gew\u00fcnschter Genauigkeit liefern k\u00f6nnen, aber ich wusste nicht, wie ich sie in der Praxis umsetzen sollte. dc bleibt bis heute das einzige mir bekannte Programm, das das kann.<\/p>\n<h1>typo<\/h1>\n<p>\nTypo ordnet W\u00f6rter im Text nach ihrer \u00c4hnlichkeit mit dem restlichen Text. Tippfehler wie &#8216;hte&#8217; neigen dazu, am Ende der Liste zu erscheinen. Robert Morris sagte stolz, dass das Programm f\u00fcr jede Sprache gleich gut funktionieren w\u00fcrde. Obwohl Typo nicht hilft, phonemische Fehler zu finden, hat es sich als echter Gewinn f\u00fcr alle, die Text eingeben, erwiesen und brachte viel Nutzen, bevor die viel weniger interessante, aber genauere Nachpr\u00fcfung der Rechtschreibung durch ein W\u00f6rterbuch aufkam.<\/p>\n<p>Der Typo ist innen ebenso \u00fcberraschend gestaltet wie au\u00dfen. Der Algorithmus zur Messung der \u00c4hnlichkeit basiert auf der H\u00e4ufigkeit des Auftretens von Trigrammen, die in einem 26\u00d726\u00d726 Array gez\u00e4hlt werden. Der winzige Speicher bot kaum Platz f\u00fcr einbyte-Z\u00e4hler, weshalb ein Komprimierungsansatz f\u00fcr gro\u00dfe Zahlen in kleine Z\u00e4hler implementiert wurde. Um \u00dcberl\u00e4ufe zu vermeiden, wurden die Z\u00e4hler auf wahrscheinlicher Basis aktualisiert, um die Sch\u00e4tzung des Logarithmus des Z\u00e4hlerwerts zu unterst\u00fctzen.<\/p>\n<h1>eqn<\/h1>\n<p>\nMit dem Erscheinen von Fotohandbuch wurde es m\u00f6glich, aber schrecklich m\u00fchsam, klassische mathematische Notationen auszugeben. Lorinda Cherry entschloss sich, eine Sprache zur Beschreibung auf h\u00f6herer Ebene zu entwickeln, und bald gesellte sich Brian Kernighan zu ihr. Ihre brillante Idee bestand darin, die m\u00fcndliche Tradition schriftlich zu fassen, weshalb eqn erstaunlich einfach zu erlernen war. Als erster seiner Art war der Preprozessor f\u00fcr die Beschreibung mathematischer Ausdr\u00fccke, eqn, seitdem kaum verbessert worden.<\/p>\n<h1>struct<\/h1>\n<p>\nBrenda Baker begann, ihren Konverter von Fortran nach Ratfor entgegen dem Rat ihres Chefs \u2013 mir \u2013 zu entwickeln. Ich dachte, das k\u00f6nnte zu einer speziellen Umstellung des Quelltexts f\u00fchren. Er w\u00fcrde frei von Operatornummern sein, w\u00e4re aber ansonsten nicht lesbarer als gut strukturierter Fortran-Code. Brenda bewies, dass ich mich irrte. Sie stellte fest, dass jedes Fortran-Programm eine kanonisch strukturierte Form hat. Programmierer bevorzugten die kanonische Form anstelle dessen, was sie urspr\u00fcnglich geschrieben hatten.<\/p>\n<h1>pascal<\/h1>\n<p>\nDie syntax\u00fcberpr\u00fcfung im Compiler, den das Team von Sue Graham in Berkeley entwickelt hat, war die n\u00fctzlichste, die ich je gesehen habe \u2013 und sie wurde automatisch durchgef\u00fchrt. Bei einem Syntaxfehler schl\u00e4gt der Compiler vor, ein Lexem einzuf\u00fcgen, um die syntaktische Analyse fortzusetzen. Es gab keine Versuche, zu erkl\u00e4ren, was falsch war. Mit diesem Compiler habe ich Pascal an einem Abend gelernt, ohne ein Handbuch zur Hand zu haben.<\/p>\n<h1>parts<\/h1>\n<p>\nIm Inneren des Pakets WWB (Writer's Workbench) befindet sich ein Modul <code>parts<\/code> Lorinda Cherry bestimmt die Wortarten von W\u00f6rtern im englischen Text basierend auf einem kleinen W\u00f6rterbuch sowie Rechtschreib- und Grammatikregeln. Anhand dieser Annotation liefert das WWB-Programm stilometrische Kennzahlen des Textes, wie die H\u00e4ufigkeit von Adjektiven, Nebens\u00e4tzen und komplexen S\u00e4tzen. Als Lorinda in der NBC-Show Today ein Interview gab und \u00fcber die innovative Grammatikpr\u00fcfung in den Texten von WWB sprach, war dies die erste Erw\u00e4hnung von Unix im Fernsehen.<\/p>\n<h1>egrep<\/h1>\n<p>\nAl Aho erwartete, dass sein deterministischer regul\u00e4rer Ausdrucksparser den klassischen nichtdeterministischen Parser von Ken \u00fcbertreffen w\u00fcrde. Leider war letzterer bereits dabei, komplexe regul\u00e4re Ausdr\u00fccke zu verarbeiten, w\u00e4hrend <code>egrep<\/code> er seine deterministische Automatentechnik aufbaute. Um in diesem Rennen dennoch zu gewinnen, umging Al Aho den Fluch des exponentiellen Wachstums der Zustands\u00fcbergangstabelle des Automaten, indem er einen Weg erfand, nur die Tischdatens\u00e4tze zu generieren, die w\u00e4hrend der Erkennung tats\u00e4chlich besucht werden.<\/p>\n<h1>krabben<\/h1>\n<p>\nDas charmante Metaprogramm von Luca Cardelli f\u00fcr das Fenstersystem Blit erzeugte virtuelle Krabben, die durch den leeren Raum des Bildschirms schlichen und dabei immer mehr von den R\u00e4ndern aktiver Fenster abknabberten.<\/p>\n<h1>Einige allgemeine Gedanken<\/h1>\n<p>\nObwohl von au\u00dfen nicht sichtbar, spielten Theorie und Algorithmen eine entscheidende Rolle bei der Schaffung der meisten dieser Programme: typo, dc, struct, pascal, egrep. Tats\u00e4chlich erstaunt am meisten die ungew\u00f6hnliche Anwendung der Theorie.<\/p>\n<p>Die urspr\u00fcnglichen Autoren von fast der H\u00e4lfte der Liste \u2013 pascal, struct, parts, eqn \u2013 waren Frauen, was signifikant \u00fcber dem demografischen Anteil von Frauen im Bereich der Informatik liegt.<\/p>\n<p><i>Douglas McIlroy<br \/>\nM\u00e4rz 2020<\/i><br \/>\n<br \/>Quelle: <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\/de\/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=\"de_DE\" \/>\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\/de\/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\udd47Die bemerkenswertesten Unix-Programme | ProHoster","description":"Der Autor des Artikels Douglas McIlroy ist ein amerikanischer Mathematiker, Ingenieur und Programmierer.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/samye-zamechatelnye-programmy-unix","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","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\/de\/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\/de\/wp-json\/wp\/v2\/posts\/76903","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=76903"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/76903\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=76903"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=76903"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=76903"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}