\section{Bewertung}

  Die dargestellten Sprachfeatures machen Python zu einer äußerst
  flexiblen Programmiersprache, die das objektorienterte Modell
  konsequent umsetzt. Selbst Weiterentwicklungen wie aspektorienterte
  Programmierung können teilweise mit Hilfe von Metaklassen umgesetzt
  werden.

  Python hat außerdem in seiner langen Entwicklungszeit einen hohen
  Reifegrad erworben. Neue Features werden behutsam und mit Bedacht auf
  Abwärtskompatibilität in die Sprache eingeführt. Gleichzeitig hat eine
  sehr aktive Entwicklergemeinde -- auch außerhalb des Kernteams --
  Python zu jeder Zeit um aktuell benötigte Funktionalitäten erweitert,
  so dass die Standarddistribution mit ihrer Vielzahl an Modulen heute
  kaum noch Wünsche offen läßt und keinen Vergleich mit kommerziellen
  Bibliotheken zu scheuen braucht. Eigene Entwicklungen sind weiterhin
  kein Problem, da alle benötigten Schnittstellen und Vorgänge offen
  dokumentiert sind.

  Neben dem fehlenden Marketing, das Pythons Sichtbarkeit unter
  Konkurrenten wie Java und C\# einschränkt, liegt eine große Schwäche
  aber auch gerade in der dynamischen Typisierung. Besonders im
  Unternehmensumfeld werden sogenannte \emph {Skriptsprachen}\footnote
  {Der Begriff der Skriptsprache selbst ist kaum einheitlich definiert
  und viele der mit diesem Begriff verbundenen Vorurteile treffen auf
  Python nicht zu. So gehört Python zwar zu den dynamisch, aber
  gleichzeitig zu den streng typisierten Sprachen.} häufig belächelt und
  als untauglich für ernsthafte Projekte betrachtet.  Eventuell wird
  diese Sichtweise in Zukunft weniger Anhänger finden, wenn Unittesting
  (wofür es in Python Unterstützung gibt) weitere Verbreitung findet.
  Zumindest nach Erfahrung vieler Pythonentwickler werden gerade
  diejenigen Fehler, die der Compiler einer statisch typisierten Sprache
  findet, auch bei Unittests gefunden. Und deren Nützlichkeit wird auch
  für statisch typisierte Sprachen kaum angezweifelt. Insofern stellt
  sich die Frage, ob die Deklaration aller Typen zur Zufriedenstellung
  des Compilers in Kombination mit Unittesting nicht doppelte Arbeit
  ist, die gleichzeitig die Flexibilität und Ausdrucksfähigkeit des
  Programmierers einschränkt.

  %Eventuell wird Python~3.0 dennoch Möglichkeiten bieten, Interfaces zu
  %Deklarieren und zu erzwingen. Interessant ist in diesem Zusammenhang
  %Auch das Projekt IronPython\footnote {Online unter
  %\url{http://www.ironpython.com/}.}, eine Pythonimplementation für die
  %.NET-Plattform von Microsoft. IronPython kann statische Binaries für
  %Die Common Language Runtime erzeugen, auch wenn diese Option zum
  %Aktuellen Zeitpunkt noch nicht vollständig entwickelt ist.
