Skip to content

Swiss Python Summit 2016 ...

Gestern war ich auf dem ersten Swiss Python Summit im schönen Rapperswil an der Hochschule für Technik. Und, um das Fazit vorweg zu nehmen, es hat mir sehr gut gefallen.

Die Mischung der Vortragsthemen war super, da war aus vielen verschiedenen Bereichen etwas dabei und was mir besonders gut gefallen hat, war, dass es auch weibliche Referenten gab. Das passiert auf technisch orientierten Konferenzen leider viel zu selten.

Die Organisation hat einen sehr guten Job gemacht, so, dass mir als Besucher nichts aufgefallen ist, was falsch gelaufen wäre. Wenn es einen weiteren Summit gibt, komme ich gerne wieder.

Hier die Themen im Einzelnen:
  • Tom Ron, "Python's Guide to the Galaxy"
  • Dave Halter, "API Design is Hard"
  • Armin Rigo, "CFFI: Call C from Python"
  • Martin Christen, "3D Computer Graphics with Python"
  • Matthieu Amiguet, "Charming Snake: Python for Live Music"
  • Chihway Chang, "Coding/Decoding the Cosmos: Python Applications in Astrophysics"
  • Michael Rüegg, "Scrapy and Elasticsearch: Powerful Web Scraping and Searching with Python"
  • Jacinda Shelly, "Getting Started with IPython"
  • Florian Bruhin, "Pytest: Rapid Simple Testing"


Am stärksten beeindruckt hat mich der Talk von Matthieu Amiguiet, der mit Python und einem Notebook mit Linux und Realtime Patches für den Kernel, mit Python Effektgeräte emuliert und damit Latenzen unter 10 Milliskeunden (meisten um die 6 ms) erreicht.

Für zukünftiges Programmieren mitgenommen habe ich, Funktionen mit benamten Paramtern zu verwenden function(variable = 1, doit = true) (Dave Halter), IPython werde ich nutzen (Jacinda Shelly) und Pytest für Tests verwenden (Florian Bruhin).

Danke!

daterem.py vs. daterem.pl ...

Ich muss bzw. darf mich mit der Programmiersprache Python auseinandersetzen. Was liegt da näher, ein selbstgeschriebenes Perl-Skript nach Python zu migrieren? Nichts. Also habe ich es getan.

Die Ergebnisse lassen sich auf GitHub sehen.

Kritik ist ausdrücklich erwünscht, ich kann davon nur lernen.

Diesen Artikel wollte ich nicht Python vs. Perl nennen, weil beide Programmiersprachen ihre Berechtigung haben und es gibt ja nicht wirklich einen Streit zwischen beiden, nur unterschiedliche Philosophien. Einer von vielen Gründen ist, dass Perl von einem Linguisten - Larry Wall - entwickelt wurde und Python von einem Mathematiker - Guido van Rossum.

So, hier kommen die Dinge, die mir beim Umschreiben aufgefallen sind. Achtung! Ich bin kein Programmierer, sondern eher ein Skripter ...

Die folgenden Punkte kann meiner Ansicht nach Python besser:
  • Datumshandling mit mitgelieferten Bibliotheken: das Modul time ist doch deutlich komfortabler als das Perl-Pendant Time::local (zum Wert für Monat muss 1 und zum Wert von Jahr muss 1900 addiert werden).
  • Struktur: Da Bei Python die Einrückungen eine Rolle spielen, kann auf geschweifte Klammern für Codeblöcke verzichtet werden, das gefällt mir richtig gut.
  • Listen: Der Umgang mit Listen gefällt mir auch besser als bei Perl, aber ich gebe zu, dass das Geschmackssache sein könnte.


Aber auch Perl hat seine Stärken:
  • Reguläre Ausdrücke, nun, was soll ich schreiben, reguläre Ausrücke gehen direkt und wesentlich unkomplizierter als bei Python, wo sie per Modul nachgerüstet werden müssen. Es hat einen Grund, dass es einen Namen gibt "PRE - Perl Regular Expressions".
  • Variablenhandling: Ich habe mich daran gewöhnt, dass ich eine Variable sowohl als String wie auch als Zahl verwenden kann, ohne umwandeln zu müssen. Gut, Python ist schwach typisiert, aber wenn der Typ feststeht, muss man konvertieren.
  • Assoziative Arrays gefallen mir deutlich besser als Dictionaries, das ist wieder einmal Geschmackssache.
  • Nachgestelles "if" print $a if ($a == $b) ist wirklich hübscher als ein Mehrzeiler.


Es gibt gute Gründe, die zu den Entscheidungen in den Programmiersprachen geführt haben. Ich möchte auch nicht in "besser" oder "schlechter" einteilen, das ist doof. Alles, was man mit der einen Programmiersprache erledigen kann, kann man auch mit der anderen tun.

Rechnen mit Python ...

Liebe Pythonians, was soll so etwas denn in der heutigen Zeit? (Zufallsfund)
dirk@drusus ~ $ python
Python 2.7.2 (default, Jun 29 2011, 15:07:32) 
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 1100-1036.04
63.960000000000036

Nachtrag: Perl ist natürlich (wie immer) schlechter ;-)
$ perl -e "print 1100-1036.04"
63.96