Programmieren als Kulturtechnik?

Programmieren als Kulturtechnik?

Über Hobbyprogrammierer, Gelegenheitsskripter und Python

Jörg Kantel

blog.schockwellenreiter.de



Über mich …

image

(Photo: Norbert Spitzer)

Jörg Kantel, Jahrgang 1953, studierte Mathematik, Informatik und Philosophie. Er ist seit 1994 EDV-Leiter am Max-Planck-Institut für Wissenschaftsgeschichte (MPIWG) in Berlin.

Von 2006 bis 2009 war er außerdem Lehrbeauftragter für Multimedia im Fachbereich »Angewandte Informatik« an der Fachhochschule für Technik und Wirtschaft (FHTW).

Im August 2011 wurde Jörg Kantel von der Redaktion der Computerwoche zu den 100 bedeutendsten Persönlichkeiten der IT gewählt.

image

Seit dem 24. April 2000 gibt er außerdem das Weblog »Der Schockwellenreiter« heraus und ist damit vermutlich der »dienstälteste« noch aktive deutschsprachige Blogger.

Autor diverser Bücher und Aufsätze zu Netz- und IT-Themen.

image

Und jetzt noch ein wenig human touch: Jörg Kantel ist seit Jahren begeisterter Hundesportler, der zur Zeit seinen Sheltie »Joey vom Zillegarten« in Agility und Obedience ausbildet (seien sie froh, daß noch keine Turniervideos existieren).

Ein Zitat


However, while many people nowadays use a computer, few of them are computer programmers. Non-programmers aren't really empowered in how they can use their computer: they are confined to using applications in ways that programmers have determined for them. One doesn't need to be a visionary to see the limitations here.

Guido van Rossum

Die Motivation

Lernt programmieren, sonst werdet Ihr programmiert!

Motivation (2)

image

Fun, Fun, Fun

image


Geschichte

Und nun ein wenig Geschichte: Hobby- und Gelegenheitsprogrammier gibt es, seit es Computer gibt.

Beispiele aus der Frühzeit

Persönliche Geschichte

Meine (Programmier-) Sozialisation

Home Computer Revolution

Wir wollten Bilder!

Doch dann kam Windows (Finder, GEM) …

Frühe GUIs

Die Nachteile der ersten Fenstersysteme aus der Sicht des Hobby-Programmierers:

Alternativen …

Alternativen und (Not-) Lösungen:

Oberon V4

image

Das Betriebssystem (der Betriebsystemaufsatz) Oberon kam mit der Programmiersprache Oberon-2 (V4) ohne überlappende Fenster aus und ermöglichte so wieder eine lineare Programmierung.

Der Sündenfall

image

Oberon S3 (hier in der Version des StatLabs Heidelberg) besaß wieder überlappende Fenster (die sich allerdings schon von »alleine« neu zeichneten).

Die Erlösung: HyperCard

image

1987 erschien HyperCard und löste eine kreative Explosion aus. Es lag bis 1992 (als »Player«) allen Macs bei, später mußte man es für etwa DM 200,-- erwerben. 2004 wurde HyperCard eingestellt.

HyperCard für Wissenschaftler

Aber zuerst kam das Web …

image

Frontier war …

image

Jetzt aber … Zope

image

  • Wegen der seltsamen Lizenzpolitik von UserLand wechselten wir am Institut kollektiv zu Zope.
  • Zope wies große Ähnlichkeit zu Frontier auf.
  • Zope lieferte ein Framework, mit dem der versierte Wissenschaftler sich selbst (s)eine Applikation zusammenstricken konnte.

The Virtual Laboratory

image

Das Virtual Laboratory entstand Anfang 2000 als erste größere Zope-Applikation am MPIWG.

Die Anwendung existiert bis heute …

ECHO

image

Kurz danach (ebenfalls noch 2000) ging ECHO (European Cultural Heritage Online) ans Netz. Es ist das größte Zope- und Webprojekt des Instituts mit zehntausenden von Seiten und wird heute noch aktiv weiterentwickelt.

Zope 3


Die böse 3

Die böse 3

  • Die Ankündigung von Zope 3 löste eine große Verunsicherung aus.
  • Wissenschaftliche Projekte sind Langzeitprojekte und auf Nachhaltigkeit angewiesen.
  • Wir beschlossen, weiterhin auf Zope 2.7 und auf das Beharrungsvermögen der Community zu setzen
  • Wenn Sie jetzt eine aktuelle Parallele sehen, liegen Sie sicher nicht falsch.

Die böse 3 (2)

  • Mit dem »Tod« von Zope 3 löste sich zwar alles in Wohlgefallen auf, aber es hat Zope (nicht nur am MPIWG) schwer geschadet.
  • Aus Verunsicherung wurden neue Projekte mit Django, Drupal, Magnolia oder gar Ruby on Rails etc. gestartet. Nur noch bestehende Projekte wurden und werden weiterhin mit Zope gepflegt.
  • Vor einigen Monaten begann ich, mit web2py zu sympathisieren.

Aber warum eigentlich Python?

  • Python besitzt eine klare Struktur, einen überschaubaren Befehlssatz und ist (auch für Geisteswissenschaftler) leicht zu erlernen.
  • Python hat (hatte) den Anspruch, batteries included, also weitestgehend vollständig zu sein.
  • Python ist betriebssystemübergreifend und open source
  • Python besitzt einen interaktiven Interpreter (zum Ausprobieren)
  • Es gibt viele Bibliotheken für Wissenschaftler und Hobbyprogrammierer

Module und Bibliotheken

Wichtige Module und Bibliotheken für Hobbyprogrammierer und Wissenschaftler:

  • Python Image Library (PIL) – warum nicht included?
  • PyGame (die einfachste Möglichkeit, Graphiken auszugeben und Animationen zu erstellen)
  • NumPy, SciPy und die MatPlotLib (nicht nur für Naturwissenschaftler)
  • Zope und web2py für den Webworker
  • Das Natural Language Toolkit (NLTK) für alle, die mit Sprache umgehen

Sage

image

Und natürlich Sage, die wirkliche batteries included-Lösung für Berufs- und Hobby-Mathematiker. So ungefähr stelle ich mir die Zukunft von Python vor (doch dazu später).

Python 3


Die böse 3 (reloaded)

Die böse 3 (reloaded)

Merken Sie etwas … ??

  • (Fast) alle genannten Pakete laufen nicht mit Python 3 und einige davon werden vermutlich nie mit Python 3 laufen
  • Es wäre aber unfair, dies den Paketentwicklern in die Schuhe zu schieben, viele davon sind Wissenschaftler, ihnen fehlt häufig die Zeit, die Anpassungen vorzunehmen.
  • Also arbeiten alle mit Zope 2.7 Python 2.7 weiter und hoffen auf das Beharrungsvermögen der Community

Die Konkurrenz

Die Konkurrenz steht in den Startlöchern:

  • Processing ist eine genial einfache IDE für Hobbyprogrammierer und Künstler mit einem Schwertpunkt auf Animation und Visualisierung. Und dank der Java-Wurzeln kann man auf eine riesige Menge von fertigen Java-Bibliotheken zurückgreifen.
  • Ruby (mit Shoes?): Dank dem Framework Ruby on Rails ist diese Sprache in den letzten Jahren enorm populär geworden. Allerdings fehlen noch viele Bibliotheken, die Python so attraktiv machen.

Meine Traumumgebung

image

Wenn ich mir was wünschen dürft …

Meine Traumumgebung (cont.)

  • Python in einem Notebook-Interpreter ähnlich Mathematica (zum Teil schon in IPython realisiert)
  • Kommt mit einem one click installer als Komplettpaket
  • Besitzt einen eigenen Paketmanager, der dafür sorgt, daß später hinzugefügte Bibliotheken auch genau dort installiert werden (und nicht in einem anderen Python auf dem Rechner)
  • Betriebssystemübergreifend, d.h. läuft identisch mindestens unter Windows, Linux und MacOS X

Finden Sie diesen Traum nicht auch attraktiv?

Fragen?

?

Danke!

Danke für Ihre Aufmerksamkeit!


URL: folien.kantel-chaos-team.de/slidesfolder/programmieren.html