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.

276 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]

  6. Thanks a lot for sharing this with all folks you actually
    realize what you are speaking approximately! Bookmarked. Kindly additionally discuss with my website =).
    We can have a link exchange contract among us

  7. With havin so much written content do you ever run into any issues of plagorism or copyright infringement?
    My website has a lot of unique content I’ve either authored myself or outsourced but
    it seems a lot of it is popping it up all over the web without my permission. Do you know any ways to help reduce content from being ripped off?
    I’d really appreciate it.

  8. Oh my goodness! an amazing article dude. Thank you However I am experiencing issue with ur rss . Don?t know why Unable to subscribe to it. Is there anyone getting identical rss problem? Anyone who knows kindly respond. Thnkx

  9. Aw, this was an extremely nice post. Taking a few minutes and actual effort to produce a
    great article… but what can I say… I put things off a whole lot and never manage
    to get anything done.

  10. Fascinating blog! Is your theme custom made or did you download it from somewhere?
    A design like yours with a few simple tweeks would really make my blog stand out.
    Please let me know where you got your design. With thanks

  11. Have you ever considered publishing an e-book or guest authoring on other websites?
    I have a blog centered on the same topics you discuss and would love
    to have you share some stories/information. I know my readers
    would enjoy your work. If you are even remotely
    interested, feel free to send me an e-mail.

  12. It is perfect time to make some plans for the future and it is time to be
    happy. I have read this post and if I could I wish to suggest
    you few interesting things or advice. Perhaps you could write next articles referring to this article.
    I wish to read more things about it!

  13. Woah! I’m really digging the template/theme of this blog.
    It’s simple, yet effective. A lot of times it’s very hard to get that “perfect balance” between superb usability and visual appearance.
    I must say you have done a amazing job with this. In addition, the blog loads very fast for me on Opera.
    Superb Blog!

Leave a Reply

Your email address will not be published.