Kontrollverlust

Es ist ein schleichender Prozess in der EDV, welcher auf mannigfaltige Ursachen zurückzuführen ist. Die da wären:

Quellen

Eine davon wäre die Tatsache, dass der gemeine Informatiker immer mehr durch den Coder, welcher für die Massenarbeit zuständig ist, ersetzt wird. Beispielsweise werden einfachste Programmieraufgaben als vorgefertigte Pakete in eigenen Entwicklungsprojekten eingebunden. Und diese aufgeblähten Pakete benötigen wiederum weitere Bibliotheken aus dem Netz, welche den Code noch mehr aufblasen.

Trivial gesprochen sind Bibliotheken Routinen und Unterprogramme, welche jede Programmiersprache benötigt. Ich (und andere) verstehen schon lange nicht mehr, was da alles in einer Programmmiersprache herumschwirrt. Ruby on Rails beispielsweise hat mittlerweile Node-Zeugs und Javascript-Gedöhns en Masse dort reingeladen.

Daher versuchte man mit der Sprache RUST eine Rails-Alternative zu forcieren. War auch unter dem Namen “iron” bekannt.
Hatte ich damals am Radar und wollte das sogleich ausprobieren. Hätte aber wiederum einen Download unzähliger Bibliotheken von unbekannten Autoren aus dem Netz nach sich gezogen, sodass ich damals einen weiteren Vorstoß in diese Richtung vorzeitig abbrach.

Wer will so etwas produktiv einsetzen? Kein Schwein weiß mehr, wer aller an einem Programm mitgewirkt hat. Oder woher es kommt. Zeitgenössische Angreifer schreiben deshalb die Bibliotheken nunmehr einfach selbst.

Ressourcenauslastung

Ein “hello world” in C geschrieben, mitunter noch statisch verlinkt, verschlang wenn überhaupt mal vier kByte. Wenn Du puts statt printf nimmst, wird’s noch mal eleganter. Mit damaligen Compilern war das normal.

Mit heutzutage gängigen Werkzeugen wie der Programmiersprache GO kannst Du gleich den Größenfaktor 100 veranschlagen. Mindestens.

Jetzt weißt Du auch, warum die meisten Betriebssysteme in C geschrieben sind. Sauschnell, das Zeug.

Mit GO und dem Befehl “go get PROGRAMMNAME” wird wiederum einfach compiliert und der Rest läuft vollautomatisch ab. Sehr praktisch, wenn es das Programm schon im Netz gibt. Keine Ahnung jetzt, aus welchen Teilen oder welcher Herkunft das Programm dann letztendlich besteht. Blindes Vertrauen in den Rest der Welt ist da Voraussetzung und kann demnach nicht schaden.

Der Großteil der Software ist lausig programmiert und vor allem nicht mehr wartbar. Sieh Dir mal Visual Studio von 2012 und heute an. Was das Zeug mittlerweile aufgebläht ist, ein Wahnsinn. Man hat den Eindruck, dass die Stabilität zugunsten der Features immer mehr geopfert wird.

Beobachte mal den Kompiliervorgang einer einfachen C# Anwendung. Also Ressourcenauslastung und die Dauer der Kompilierung zwischen Visual Studio 2012 und einer heutigen Version. Und dann mach mal einen Tabwechsel und Du weißt, was ich meine.

Ja klar kann man alles mit Hardware erschlagen. Nur dieser Weg fördert geradezu schlampige Programmierungen mit all seinen Nachteilen.

Coder

Programmiert im herkömmlichen Sinn wird schon lange nicht mehr. Ich würde es eher als ein Zusammenstöpseln fremder Bibliotheken und Programmbeispiele bezeichnen. Darum gibt es ja mittlerweile in jedem größeren Programmierteam eigene Mitarbeiter (Security-Teams), welche sich nur damit beschäftigen, herauszufinden, aus welchen Bestandteilen das Programm erstellt wurde. Dabei versuchen sie auch noch die zum Teil inkompatiblen und unterschiedlichen Lizenzen aller Komponenten auf einen Nenner zu bringen.

Die ergänzende Anekdote eines befreundeten EDVlers in einem großen Telekommunikationsunternehmen unterstreicht meine Bedenken nur noch mehr. Seit gut einem halben Jahr ist besagter Mann nämlich nur damit beschäftigt, die auf dem Erdball verstreuten Programmierer (welche für das Unternehmen extern arbeiten) so weit zu koordinieren, dass diese ihre Aufgaben auf den Originalzustand zurück bauen. Einfach, weil der nicht nachvollziehbare Wildwuchs in jede Richtung überhand genommen und keiner die Verantwortung übernehmen wollte.

Programmiersprachen

Dies hat alles eine enorme Bandbreite von Werkzeugen, Entwicklungsumgebungen und Programmiersprachen hervorgebracht.

C++, Perl und Shell waren um die Jahrtausendwende noch voll ausreichend, um am aktuellen Stand zu bleiben und sich um die Kernaufgaben zu kümmern. Hauptsächlich deshalb, weil es nur ein paar Leute gab, die jene Sprachen weiterentwickelt haben und man somit auch wusste, woher das kam und wer da wenn überhaupt, herumfummelte.

Heute verwendet man locker ein Drittel seiner Arbeitszeit, nur um sich ständig über alle Neuerungen auf dem Laufenden zu halten. Mir wird schon schlecht, wenn ich daran denke was ich heutzutage alles an Sprachen beherrschen sollte. Rust, Jave, Kollin, Python, LUA, Node, powershell, Swift, PHP, Csharp, Clojure, C++ und bash sollen hier nur einmal stellvertretend für den Wust an Sprachen herhalten, welche sich zum Teil im Tages- oder Wochenrhytmus ändern können.

Wobei ich mir sicher bin, dass ich zumindest weitere 10 Sprachen einfach so hinten beim Tisch runterfallen hab lassen. Von den Umgebungen. Frameworks und Grafikbibliotheken red’ ich jetzt mal gar nicht.

Fakt ist, dass die meisten Sprachen gegeneinander kaum oder keine Vorteile bieten, jedoch dauernd neue Semantik- oder Syntaxversionen auftauchen. Alle Sprachen sind sich irgendwie ähnlich, aber doch nicht gleich.

Im industriellen Bereich pflanzt sich das natürlich auch fort. Ganze Security-Teams haben schon innerlich aufgegeben, weil die Entwicklungsabteilung zwar auf Java Virtual Machine entwickelt, jedoch die Einzelteams oder Entwickler auf jeweils ein anderes Werkzeug oder eine andere Sprache schwören. Die einen bevorzugen Java, andere Scala oder Kollin. Und dann kommt noch einer mit Groovy daher. Und das alles unter einen Hut zu bringen, naja.

Das sind nur einmal die Sprachen. Beim Installieren geht’s ja weiter. Entweder mit Ansible, Chef, Puppet oder gleich mit RPM-Paketen. Es ist ein buntes Durcheinander in der Softwareentwicklung, wo keiner mehr wirklich den Durchblick hat.
Darum sucht man vermehrt Entwickler, die das Tool A und die Sprache B beherrschen. Leute mit einem sehr kleinen Horizont, die sich nur darum kümmern, in einer Programmierumgebung gut zu sein und auf dem Stand zu bleiben. Und manchmal nicht mal das.

Heute reduziert sich das beispielsweise auf „Java-Entwickler“ oder Ähnliches.
Mit den Basics in GIT, der Vertrautheit einer Entwicklungsumgebung und einer Programmiersprache, rödelt man eben auf seinem Mac oder Windows damit herum.

Nicht selten muss man diesen Leuten dann aber noch die Funktionsweise einer ssh-Sitzung näher bringen. Oder überhaupt einmal erläutern, was eine Terminalsitzung ist, und wie so etwas aufgebaut wird. Neudeutsch reüssiert so etwas auch unter DevOps.

Wildwuchs

So installiert man heute mit Docker, welches mittlerweile aber auch schon von Kubernetes abgelöst wurde. Manche Hipster sind dann von Docker gleich zum mehr oder weniger kompatiblen Podman gewechselt, welches mit Kubernetes den Code teilt.

Und nebenbei erwähnt wurde deshalb Podman präferiert, da “Rocket” nicht so einschlug wie erhofft. Jeder darf einmal und jeder kommt mal dran.

Fakt ist zudem, dass alle Programmiersprachen für die Tonne sind. Eigentlich müsste man alle durch eine universelle ersetzen. Was ja auch passiert.

Und das ist das nächste Problem, weil viele Leute das erkannt haben und dementsprechend wiederum neue Programmiersprachen ins Feld reinwerfen. Diese wirken jedoch mitunter genauso schlecht auf den Nächsten, der diese wiederum durch eine neue Sprache ersetzen will.

Verschärfend kommt ja noch hinzu, dass sich schon jede Stadt, jede Uni, jedes Dorf, jede Behörde und Institution ihre eigene Software schreiben lässt. Was wiederum einen Wust an zum Teil inkompatiblen Ressourcen nach sich zieht.
Und so blüht und gedeiht der Wildwuchs dementsprechend.

Prioritäten

Als Informatiker bist Du heutzutage großteils damit beschäftigt, Dich in Bezug auf Software, Rechner und Deinem Wissensstand ständig selbst zu aktualisieren.

Probleme googeln, Bugs melden und Inkompatibles zusammenflicken sind die zeitgenössischen Aufgaben eines Informatikers. Selbst etwas zu entwickeln wird immer mehr in den Hintergrund gedrängt.

Der Aufwand steht dabei oft nicht mehr in Relation zur Produktivität. So ehrlich muss man sein. Irgendwann wird der Selbstzweck den Nutzen ein- und überholen.

Wie lange gibt es schon Internet-Würmer? 30 Jahre? 40? Irgend sowas in der Richtung wird’s schon sein. Und noch immer haben wir Pufferüberläufe, Würmer und Spione. Und vor allem immer mehr. Wäre es da nicht eher angebracht, sich um diese Sachen vordringlicher zu kümmern? Oder den Breitbandausbau? Da gäbe es noch genug Baustellen.

Wartung + Pflege

Mit jedem neuen Release ändert sich irgendwas. und die Suchspiele können wieder von Neuem beginnen. Es dürfte schwer aus der Mode gekommen sein, etwas zu verbessern, zu warten oder gar zu pflegen. Man verändert es einfach.


Die sich teils überschneidende Systemsteuerung mit den “Einstellungen” unter Windows fällt mir da auf Anhieb ein. Keine Angst, diesen Trend gibt es unter Linux genauso. Vor 15 Jahren hatte man schon zuverlässige, robuste Desktops (Gnome2, KDE 3… ), welche aber neuen Desktops weichen mussten. Finden viele heute noch schade.

Sieh Dir Thunderbird an. Wird/wurde über die letzten Jahre verbessert oder doch nur immer wieder verändert? Ist wie bei der Rechtschreibreform. Selbes Spiel. Nur dass die Nachrichtensprecher weiters noch einen Sprachfehler simulieren müssen.

Aufs Auge gedrückt

Der Account bei einem Hersteller eines erworbenen Produktes gehört heute schon einmal zum guten Ton. Ansonsten ist das Trum mitunter gar nicht in Funktion zu bringen. Die Authentifizierung per SMS oder Mobilfunknummer zur Inbetriebnahme von gerade erworbenen Lautsprechern soll das nur einmal plastisch darstellen.

Kein Account, keine Inbetriebnahme der Lautsprecher möglich. So weit, so normal. Kein Onlinekonto, kein Betriebssystem. Windows11 lässt grüßen. Die Zeiten mit den Offlinekonten sind auch da definitiv vorbei.

Wer hat keine Reiseapp auf seinem Handy? Manche Fluglinien wollen ihre Tickets nur mehr in der eigenen App drin haben. Andere bieten zwar Unterhaltung im Flugzeug an, jedoch nur mehr über WLAN. Selbstredend muss man da sein eigenes Handy zum Anschauen mitnehmen, da keine Displays mehr im Sitz des Vordermannes verbaut sind. Ach so, geht natürlich nur über die eigens von der Fluglinie heruntergeladene App. So weit, so normal.

Schau Dir NVidia mit ihren Grafikkartentreibern an. Die erzwungene Online-Registrierung und inhärente Anmeldung zum Datenabgreifen beunruhigt heute keinen Normalnutzer mehr. Warum auch? Man hat sich sowieso schon dran gewöhnt und vor allem, wie könnte man sich dagegen erwehren?

Sieh Dir die Zwangs-Updates und die durchgedrückte Zusatzsoftware (bloat) an. Letztere wird oft ohne Ausklammerungsoption mit installiert. Was glaubst Du, wie viele Windows-Server ich schon mit Candy Crush gesehen habe.
Und der Normalnutzer hat in der Regel keinen Zugang zu einer LTSC-Windows-Version. Alleine, dass es diese Version gibt, impliziert ja schon, dass auf den anderen so viel unnötiger Schnickschnack mitläuft und vor allem immer wieder raufkommt.
Noch ein Wort zu den Updates. 95 % laufen anstandslos durch. Aber ich kann mich an Zeiten erinnern, wo dieser Wert bei 100 % lag. Die Qualität der Updates hat nach Windows7 eindeutig abgenommen. Das kannst Du drehen und wenden, wie Du willst.

Abdrehen? Viel Spaß mit dem “Medic Service”, welches da mitunter dazwischen pfeift. Keine Ahnung, was in einem Monat für Dienste mit den Updates wieder bemüht werden. Die Windows7-Zeiten sind da auch schon lange vorbei.
Der ungefragt mit installierte Hintergrunddienst bei mittelgroßer Software gehört zum automatischen Update mittlerweile dazu. Gepaart mit den unzähligen Online-Diensten und Online-Programmier-Services sieht es von der rechtlichen Lage her ziemlich verstreut aus. Geschweige denn, dass keiner weiß, was nach dem nächsten Update noch geht oder ob dieses Service erst durch zusätzliche Abonnements noch zugänglich ist.

Weg vom Eigentum

Der Trend geht demnach auch eindeutig zum Leasing statt Eigentum. Weil mit ersterem kann man jederzeit von außen auf die Software zugreifen. Und dies vor allem mit einem aufgedrückten, erweiterten Funktionsumfang oder Sicherheitsfeatures rechtfertigen. Unreine Gedanken am Kaminfeuer können ja diese Gedanken in alle Richtungen weiterspinnen.

Verhaltenskodex

Auch unter dem Begriff "code of conduct" bekannt.

Viele erfahrene Entwickler wurden durch diesen code of conduct aus Projekten gemobbt oder rausgepresst. Deren Projekte managen nun politisch korrekte Leute, welche natürlich ihre Handschrift auch da hinterlassen. Ist wie im Frauensport mit den Transgender-Athleten. Über kurz oder lang wird der Frauensport aussterben.

Es ist auch mittlerweile egal, ob es sich um Open-Source oder kommerzielle Software handelt. Die Gender- und Rassistenpolizei hat mittlerweile auch diese Felder für sich entdeckt.

Derzeit geht wegen Black Lives Matter ein Ruck durch die Szene, weil man Systeme nicht mehr als Master-Slave bezeichnen soll. In GIT-Repositories darf man den Hauptzweig nicht mehr “master” benennen, was bisher immer die Standardeinstellung war.

Die anderen Beispiele kann sich jeder selbst raussuchen.

Putzig sind ja immer die ungläubigen Kopfschüttler, welche vehement solche Ansinnen verweigern. Ist ja okay, nur die haben sowieso nichts zu melden. Das ist der Punkt.

Das hat alles schon so viel Fahrt aufgenommen. Angefangen von der geförderten Frauen- und Minderheitenquote bis zum Studierenden-Ausdruck ist das nun in der Mitte der Gesellschaft angekommen.

Drollig, wie sich aber einige doch lieber ihren Blinddarm von einer Ärztin als von einer Quotenärztin entfernen lassen wollen. Und bei dem Satz “… der verstorbene Radfahrende… “ nicht mal zusammenzucken. Das ist alles schon auf Linie gebracht. Da komplettieren die Master-Ausdrücke nur noch das zeitgenössische Gebaren.

Nur die Konzerne registrieren das ja auch. Wie schon einmal erwähnt, rekrutieren und bilden diese sich nun selber ihre Softwareentwickler aus. Siehe Daimler oder VW.

Fazit

IT ist mittlerweile eine riesige Beschäftigungsmaschine, welche die Produktivität immer mehr in Frage stellt. Ich selbst habe es aufgegeben, Bugs zu melden. Selbst nach 10 oder 15 Jahren schwirren diese zum Teil noch immer ungelöst und unbearbeitet im Netz herum.

Andererseits sind die Menschen beschäftigt. Siehe mein oben erwähntes Beispiel von dem Telekommunikationsunternehmen. Du kannst Dir sicher sein, dass es in jeder größeren Firma solche Konstellationen gibt. Und vor allem ist besagter Mann zumindest heuer einmal damit voll ausgelastet. Ob das produktiv ist, mag jeder selbst beurteilen. Es ist, wie es ist.

Bei all dem Wildwuchs an Programmiersprachen, Frameworks, Grafikbibliotheken, verschiedenen Kenntnisständen, zum Teil nicht nachvollziehbaren Quellen- und Autorenangaben, Lizenz-Gefrickel, Daten- und Jugendschutz, Versionsinkompatibilitäten zwischen verschiedenen Standorten, antirassistischen und quotenbehafteten Arbeitsweisen, Patch- und Updatemanagement, Abonnements, Onlinekonten, mit installierten Hintergrunddiensten und Plattformunabhängigkeiten etwas auf die Beine zu stellen, was die Zielvorgaben erfüllt, oder gar übererfüllt… möcht’ ich nicht machen.

Das wirklich Gute daran sind die immer höher werdenden Hardwareanforderungen der Arbeitsgeräte. So geht genug von dem alten Zeugs nach Afrika, wo sie mit den 190er Benz-Dieselkarren ihr klimagerechtes Gnadenbrot fristen können.

Welcher Programmierer zerbricht sich heute noch den Kopf, ob man das Programm nicht um eine Zehnerpotenz kleiner schreiben kann? Ehrlich jetzt? Fällt mir nur der Editor “vi” ein, welcher noch immer die Mindestanforderung hat, auf eine 1.44MB Floppy zu passen. Zumindest war das mal so. Aber sonst?

Klar, ein Programmierer aus dem vorigen Jahrhundert hat sich hingesetzt und gemacht. Der musste auch haushalten mit seinen Ressourcen. Das kannst Du heute knicken. Außer Du bist Hannibal Lecter in einer Einzelzelle mit einem 56k Modemanschluss.

Genug geraunzt.

So, jetzt geht der Artikel zum Franz. Der soll ihn reinstellen und gut ist es. Wie ich ihn kenne, schaut er sich heute das EM-Finale an. Was solls, bevor er einbrechen geht, soll er sich vor der Mattscheibe austoben. Ich halte trotzdem zu Brasilien.

Man liest sich!

Gruß Günter


Titelbild

Günters Zeilen lesen sich nach “Das einzig Konstante im Leben ist die Veränderung” (Heraklit, ca. 500 v. Chr.) und das Klagen der Einen, denen es nicht schnell genug gehen kann und der Anderen, denen alles zu schnell geht. Ob wir wohl dem Tempo des Klimawandels werden bremsend folgen können? Und welche Veränderungen sind in diesem Sinne gut und welche schlecht?

Das Titelbild stammt aus pixabay.com.