Beiträge getagged mit languages
Programmiersprachen
Verfasst von kochm unter Universität am 3.12.2007
Ich lese gerade “Hackers & Painters” von Paul Graham – mehr dazu demnächst in einem ausführlicherem Buchkommentar – vorab aber schon mal ein paar Kommentare zu Grahams Aussagen zu Programmiersprachen.
Eine wichtige Aussage von Graham dazu ist, dass die heutigen Hochsprachen nicht alle gleich mächtig sind. (Da stimme ich auf jeden Fall mit ihm überein – die verschiedenen Hochsprachen sind für verschiedene Anforderungen verschieden gut geeignet.)
In diesem Zusammenhang (verschiedene Mächtigkeit von Hochsprachen) geht Graham auf die Evolution von Programmiersprachen ein – und stellt Java dabei als toten (aussterbenden) Pfad dar – quasi als “Neandertaler der Programmiersprachen” ;-) Ausserdem argumentiert er, dass es nicht nur verschieden gute Sprachen gibt, sondern tatsächlich eine beste/mächtigste, und zwar Lisp.
Eines seiner Argument ist, dass (gute) Programmiersprachen zwei Eigenschaften haben müssen: Abstraktheit und Mächtigkeit.
Bzgl. Abstraktheit: Es müssen die richtigen Abstraktionen für die Aufgabe sein. So sagt Graham, dass Prolog sehr mächtige Abstraktionen hat – aber nur zur Lösung von etwa 2% aller Probleme – für alle anderen Probleme müsse man diese Abstraktionen missbrauchen um Quasi-Pascal-Programme zu schreiben (S. 150f).
Mächtigkeit zeigt sich darin, dass eine Programmiersprache mit wenigen Konzepten möglichst viel leisten kann. Und dabei ist Effizienz nicht so wichtig – Rechner werden immer schneller und viel dieses Geschwindgkeitszuwachses kann dafür verwendet werden, es einfacher für Menschen zu machen, Computer zu programmieren. (“Wasting programmer time is the true inefficiency, not wasting machine time.”, S. 161)
Bei der Einschätzung, dass Lisp die derzeit mächtigste Programmiersprache ist, bezieht Graham sich unter anderem auf den Essay “How to Become a Hacker” von Eric Raymond. Dieser schreibt dort, dass “Would-be Hacker” folgende Programmiersprachen lernen/können sollten
- Python und Java (leicht zu lernen)
- C (um Unix zu hacken)
- Perl (für Systemadministration und CGI-Skripten)
- und schließlich Lisp
Dabei wird für Lisp nach Aussage Grahams immer das Argument zum Lernen von Latein angegeben: Man wird Lisp nicht nutzen können/wollen, aber man wird ein besserer Programmierer (in den anderen Sprachen), wenn man einmal Lisp verstanden hat.
Dies sieht Graham allerdings nicht so … Seiner Meinung nach ist Lisp schon heute eine Sprache, die einem Vorteile gegenüber anderen verschafft – und wird es in Zukunft immer mehr werden.
Auf Seite 183 bringt Graham noch einen anderen interessanten Vergleich von Programmiersprachen: Vor einigen Jahren war Java “cool” bei Hackern, dann kam Perl, dann Python, und neuerdings Ruby. “If you look at these languages in order (…) you notice an interesting pattern. (…) Each one is progressively more like Lisp.” Vor einiger Zeit hätte man Ruby sogar als Lisp-Dialekt verkaufen können – so Graham.
Eine interessante “Bestätigung” von Grahams Argumenten, dass Lisp die mächtigste Programmiersprache ist, sieht er darin, dass er mit Freunden die Software ihres Startups Viaweb komplett in Lisp geschrieben haben – und damit den Vorteil hatten, neue Funktionaliät sehr schnell zu realisieren. Graham schreibt in seinem Buch dazu, dass er in seiner Entrepreneur-Phase seine Wettbewerber immer durch Lektüre ihrer Stellenausschreibungen beobachtet und eingeschätzt hat:
- “The safest kind were the ones that wanted Oracle experience. You never had to worry about those.”
- “You were also safe if they said they wanted C++ or Java developers.”
- “If they wanted Perl or Python programmers, that ould be a bit frightning – that’s starting t sound like a company where the technical side, at least, is run by real hackers.”
- “If I had ever seen a job posting looking for Lisp hackers, I would have been really worried.”
Münchner Wissenschaftstage
Im Rahmen der Münchner Wissenschaftstage im Jahr der Geisteswissenschaften 2007 fanden/finden grade an der Ludwig Maximilian Universität München interessante Ausstellungen und Vorträge aus den verschiedensten Bereichen der Geisteswissenschaften statt.
Ich war gestern mal spontan dort und habe mir folgende beiden Vorträge angehört:
- “Sprachen, Götter, Gene: zur Vorgeschichte Europas nördlich der Alpen”, Prof. Theo Vennemann, PhD.; Institut für Deutsche Philologie, LMU München
- “Medien als Schlüssel kultureller Entwicklung”, Prof. Dr. Wolfgang Raible, Romanische Philologie und Allgemeine Sprachwissenschaft, Universität Freiburg
Eigentlich bin ich ja hauptsächlich wegen des zweiten Vortrags hin und wollte den ersten nur so “mitnehmen” – aber im nachhinein (wie so oft) hat mich der unerwartete Beitrag am meisten fasziniert. Die Hauptthese von Vennemann war, dass Nordeuropa nach der letzten Eiszeit aus dem Baskenland besiedelt worden ist und deshalb auch die Sprache (und die Ortsnamen) baskisch geprägt sind. Die indogermanischen Sprachen wären erst später drübergestülpt worden. Interessant ist dabei, dass diese These auch von der Naturwissenschaft durch Analyse der Genwanderung gestützt wird. Vennemann meinte dazu, dass ihn seine Kollegen aus den Geisteswissenschaften erst halbwegs ernst nämen, seit die Naturwissenschaftler diesen Beweis geführt hatten …
Sehr schön fand ich Vennemanns Beweisführung über die Genese der Ortsnamen in Nordeuropa. Diese beinhalten doch noch viele baskische Elemente – die heute teilweise ganz anders (miss-)interpretiert werden. Sogar “Isar” oder “Isere” etc. haben baskische Wurzeln.
Nett auch das Argument mit dem auf 20 basierendem Zahlsystem aus dem Baskischen, das sich in vielen Nordeuropäischen Sprachen noch findet – ganz heftig im Französischen (quatre-vingt …).
Raibles sprach über die Medien (Schrift, Buchdruck, Internet, …) und ihren Einfluss auf die kulturelle Entwicklung. Von seinem Vortrag habe ich hauptsächlich ein paar Thesen in Erinnerung: Jedes neue Medium wird zuerst einmal abgelehnt und reglementiert – da es Einfluss auf die Kultur hat. / Die Möglichkeiten eines Mediums werden erst langsam erschlossen und genutzt.
Zu letzterem (Erschliessen der Möglichkeiten eines Mediums) hat Raible einiges ausgeführt – am Beispiel der Schrift (nicht gedruckte Bücher). So begann das ganze parallel mit Anwendungen in der Buchführung und der 1:1 Wiedergabe gesprochener Sprache. Letzteres führte dazu, dass keine Trennungen zwischen den Worten oder gar Interpunktion genutzt wurden. Das Blatt Papier wurde als eindimensionales Medium genutzt. Erst durch die Erschließung der Zweidimensionalität konnten einige Vorteile des Papiers nutzbar gemacht werden – Übersichtliche Texte, Tabellen, … Interessant fand ich hier auch die Beispiele zu Hypertexten aus der Zeit vor dem Buchdruck: So wurden Bibelkopien mit viel Platz für Kommentare und Kommentare zu Kommentaren ausgestattet.