Ideen für 2022

Womit soll ich mich beschäftigen?

Bald ist das Jahr zu Ende, und ich habe in den letzten Wochen und Monaten verschiedenste Ideen gehabt, womit ich mich 2022 beschäftigen könnte. Einige Ideen habe ich bald wieder fallen lassen, z.B. diese Webseite nach Hugo zu migrieren (denn die Sache wird damit nicht einfacher, eher komplizierter). Andere Ideen haben sich immer wieder von neuem aufgedrängt, doch konnte ich sie aus Zeitmangel nicht weiterverfolgen.

Ein Mangel an Zeit ist ist doch meistens nur eine Prioritätsfrage: Wenn etwas wichtig genug ist, wird man es schon angehen. Eine Stunde früher schlafen gehen, dafür eine Stunde früher aufstehen; und die erste (d.h. beste) Stunde des Tages auf etwas verwenden, das einem wirklich wichtig ist. Und das ist für mich 2022 folgendes:

Elixir

2021 habe ich mich ursprünglich mit Erlang beschäftigen wollen. Ich habe das nur sehr kurz getan, da mich dann Elixir mehr überzeugt hat. Auch damit konnte ich mich nur kurz diesen Frühling beschäftigen, da sich die Vorbereitung für meine Unterrichtstätigkeit dann vorgedrängt hat.

In den letzten beiden Wochen habe ich mir dann wieder Elixir angeschaut und mir ein paar entsprechende Notizen dazu gemacht. Ich komme langsam voran, aber lerne Elixir dadurch gründlicher.

Als nächstes möchte ich ein kleines Beispielprojekt umsetzen. Hierfür nehme ich ein Problem, das ich schon mehrfach und in verschiedenen Programmiersprachen gelöst habe, und versuche es einmal idiomatisch mit Elixir zu lösen.

Anschliessend geht es weiter mit Concurrency. Wenn ich das einmal verstanden habe, möchte ich meine Reversi-Simulation revergo mit Elixir und OTP nicht nur nebenläufig, sondern parallel-verteilt ausprogrammieren. Mal schauen, ob ich mit mehreren Rechnern die Performance von Go auf einem Rechner übertrumpfen kann.

Dann möchte ich den Fokus auf Web-Anwendungen ausrichten. Das Phoenix-Framework sieht für mich vielversprechend aus.

Go

Die Einfachheit und konzeptionelle Schönheit von Go begeistert mich immer wieder aufs Neue. Im Februar soll Go 1.18 erscheinen und parametrische Polymorphie (Generics) mitbringen. Das ist eine gute Gelegenheit, mich wieder einmal mit Go zu befassen.

Dann sollte ich mich einmal mit Cloud-Anwendungen befassen, und was Go hier zu bieten hat. Das Buch Cloud Native Go steht schon länger in meinem Bücherregal und soll mir zur Vorbereitung auf das entsprechende Modul in der Berufsschule dienen. (Vielleicht sollte ich vorher das kürzere Buch Cloud Native einmal durcharbeiten.)

Mein Ziel ist es, mit Go Anwendungen als 12 Factor Apps entwickeln zu können. Das hat nur zu einem kleinen Teil mit der Programmiersprache selber zu tun, und vielmehr mit der ganzen Umgebung.

Für ein privates Projekt wollte ich schon länger eine Web-Schnittstelle anbieten, damit ich die Verwaltung der Benutzereinstellungen nicht von Hand in einer Quellcodedatei nachtragen muss. Hierfür sollte ich mir gelegentlich gin anschauen.

JavaScript

An JavaScript kommt man nicht mehr vorbei; und funktionales JavaScript ist doch etwas recht schönes. Für das Web-Modul, das ich diesen Frühling unterrichten soll, habe ich hier noch einiges vorzubereiten.

Neben den beiden Büchern Eloquent JavaScript und Composing Software wäre vielleicht Deno noch interessant, zumal dies viele Unzulänglichkeiten von Node.js beseitigen soll. Für den Berufsschulunterricht schwebt mir hingegen Express.js vor, um die Funktionsweise von RESTful-APIs zu demonstrieren und um damit entsprechende Übungen zu machen.

TypeScript interessiert mich hingegen wenig. JavaScript ist eine dynamische Programmiersprache; dementsprechend möchte ich mich auch lieber mit dem entsprechenden Paradigma beschäftigen als wie bei Java und C# aus allem eine Klasse zu machen.


Das dürfte genug sein für 2022. Wenn ich in einem Jahr aus dem Stegreif mit Elixir programmieren, mit Go 12-Factor-Anwendungen entwickeln und mit JavaScript RESTful-APIs umsetzen kann, dann wäre mein Jahr 2022 in technischer Hinsicht gelungen.

Was sonst 2022 noch alles passieren wird, darauf habe ich wohl nur wenig Einfluss. Konzentriere ich mich also darauf, was ich kontrollieren kann: Stilles Lernen in meinen eigenen vier Wänden; notfalls bei Kerzenlicht.