Python leicht zu durchschauen – These oder Wirklichkeit ?

Gestern Abend habe ich (als .NET Programmierer) mir einen Vortrag über Python, eine der neuen Hype Sprachen, angeschaut.

Hiefür vielen Dank an Rainer Schuster, der im Rahmen des wöchentlichen ONLINE Stammtisches der .NET Online Usergroup, diesen Vortrag gehalten hat.

Ich hatte mich mit dieser Programmiersprache bisher noch gar nicht auseinander gesetzt, so dass ich mir, nachdem ich mit den gestrigen Vortrag angesehen habe, heute noch ein wenig mehr Informationen besorgt habe um evtl. den Hype um diese Sprache besser verstehen zu können.

Vorweg, kann ich schon mal sagen, dass mir das nicht gelungen ist, und ich nicht verstehen kann, was an einer interpretierten Sprache ohne Verwendung von Klammern so viel besser sein soll, als bei anderen Sprachen die nicht interpretiert werden müssen, und Ihre Konstrukte mithilfe von Klammern darstellt.

Auf diesen Satz mit den Klammern komme ich weil unter anderem über Python folgendes Gesagt wird:

Leicht zu durchschauen

Python hat noch einen weiteren, für Anfänger interessanten Aspekt: Die Syntax der Sprache wird weniger von Klammern als von Zeilenumbrüchen und Tabulatoren bestimmt. Man erkennt schnell, wie das Programm aufgebaut ist und gewinnt auch bei Programmen anderer Entwickler schnell einen Überblick.

Was ist denn an diesem Quellcode leichter  zu verstehen:

for i in range (10):
 print i
 print "zähle noch
for i in range (10):
 print i
print "Hallo"

Als an diesem (Beipiel C# Code)

for (int i = 0; i < 10; i++)
{
    Console.Write(i);
    Console.Write(@"Zähle noch")
}
for (int i = 0; i < 10; i++
{
    Console.Write(i);
}
Console.Write(@"Hello World");

OK OK OK,

das ist nicht alles, Python ist (Hier Argumente von Python Jüngern):

  • Open Source
  • Auf einigen (vielen) Plattformen (darunter auch ein paar exotische) verfügbar
  • Von vornherein auf Objektorientierung ausgelegt (Welchen Vorteil das auch immer mit sich bringen soll)

Auf der anderen Seite muss man doch aber auch ganz klar sehen, wen Python als Platzhirsch ansieht:

Das sind PHP und Pearl, nicht gerade die klassischen .NET Sprachen

Ist Python also die Sprache der Zukunft für uns .NET Entwickler?

Ich denke nein.

Es wird zwar gesagt, man kann mit Python alle arten von Programmen schreiben kann, das wird wohl auch nicht falsch sein.

Aber möchte ich demnächst

  • Desktop Applikationen
  • Web Portale
  • Web Services
  • Windows Dienste
  •  WP7 Apps
  • Android Apps

mit Python entwickeln.

Ich denke, dass ich das nicht möchte. Mir graust sogar davor wenn mir jemand sagen würde er hätte vor mit Python (einem Interpretativen Sprache) einen Windows Dienst, einen Mail Server oder einen Web Service zu schreiben.

Ich bin mir nicht sicher und es lässt Platz für Spekulationen und vermutlich auch für heiße Diskussionen , aber ich denke, dass Python wohl eher im nicht Windows Umfeld seinen rechten Platz hat.

Ich möchte zum Schluss noch eines anmerken:

Auch wenn .NET in den nächsten Jahren an Gewicht verlieren, und das ganze mehr in Richtung HMTL 5, 6 oder 7 zusammen mit JavaSript oder was für einer, mehr oder weniger funktionalen oder prozeduralen Sprache schwenken könnte, werde ich als heutiger .NET Entwickler vermutlich eher in diesen heute noch nicht endgültig abzuzeichnenden Bereich, als zu Python wechseln.