Software erstellen
Das Ingenieurbüro Heimann bietet die Implementierung von Softwaremodulen in den gängigsten Programmiersprachen an:
- Assembler
- C
- C++
- Java
- C#, ASP.NET
Wir empfehlen die sog. „maschinennahen“ Programmiersprachen – Assembler und C – dort, wo es gilt möglichst performante Implementierungen zu realisieren besonders für Zielsysteme mit eingeschränkten Ressourcen (Speicher, Prozessorleistung). Da mit den moderneren Programmiersprachen schnellere (und gleichzeitig auch höherwertige) Ergebnisse erzielt werden können, sollten diese bevorzugt eingesetzt werden. Hierbei gilt: Je moderner die Sprache, je produktiver ist deren Einsatz, da jede Programmiersprache gewissermaßen aus den Fehlern der Vorgängersprache gelernt hat.
Mit dem Aufkommen der imperativen Programmiersprache C in den 1970er fand man schnell heraus, dass ein Programmierer am Tag ungefähr gleich viele Assemblerzeilen erstellen und testen kann wie in C. Mit dem Unterschied, dass mit einer C-Zeile gleich 10 Assembler-Zeilen erstellt werden können. Somit konnte bereits beim Wechsel von Assembler auf C eine wesentlich höhere Produktivität erzielt werden.
Ende der 1970er wurde C++ als Erweiterung von C entwickelt. Sie ermöglichte Probleme auf hohem Abstraktionsniveau zu implementieren. Gleichzeitig wurden typische C-Probleme beseitigt: Typen wurden besser geprüft, uninitialisierter Speicher konnte vorbelegt werden und über Klassen konnten Algorithmen vererbt und internes versteckt werden.
Mit Java wurde dann ab 1995 die unvollständig in C++ umgesetzte Objektorientierung ausgebaut und auf die fehleranfälligen Zeigeroperationen konnte mehr und mehr verzichtet werden. Wichtig war zur damaligen Zeit vor allem die sog. Plattformunabhängigkeit, da seinerzeit noch viele Betriebssysteme sich innerhalb einer Domäne tummelten.
2001 erschien die Programmiersprache C# und beseitigte viele Java-Unschönheiten. Um dem Anspruch der Plattformunabhängigkeit gerecht zu werden, war Java von Anfang an dazu verdammt sich am kleinsten gemeinsamen Nenner aller Betriebssysteme zu orientieren. Datenbankanbindungen, INI-Datei-, Logfile-Operationen mussten zum Beispiel von Drittherstellern beschafft werden und führten zwangsläufig zu einem Multi-Kulti-Zoo. In den unglücklichsten Fällen war man mehr beschäftigt Brücken zwischen den Drittherstellen zu schaffen, als Kundenfunktionalität herzustellen. C#, genaugenommen die .NET-Initiative, bringt ein „All-in-one-Framework“ mit, dass fast keine Wünsche mehr offen lässt, um nur einen Vorteil zu nennen.
PHP5, die Sprache mit der die meisten Internetseiten realisiert sind, hat ein ähnliches Problem: Schon bei der Überprüfung von einfachen Datumsangaben ist man darauf angewiesen sich aus dem Open-Source-Pool die eine oder andere Bibliothek zu beschaffen. Mit dem Ergebnis, dass der Nachfolgeprogrammierer sich erst umständlich in diese Bibliothek einarbeiten muss oder den Quellcode verwirft. ASP.NET, auch ein Produkt der .NET-Initiative, hat dieses Problem nicht.