04/2014 Auflösung des Winterrätsels Forum Nie sprachlos Winterrätsel 80 Nur wer sich in der Programmiersprachen-Historie auskennt, hatte eine Chance bei den Fragen des Winterrät- sels aus Ausgabe 02/ 14. Diesmal gibt’s neben den kniffligen Fragen auch die Antworten – und den Namen des Rätselkönigs 2014, der neben dem Ruhm auch einen Videorecorder für den Raspberry Pi einstreicht. Nils Magnus www.linux-magazin.de Allein um eine zumindest größtenteils richtige Lösung für die 20 Auf- ten Code formulieren hilft. Die in Listing 1 per Ocaml kodierte gaben des Winterrätsels aus dem Linux-Magazin 02/ 2014 zustande Sortierfunktion, die auf beliebigen Typen funktioniert, ist ein zu bekommen, bedarf es weit überdurchschnittlicher Kenntnisse schönes Beispiel dafür. der Programmiersprachen-Geschichte. So gesehen darf sich jeder Teilnehmer als Siegertyp betrachten. Der Legende nach motivierte den ursprünglichen Autor zur Gewinner des Sachpreises – Videorecorder-Equipment für den Namenswahl seiner Skriptsprache ein Gleichnis aus dem Matt- Rasp berry Pi von DVB Link [1] – konnte jedoch nur einer der teilneh- 3 häus-Evangelium. Darin sucht ein Händler nach Preziosen. Was menden Hobbyhistoriker werden, der Kasten „Lösung und Gewinner“ durchschreitet im selben Bibeltext das Wappentier der Sprache? lüftet das Geheimnis. Der Artikel selbst repetiert die Fragen und Der Urvater Abraham des Perl-Universums, Larry Wall, ist ka- beantwortet sie korrekt – wie gewohnt ausführlich. lifornischer Programmierer und bekennender Christ. Er beruft sich bei der Namenswahl seiner Skriptsprache gerne auf Mat- Akronyme sind für Programmiersprachen durchaus beliebt, re- thäus 13, 46: „Als er eine besonders wertvolle Perle fand, ver- kursive allemal. Welche Sprache erfand ein Mann mit dänischem kaufte er al les, was er besaß, und kaufte sie.“ Inspiriert vom 1 Pass fürs World Wide Web? Umschlag ei nes frühen Perl-Buches reüssierte das Kamel zum Obwohl er heute in den Vereinigten Staaten lebt, ist Rasmus Sinnbild für Perl. Der zitierte Evangelist wusste auch dazu einen Lerdorf auf Grönland geboren und damit gebürtiger Däne. Den Vers, nämlich 19, 24: „Nochmals sage ich euch: Eher geht ein „PHP: Hypertext Preprocessor“ schrieb er anfangs als Ersatz Kamel durch ein Nadelöhr, als dass ein Reicher in das Reich für eine Reihe von Perl-Skripten. Gottes gelangt.“ Ein britischer Turing-Award-Gewinner entwickelte eine der Das Einrücken von Code als syntaktisches Element ist bei Pro- ersten Sprachen mit polymorpher Typinferenz und typsicherer grammierern umstritten. Python-Fans beispielsweise preisen 2 Ausnahmebehandlung. Sie gilt als Urahnin einer ganzen Reihe 4diese Form der Blockmarkierung, andere bleiben skeptisch. von Abkömmlingen. Wie heißt jener, der objektorientierte Ansätze Die Entwickler welcher Sprache mussten zumindest in deren Urform einbrachte und so mehrere Programmierwettbewerbe gewann? manche Codefragmente auf bestimmte Spalten einrücken? Robin Milner hat ML geschaffen, was er als Abkürzung für Bis zur Version Fortran 77 schrieb die Sprache vor, dass norma- Meta Language verwendete. Zur weiteren Verwandschaft der ler Code ab Spalte 8 zu beginnen habe. Kommentare hingegen Sprachfamilie gehören beispielsweise SML, Miranda, Haskell bedurften in Spalte 1 eines »C«. Diese Richtlinien stammten und Ocaml, das in sehr kompakter Schreibweise hocheffizien- noch aus der Zeit der Lochkarten – Programmierer konnten so Zeilen, die sich als fehlerhaft herausstellten, noch nachträglich Listing 1: Sortierfunktion in Ocaml das Muster für den Kommentar hinzustanzen. 01 let rec sort = function 02 | [] -> [] Ein eidgenössischer Compiler-Erfinder schuf eine ganze 03 | x :: l -> insert x (sort l) Kaskade an Sprachen, wovon die erste und von ihm allein 04 5 entworfene die größte Verbreitung gefunden hat. Später war 05 and insert elem = function ihm eine Sprache nicht genug und er entwarf mit Kollegen an einer 06 | [] -> [elem] europäischen Hochschule noch ein dazu passendes Betriebssystem 07 | x :: l -> und einen zugehörigen Rechner. Wie lautet das germanische Äqui- 08 if elem < x then elem :: x :: l else x :: insert elem l;; valent der Programmierumgebung? om © Vichaya Kiatying-Angsulee, 123RF.c Kiatying-Angsulee, © Vichaya Antworten PHP Ocaml Nadelöhr Fortran 1 P 2 O 3 N 4 F 04/2014 5 A Alberich 6 O Oak 7 P Pike 8 W Whitespace 9 B BCPL 10 E Esperanto 11 I Iverson 12 M Mascitti 13 M Mono 14 R Ramey 15 H Hopper 16 L Logo Forum 17 S Snobol 18 P Prolog 19 O Object 20 A Algol Niklaus Wirth entwarf neben seiner bekanntesten Kreation Der US-Amerikaner Martin Richards entwickelte 1969 mit BCPL Pascal auch noch Modula, Modula-2 sowie Oberon. Die Spra- eine plattformunabhängige, aber sehr systemnahe Program- Winterrätsel che brachte eine Entwicklungs- und Laufzeitumgebung mit. miersprache, die zwar relativ wenig Komfort und Sicherheits- An der ETH Zürich schuf Wirth mit seinem Team dafür die mechanismen enthielt, aber zugleich die zentralen Sprach- Systemplattform Ceres. Oberon ist ein anderer Name für den konstrukte einer imperativen Sprache umsetzte. Die Idee von 81 Hüter des Nibelungeschatzes, Alberich, einen Zwerg der nor- Objektcode stammt in Teilen aus diesem Sprachkonzept. Über dischen Mythologie. den Umweg von B, das kaum produktiv zum Einsatz kam, entwickelte sich daraus C. Auch später blieb BCPL in Mode, Ein Entwickler benannte seine Sprache eines Tages nach beispielsweise in Teilen des Amiga OS. www.linux-magazin.de der Geschmacksrichtung eines Löschwasser-Sudes um. Ur- 6 sprünglich taufte der in seinem Heimatland mit einem Orden Obwohl er sehr früh das Konzept der höheren Program- ausgezeichnete Entwickler die Sprache aber nach einem soliden miersprache einführte, benötigte der Entwurf eines Hard- Laubbaum. Welchem? 10ware-Entwicklers geschlagene 29 Jahre bis zur ersten James Gosling, Officer of the Order of Canada, hat sich zwar Implementierung. Welche Sprache hatte ihr Schöpfer ursprünglich um den Emacs verdient gemacht, entwarf aber – wohl um das ins Auge gefasst, um seine Rechner zu programmieren? Gleichgewicht der Macht wiederherzustellen – ebenfalls Java. Nach dem Ende des Zweiten Weltkriegs konnte der Compu- Ursprünglich jedoch sollte die Kaffee-Sprache Oak heißen, wie terpionier Konrad Zuse praktisch kaum an seinem damals das englische Wort für Eiche. aktuellen Hardware-Entwurf, der Z4, arbeiten. Der elektrome- chanische Rechner verwendete Relais und war zwar konzep- Viele Programmiersprachen haben eine wechselhafte Ent- tionell frei programmierbar, allerdings nur in einer mühsamen wicklung hinter sich. Die hier gesuchte Sprache zeigt sich be- Maschinensprache. 7 sonders vielgesichtig, denn sie startete als objektorientierte Zuse suchte daher nach Ideen, um Programme abstrakter for- C-Variante, verlebte ihre Kindheit in einem vernetzten Rollenspiel, mulieren zu können. Die Sprache Plankalkül avancierte dabei um schließlich als Implementierungssprache eines mittlerweile fast zwar zur ersten Hochsprache, kam jedoch mangels passender vergessenen Webservers zu reüssieren. Hardware praktisch nicht zum Einsatz. Erst 1975 implemen- Der schwedische Spiele-Entwickler Lars Pensjö entwickelte tierte Joachim Hohmann in Darmstadt die Sprache im Zuge sei- 1989 eine virtuelle Maschine für ein textbasiertes Online-Rol- ner Dissertation. Bevor Zuse sich Plankalkül zuwandte, spielte lenspiel. Da sich Pensjö die Spielewelt nicht komplett selbst er mit dem Gedanken, seine Rechenmaschine in Esperanto zu ausdenken wollte, ermöglichte er erfahrenen Spielern, diese in programmieren, verwarf den Gedanken aber schnell. der objektorientierten Sprache LPC zu erweitern. Auf diesem Sprachentwurf setzten die Entwickler des Roxen Challenger auf Nicht immer stellen krude Syntax oder besonders abstrakte und nannten ihre Neufassung Pike. Sprachkonstrukte die größten Hürden auf. Ein exotischer 11Sprachentwurf erwartete ursprünglich entweder einen Fern- Die meisten Compiler oder Interpreter zerlegen den Quellcode schreiber mit einer Hardware-Backspace-Implementierung oder in Tokens – und akzeptieren an vielen Stellen rund um diese eine Latex-Klasse, um allein den Code anzuzeigen. Welcher Turing- 8 eine besondere Zeichenklasse, die zwar keine Bedeutung hat, Award-Gewinner entwickelte sie? jedoch das Code-Studium vereinfacht. Die hier gesuchte Sprache bildet eine Ausnahme, weil sie diese Symbole zum einzigen Prinzip erhebt und praktisch unsichtbar bleibt. Wie heißt die Sprache? Die Programmiersprache Whitespace besteht nur aus – ge- nau! – Whitespaces, also aus Leerzeichen, Tabulatoren und Zeilenumbrüchen. Das macht sie relativ schwer ausdruckbar. Dennoch ist die Sprache, die nach dem Stack-Prinzip arbeitet, in der Lage, beliebige Berechnungen auszuführen. Die gesuchte Sprache trat als Verbindungsglied zwischen © Micro APL Hoch- und Maschinensprache auf, inspirierte den heutigen Abbildung 1: APL benutzt für seinen Quellcode Zeichen außerhalb der gewöhnli- 9 Quasi-Standard für die Systemprogrammierung und legte eine chen ISO-8859-15-Symbole. In den 1960er Jahren erreichte man das durch das Grundlage für Objektcode. Übereinanderdrucken von zwei Zeichen auf einem Fernschreiber. 04/2014 Forum APL (A Programming Language) ist recht einfach aufgebaut für die chromatische Erhöhung eines Tons „Sharp“, was C#- und kann gut mit Vektoren und Matrizen umgehen. Sie macht Erfinder Microsoft wohl für einen gelungenen Scherz und es leicht, schnell zu Ergebnissen zu kommen. Wäre da nicht Seitenhieb auf C++ hielt. Wer bei Microsoft Beethoven hört, ist Winterrätsel die Syntax: Gerade die Operatoren bestehen oft aus mehrfach
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages4 Page
-
File Size-