Softwareentwicklung

Es gibt diverse Betriebssysteme, für man Programme schreibt und viele Sprachen, in denen man schreibt. Und einige davon habe ich schon benutzt (siehe das Bild oben).

Betriebssysteme (wie auch Browser) geben teilweise die Programmiersprache vor, meistens kann man aber unter mehreren auswählen.
Die häufigste Auswahlentscheidung ist: Schnell und preiswert (auch 'quick and dirty' genannt) oder etwas tiefergehend, dafür aber wiederverwendbar und sicher.
Für beide Arten kann es gute Gründe geben, mein Bereich ist aber eher der zweite.

Wenn ich Ihnen in diesem Bereichhelfen kann, kontaktieren Sie mich gerne hier

Prinzipien

Das oberste Ziel jeder Software ist natürlich, ihren funktionalen Zweck zu erfüllen. In diesem Rahmen sehe ich aber weitere grundsätzliche Ziele, die jede Software verbessern:

Klarheit

Die Software muss einem eindeutigen, klar sichtbaren Zweck dienen.
Einfachheit und klare Struktur erhalten den Vorzug vor vermeintlich alles könnenden Frameworks.
Auch der Code muss lesbar wie Prosa sein. Er orientiert sich dafür in Struktur und Benennung an realen Objekten.

Einfachheit

Bedienung muss schnell und einfach sein, so intuitiv wie möglich.
Einfachheit der Software bedeutet meistens auch Schnelligkeit und damit weniger aufwendige Hardware. Nicht zuletzt lässt sich Sicherheit bei einfacher, d.h. übersichtlicher Software besser gewährleisten.

Sicherheit

Aus meinen Erfahrungen mit der Entwicklung von Software für Banken ist mir das wichtig geworden: Kein angreifbares HTML, keine angreifbaren Datenbanken, so viele Skripte wie unbedingt nötig, soviel kompilierter Code wie möglich. 

Auswahl bisheriger Projekte

ab 1985 Programmierung von Treibersoftware, Erweiterung von Texteditoren in Pascal und Assembler unter CP/M und DOS/TOS.

ab 1989 diverse Lernprogramme für schweizerische Banken und Versicherungen sowie die Schweizerische Staatsbahn (multimedial - mit Disketten, Bildplatten, CD-I und speziell programmierten Grafikkarten)
Basis: DOS und Windows mit TenCore, Pascal, später C++.

ab 1994 Entwicklung eines Autorensystems für die Erstellung von Lernsoftware (C++),
damit Erstellung diverser Lernprogramme für deutsche Banken und Versicherungen, Automobilhersteller sowie interaktiver Werbeprogramme für die Stadt Hollywood und die Olympischen Spiele in Atlanta

ab 1997 Mitglied der Projektleitung eines internationalen Lernspiels für die Europäische Union mit Projektpartnern aus Großbritannien, Frankreich, Finnland und Deutschland (C++)

ab 1999 Entwicklung einer Intranet-Wissenssoftware (Java, HTML)

ab 2000 Entwicklung von Server-Software für das Internet. Auftritte für deutschen Banken und Versicherungen

ab 2001 Entwicklung eines Börsen-Überwachungssystems für die Berliner Börse (Xontro, C++ und Java)

ab 2003 Entwicklung des Intranets für eine deutsche Direktbank (Java)

ab 2004 Entwicklung eines Callcenter-Systems für die Deutsche Post (Java)

ab 2005 Entwicklung eines eigenen Content-Management-Systems (Java)

ab 2006 diverse Internet- und Intranet- Auftritte für eine deutsche Investment-Bank auf der Basis von MS SharePoint in Zusammenarbeit mit den internationalen Entwickler- und Hosting-Teams in den USA und Hongkong (C#)
Erstellung von SharePoint-Addons (u.a. CMS und Bilddatenbank)

ab 2011 Erstellung eines Kundenportals für eine deutsche Bank (Java)

ab 2013 Erstellung des Intranets für einen deutschen Pharma-Produzenten (MS SharePoint)

ab 2016 Erstellung eines Portals für einen deutschen Verlag

seit 2019 Erstellung einer Webapplikation für die Erfassung und Nachverfolgung von Baumängeln inkl. einer IOS-App für die Offline-Erfassung vor Ort.

seit 2020 Erstellung einer IOS-App 'my private track', einem digitalen Tagebuch ohne Cloud und Werbung. Einträge als Mix von Text, Foto, Audio, Video und Karte.

seit 2020 Veröffentlichung mehrerer Bibliotheken und Frameworks für macOS und IOS in Swift (auf GitHub als mr-elbe5).