Programmiersprachen

Im Laufe der Jahre habe ich viele Programmiersprachen zu Gesicht bekommen und einige davon jeweils recht intensiv verwendet. In folgenden eine kurze Übersicht darüber:

Java / Android

Unter Android ist bekanntermaßen Java die Programmiersprache der Wahl und so mußte ich diese Sprache lernen. Aber aus meiner Erfahrung insbesondere mit C# war das Einarbeiten nicht weiter schwer. In den Feinheiten gibt es aber immer wieder was zu lernen.
Eine Übersicht über meine Android-Apps finden Sie unter dem Menüpunkt "Anwendungen". Öffentlich verfügbar ist im Moment allerdings nur der Buddy-Tracker - die anderen Apps sind für die öffentlche Verwendung nicht geeignet.

C#

Während meiner Tätigkeit in der Softwareverteilung habe ich als Unterstützung für den NAL (Netware Application Launcher) ein Synchronisationstool geschrieben, das einen Software-Cache auf Laptops und Workstations, die nur zeitweise im LAN sind, pflegt und aus dem heraus die Anwendungen dann jeweils installiert werden konnten.. Dazu wurde der BITS-Dienst von Microsoft verwendet. Mangels Unterstützung im .Net-Framework mußte ein DLL-Wrapper für die nativen DLL-Aufrufe für diesen Dienst geschrieben werden.

Eine Anwendung zur Lizenzverwaltung, die die Nutzungsdaten aus dem Inventory von Altiris mit den Informationen über die im Unternehmen vorhandenen Lizenzen in Beziehung bringt um Unterlizensierungen und nicht autorisierte Software im Netz überwachen zu können.

Diverse Tools für Aufgaben im dortigen Netzwerk die mit der vorhanden Standardsoftware nicht abgedeckt werden konnten.

PHP

Kommerziell habe ich einige Websites in Zusammenarbeit mit Webdesignern mit den benötigten Datenbankfunktionalitäten versorgt. U.A. auch eine Website, die ihre Informationen aus einer MySQL- und zusätzlich auch aus einer firmeninternen Oracle-Datenbank bezog. Der Webhoster (ein Oracle-Partner) griff dabei auf meine Erfahrungen zurück um den Webserver dann um die Oracle-Connectivity zu erweitern. =:-)
Diese Seiten sind inzwischen allerdings überholt und wieder offline.

Daneben habe ich ein kleines Programmpaket für eine Dienstplan- und Lagerverwaltung geschrieben (siehe die Abteilung "Web-Applikationen"). Ursprünglich sollten diese Web-Applikationen den zentralen Gegenpart für Android-Apps werden, die ich am schreiben war. Aber mit der Zeit stellte sich heraus, daß das Projekt viel zu groß und aufwändig werden würde. Es hätte eigentlich eine eigene kleine Firma erfordert, die das dann vermarkten hätte müssen. Für diesen Aufwand sah ich allerdings nicht genug Marktpotential, so daß das Projekt erstmal eingeschlafen ist. Lediglich das Dienstplan-Modul ist bei Freunden im Moment im produktiven Einsatz. Dort aber seit mehreren Jahren ohne Klagen. ;-)

Python

Ich habe einen Raspberry-Pi auf dem Schreibtisch stehen, der einige Routineaufgaben energieeffizient für mich erledigt. Um nicht Bash programmieren zu müssen habe ich einige Scripte für den Privatgebrauch in Python geschrieben. Als Spezialist für diese Sprache möchte ich mich aber nicht bezeichnen.

vbs

Während meiner Tätigkeit in der Softwareverteilung habe ich neben vielen kleinen Scripten für alle möglichen Aufgaben im Netzwerk ein generisches Installationsscript für die Altiris Softwareverteilung erstellt, die diesem Produkt einige Komfortmerkmale hinzufügt und sie in meinen Augen erst als Softwareverteilungstool verwendbar werden ließ. Im Moment bin ich aber von Windows zu Linux gewechselt und mache aktuell nicht mehr viel mit Windows.

Sonstiges

Für meine aktuellen Projekte verwende ich zur Zeit Java, und PHP. Hier bin ich also auf der Höhe der Zeit, bei anderen Sprachen müßte ich mich (wieder) einarbeiten. Aber die Staubschicht ist wohl schnell weg geblasen - was dann noch käme wäre, sich auf den aktuellen Stand der jeweiligen Sprache fortzubilden. Die Zeit bleibt dort ja auch nicht stehen. Das wäre kein Problem für mich, aber gegen einen Spezialisten auf dem Gebiet wäre ich natürlich erstmal nicht konkurrenzfähig.

Noch ein paar Schnipsel aus meiner Vergangenheit:

Meine erste Begegnung mit Computern hatte ich noch zu meiner Schulzeit in den späten 70ern wo mich mein damaliger Mathelehrer in die Uni mitgeschleift hat. Dort konnte ich dann mein erstes Programm in Pascal auf Lochkarten stanzen und auf dem damaligen Siemens-Großrechner laufen lassen.

Bald darauf bekam meine Schuie die ersten Rechner (Commodore 8032) und ich mußte von Pascal zurück zu Basic und 6502-Assembler.

Nach der Schule hatte ich wenig Geld und habe deswegen in den 80ern mit dem Selbstbau meines ersten Computers (CPU Z80, Betriebssystem CP/M)  begonnen. Da ich mangels Geld einige Teile des Rechners selbst entwickelt habe bzw. fremde Bausätze in diesen integriert habe, mußte ich auch deren Unterstützung für das Betriebssystem selber regeln und habe so letztendlich ein komplettes BIOS in Z80-Assembler schreiben müssen auf das das BDOS von CP/M dann zugegriffen hat.

Aus diesem Projekt entwickelte sich eine Maschine, zur Verwaltung von Disketten für die damaligen Satzterminals der Firma Linotype. Diese wurde per RS-232 von den dann inzwischen auf dem Markt erschienenen IBM-PCs gesteuert und schrieb die Disketten für diese Terminals in proprietärem Format und proprietärem Zeichensatz. Beides habe ich durch Reverse-Engineering selber entwickeln müssen, da vom Hersteller verständlicherweise keine Unterstützung zu bekommen war. Leider waren wir mit diesem Produkt zu spät am Markt - es ließ sich nicht mehr sinnvoll vermarkten.

An der Universität bekam ich durch das Studium und Jobs Kontakt zu diversen Programmiersprachen (Lisp im Studium und Simlula, Ada, C, Fortran in Zusatzkursen). Unter anderem habe ich dort als studentische Hilfskraft das Programm zum Berechnen der offiziellen Zulassungszahlen der Universtität Hamburg von Fortran auf Pascal umgestellt und dabei um einen erheblichen Faktor beschleunigen können. Es lief damals auf dem dortigen Großrechner und bestand aus 4 Jobs mit jeweils 10 Minuten CPU-Zeit (eine astronomische Größe - die Studenten bekamen 30 Minuten für ganzes Semester zugeteilt und verbrauchten nur einen Bruchteil davon.). Dies konnte ich auf 2 Jobs mit je 30 Sekunden CPU-Zeit reduzieren, so daß diese Jobs dann auch problemlos im Tagesbetrieb laufen konnten während sie vorher nur mit Eingriff der Operatoren am Tage laufen konnten.

Daneben habe ich lange Zeit die Datenbank für die Publikation "Klasings-Bootsmarkt" konzipiert, erstellt und gepflegt. Dies Anfangs unter dBase, später unter Clipper und CA-Visual Objects. Formate, die inzwischen in der Versenkung verschwunden sind.