Wenn .NET-Entwickler über den Tellerrand schauen

Standard

In letzter Zeit ist es in der .NET-Welt wieder modern, sich mit anderen Programmiersprachen und Plattformen auseinanderzusetzen. Zunächst war es Ruby, über das geschrieben und berichtet wurde. Beim letzten .NET Open Space Süd in Karlsruhe gab es je eine Session über Ruby und Ruby on Rails. In letzter Zeit hört man auch immer mehr von Python.

Ich kenne Python seit Version 1.5.2, also schon seit über 10 Jahren. Ich habe mich aber in den letzten Jahren nicht damit beschäftigt. Vor ca. 1 Jahr habe ich beschlossen, mich wieder mehr mit Python zu beschäftigen.

Am letzten Montag, dem 22. August 2011, hielt Rainer Schuster im Rahmen der .NET Online User Group einen Online-Vortrag über Python. Einen Tag darauf reagierte Hans-Peter Schelian mit einem Blogartikel, nachdem er sich einen Tag lang mit Python beschäftigt hat, “um den Hype um diese Sprache besser verstehen zu können”.

Python ist kein Hype

Python 1.0 wurde lange vor .NET 1.0 veröffentlicht, nämlich im Jänner 1994 (siehe Wikipedia). Python wird seit vielen Jahren von namhaften Organisationen verwendet, darunter Google, Yahoo!, NASA und CERN (siehe Wikipedia). Daher glaube ich nicht dass Python ein Hype ist, der bald wieder abflaut. Python ist eine bewährte Technologie, die ihre Tauglichkeit bereits vielfach bewiesen hat.

Python ist leicht zu durchschauen

Es wird immer wieder behauptet, dass Python-Code für Programmieranfänger leicht zu durchschauen und zu lesen sei. Ich glaube, dass das auch stimmt. Möglicherweise sieht man das anders, wenn man die Syntax von C-basierten Programmiersprachen wie C#, C/C++ oder Java gewöhnt ist. Auch der Unterschied von Hello-World-Programmien in Python und in C# zeigen, dass C# sehr viel unnötiges Rauschen enthält.

Hier ein bekanntes Programm in Python:

    #!/usr/bin/env python
    print "Hello, world!"

Und hier in C#:

    public class Hello
    {
        public static void Main(string[] args)
        {
            System.Console.WriteLine ("Hello, world!");
        }
    }

Natürlich wächst der “Signalanteil” bei größeren Programmen. Aber als Programmieranfänger muss man bei C# für einfache Programme wesentlich mehr wissen als bei Python.

Python wird vielseitig eingesetzt

Jeder, der sich ein Video auf Youtube.com ansieht, verwendet Software, die zumindest teilweise in Python geschrieben ist. Jeder, der in diesem Blog einen Kommentar schreiben möchte, verwendet Disqus, das das Python-Webframework Django verwendet. Jeder, der Ubuntu Linux installiert hat, hat Python-Software verwendet. Die verteilten Versionsverwaltungssysteme Mercurial und Bazaar sind in Python geschrieben. Die Windows-GUIs dafür, TortoiseHG und TortoiseBzr, sind ebenfalls in Python geschrieben. Seit Jahren verwenden Hersteller von 3D-Animationssoftware Python als eingebettete Skriptsprache.

Es gibt einen Mailserver in Python. Es gibt Klassen in der Python-Standardbibliothek, die die Implementierung eines SMTP-Servers vereinfachen.

Und wenn wir schon bei E-Mails sind: Mailman ist ein beliebter Mailinglistenmanager, der sogar vom Mono-Team verwendet wird (z.B. Mono-list). Und wenn man Android-Apps mit C# entwickeln will und sich an die MonoDroid-Mailingliste anmeldet, wird man ebenfalls Mailman verwenden.

Kann man Python für größere Projekte verwenden?

Ja, man kann. Es ist aber nicht jedermanns Sache. Wer lieber eine statische Programmiersprache verwendet, wird keine Freude mit Python haben.

Ein Compiler ersetzt keine Unit- und Integrationstests. Auch wenn der Code ohne Fehler compiliert werden kann und daher keine syntaktischen Fehler enthalten sind, können noch immer semantische Fehler enthalten sein. Daher sind für größere Projekte automatisierte Unit-Tests in der professionellen Software-Entwicklung Pflicht. In einer dynamischen Programmiersprache tut man sich da in einigen Fällen leichter. Dafür braucht man aber erfahrene Software-Entwickler, die sich damit auskennen.

Übrigens, in der Python-Standardbibliothek gibt es zwei Testframeworks für die Automatisierung von Tests.

Fazit

Also Python ist kein Hype, dafür ist es schon zu lange in Verwendung. Python hat möglicherweise für Programmieranfänger eine einfachere Syntax und es wird in vielen Projekten verwendet. Außerdem lassen sich damit auch größere Programme realisieren.

190 thoughts on “Wenn .NET-Entwickler über den Tellerrand schauen

  1. JeremyOrimi

    It’s leathery adequacy as it is to make plain to non-SEOs how to fertile a webpage. In an increasingly complicated field, to do accurately you’ve Comment suivre le cours du bitcoin live got to get a good treat on a far-reaching classification of detailed subjects. This printing of Whiteboard Friday covers a nine-point checklist of the major items you’ve got to mongrel mad to sequence soldiers in the renewed year — and maybe be given some hints on how to excuse it to others, too.

  2. wh0cd273478 [url=http://buyavodart.doctor/]avodart[/url] [url=http://buyrimonabant.doctor/]buy rimonabant[/url] [url=http://buyrequip.doctor/]requip for restless legs[/url] [url=http://buyprovera.doctor/]buy provera[/url] [url=http://cefixime.doctor/]cefixime 400 mg[/url]

  3. wh0cd273478 [url=http://buymedrol.doctor/]medrol price[/url] [url=http://buymotilium.doctor/]motilium[/url] [url=http://cialisnopresription.doctor/]cialis 20 mg tablets[/url] [url=http://buyacyclovir.doctor/]acyclovir[/url] [url=http://cheaptadalafil.doctor/]tadalafil best price[/url] [url=http://buyxenical.doctor/]xenical[/url]

  4. wh0cd367302 [url=http://buyatarax.doctor/]atarax[/url] [url=http://buyzithromax.doctor/]generic zithromax[/url] [url=http://orderkamagra.doctor/]kamagra[/url] [url=http://buymedrol.doctor/]medrol[/url] [url=http://buyavodart.doctor/]avodart[/url]

  5. wh0cd367302 [url=http://buyzithromax.doctor/]buy zithromax[/url] [url=http://buyplavix.doctor/]plavix generic available[/url] [url=http://cardura.doctor/]cardura[/url] [url=http://sildenafilnopresription.doctor/]sildenafil 50[/url] [url=http://buylipitor.doctor/]lipitor 80[/url]

Leave a Reply

Your email address will not be published.