Software Entwicklung in Python

Wir entwickeln Ihre Software in Python. Wenn Sie Java oder C++-Software benötigen, haben wir kompetente Partner, welche wir Ihnen für diese Leistungen empfehlen können.

Python ist eine Interpreter-Sprache. Python wurde im Umfeld von Scientific-High-Performance-Computing auf Großrechnern entwickelt. Durch diese Nähe zur Wissenschaft ist Python eine exzellente Programmiersprache für Scientific Computing. Python lässt sich einfach erweitern und einbetten und bietet sich daher wunderbar an um mit anderen Programmiersprachen zusammen zu arbeiten.

Python an sich ist langsam, die Bibliotheken sind schnell. Die Performance des Python-Interpreters ist etwa 100 Mal langsamer als C-Code. Allerdings sind gerade die numerischen Bibliotheken für Python alle in C oder vergleichbaren Compiler-Sprachen geschrieben und damit etwa so schnell wie C. Manche hoch optimierten Python-Bibliotheken sind sogar schneller als C. Mit Cython gibt es die Möglichkeit im Python-Code C-Geschwindigkeit zu erreichen und weiter in Python zu programmieren. Dies minimiert den Overhead der Datentyp-Umwandlungen von Interpreter zu Compiler beträchtlich. Auch ist damit eine wohldefinierte und etablierte Plattform gegeben um C-Erweiterungen für Python zu programmieren.

Python ist eine Hochsprache der vierten Ebene. Verbreitete Hochsprachen der dritten Ebene wie Java und C++ schleppen aus historischen Gründen noch Datentypen mit sich herum, welche keine Objekte sind. Python ist dagegen komplett objektorientiert - jeder Datentyp ist ein Objekt. Die Performance einer Programmiersprache kommt heute nicht mehr daher, dass sie einen Datentyp Float hat, der kein Objekt ist. Eine Programmiersprache wird heute daran gemessen, dass sie moderne Programmier-Paradigmen wie Objekt-Orientiertheit, Komponenten-Design, und Meta-Klassen unterstützt.

Python ist universell. Python hat unzählige Bibliotheken - vom Sound-Studio bis zu Astrophysik ist alles abgedeckt. Im Wissenschaftbereich türmen sich die Anwendungen. Python tritt  langsam aber stetig die Nachfolge von Perl an.

Python ist einfach zu debuggen. Ein Programmierer bringt 80% seiner Zeit mit Debugging zu. Python muss nicht kompiliert werden, ich kann nach jeder Änderung am Programmcode sofort das Programm neu starten. Ich kann den Interpreter an einer beliebigen Stelle im Quellcode anhalten lassen um dort mit Zugriff auf alle Variablen, Objekte, Klassen zu debuggen. Und dafür braucht es nicht mehr als eine Shell.

Wir entwickeln auch in C und Maschinensprache. Um das letzte Quentchen aus den CPUs heraus zu quetschen programmieren wir auch in C und Assembler. In den letzten Jahren ist der Fortschritt bei den Compiler aber so gewaltig, dass die Optimierung in Assembler nur minimale Performance-Gewinne bringt. Ein Optimierung in C kann dann interessant werden wenn eine speichereffiziente große Datenstruktur (z.B. ein Kristall-Gitter für Monte-Carlo-Simulationen) aufgebaut werden muss.