Ich habe in der Vergangenheit mit einer Vielzahl an Programmiersprachen gearbeitet. Wirklich versiert bin ich aber nur in Java und Python. Mit der Programmiersprache Java arbeite ich fast täglich seit etwa zehn Jahren. Darüber hinaus war ich an drei Softwareprojekten beteiligt, die mit Python umgesetzt wurden. Python setze ich auch intensiv für individuelle Monitoringskripte auf Basis von Nagios ein. Durch das Monitoring habe ich auch oberflächliche Erfahrungen mit Perl und VBScript gesammelt. Ein paar Jahre lang habe ich eine Warenwirtschaft weiterentwickelt, deren Frontend in Pascal geschrieben ist. Über einen ähnlichen Zeitraum habe ich eine in Angular geschriebene Anwendung mitentwickelt und dadurch meine Erfahrung in JavaScript und Typescript ausgebaut. In meinem aktuellen Umfeld habe ich die Chance, Ruby etwas näher kennenzulernen.
Viele Sprachen, die ich sehr interessant finde, werde ich wohl im beruflichen Kontext nie kennenlernen. Daher habe ich entschieden, privat ein Projekt zu starten, in dem ich beliebige Sprachen antesten kann. Das Projekt trägt den Namen virtuallet und ist ein kleines terminalbasiertes Programm zur Verwaltung eines virtuellen Taschengeldes. Das Programm erlaubt individuelle Ab- und Zubuchungen auf einem Konto, ein festlegbares monatliches Taschengeld und die Kontoüberziehung bis zu einem gewissen Betrag. Als Datenspeicher dient eine SQLite-Datenbank. Ich werde das Programm in verschiedensten Sprachen umsetzen und ein Skript als Einstiegspunkt mitliefern, das eine zufällige Implementierung des Programmes startet. Das Programm selbst hat einen Umfang von ungefähr 200 bis 300 Zeilen Code exklusive den Texten, je nach Sprache.
Die aktive Entwicklung in einer neuen Sprache ist nur die halbe Miete, vor allem wenn ich mich nur etwa eine Woche mit jeder neuen Sprache befassen werde. Darum möchte ich mich auch theoretisch mit der Sprache auseinandersetzen und mir die folgenden Fragen beantworten:
- Seit wann gibt es diese Sprache? Wie ist sie entstanden, wer hat sie erfunden und warum?
- Wodurch zeichnet sich diese Sprache aus? Wie grenzt sie sich von anderen Sprachen ab?
- Wo wird die Sprache eingesetzt? In welchen Umfeldern und Branchen?
- Was sind die Vorteile der Sprache? Was sind die Nachteile?
Als Resultat werde ich zu jeder Sprache, in der ich virtuallet implementieren werde, einen eigenen Beitrag in diesem Blog in einer neuen Rubrik Programmiersprachen in einem etwas standardisierten Format schreiben.
Die Einführung einer neuen Rubrik bringt den bestehenden Rhythmus, zu jeder Rubrik alle acht Wochen einen neuen Beitrag zu veröffentlichen, durcheinander. Gleichzeitig möchte ich häufiger als alle zweieinhalb Monate mich mit einer neuen Sprache befassen. Ich habe mich entschieden, gegenüber den anderen Rubriken doppelt so viele Beiträge zu Programmiersprachen zu schreiben. Es bleibt bei einer zweiwöchigen Veröffentlichung, ab sofort aber in folgender Reihenfolge:
- Programmiersprachen
- Werkzeuge
- Architektur
- Programmiersprachen
- Entwurfsmuster
- Methodiken
Ich freue mich darauf, in den nächsten Monaten und Jahren viele neue Programmiersprachen kennenzulernen.