zurück zum Artikel

Top 10: Die zehn beliebtesten Artikel auf heise Developer im Jahr 2023

Matthias Parbel

(Bild: Palto/Shutterstock.com)

Die meistgelesenen Fachartikel und Blogbeiträge des Jahres umspannen ein breites Feld von Programmiersprachen in der Praxis über KI bis zu Agilität.

Bevor sich alle Blicke auf das anstehende neue Jahr richten, schaut die Redaktion von heise Developer noch einmal zurück auf die beliebtesten und am häufigsten gelesenen Artikel sowie Blogbeiträge 2023. In den Top 10 der vergangenen 12 Monate findet sich eine bunte Themenmischung. Sie reicht von Programmiersprachen wie Java und Rust über KI-Sprachmodelle in der Entwicklungspraxis bis zum Spannungsfeld zwischen Developern, Softwarearchitektur und Agilen Methoden.

(Bild: Stokkete/Shutterstock.com)

Im Auftaktbeitrag zu seiner dreiteiligen Artikelserie über Speicherprogrammierbare Steuerung (SPS) [1] beleuchtet Michael Stal zunächst die Grundlagen der Technik, die sich als Programmable Logic Control (PLC) zu einem unverzichtbaren Bestandteil in der Welt der Automatisierungssysteme entwickelt hat. Diese Steuerungen enthalten Code zum Einlesen von Daten, vorprogrammierte Verarbeitungselemente, benutzerdefinierten Code für die Verarbeitung, und Code zum Schreiben von Daten. Die Umsetzung in der Praxis [2] beschreibt Stal beispielhaft anhand der Open-Source-SPS OpenPLC, bevor er im dritten Teil noch eine Einordnung liefert, wie die SPSen mit anderen Automatisierungskomponenten kooperieren [3].

Zwei Alpakas mit blauem Himmel

(Bild: Rita_Kochmarjova/Shutterstock.com)

Nachdem Meta sein großes Sprachmodell Llama 2 als offene Alternative zu den Blackboxes Chat-GPT-3.5 und -4 vorgelegt hat, lieferte der Konzern noch ein weiteres, explizit auf die Codegenerierung trainiertes Modell nach: Code Llama. Christian Winkler hat Code Llama mit einer konkreten Aufgabe konfrontiert [4] und untersucht, wie sich die verschiedenen Varianten dieses Modells in der Praxis schlagen. Sein Fazit zu den Versuchen lautet: Entwicklerinnen und Entwickler werden auf absehbare Zeit nicht arbeitslos, denn den Ergebnissen, die Modelle wie Code Llama liefern, kann man nicht blind vertrauen – eine Prüfung durch Experten ist dringend angeraten. Developer dürfen aber darauf hoffen, dass ihnen Sprachmodelle immer mehr Routineaufgaben abnehmen, sodass sie sich selbst mehr auf kreativere Programmierarbeiten konzentrieren können.

(Bild: Natalia Hanin / Shutterstock.com)

Im September 2023 ist mit dem OpenJDK 21 das jüngste LTS-Release erschienen, in das insgesamt 15 JEPs (JDK Enhancement Proposals) eingeflossen sind. Das mache Java 21 zu einem der spannendsten Releases der letzten Jahre, wie Falk Sippach in seinem Blogbeitrag [5] auch anhand vieler Beispiele wie etwa dem Pattern Matching, den Virtual Threads, der Vector API sowie der Foreign Function & Memory API ausführlich begründet: So lasse sich beispielsweise das Pattern Matching, bei dem es darum geht, bestehende Strukturen mit Mustern abzugleichen, um komplizierte Fallunterscheidungen effizient und wartbar implementieren zu können, nun endlich produktiv nutzen.

Virtual Threads wiederum, die sich Falk Sippach zufolge direkt in eine Reihe mit Generics, Lambda-Ausdrücken und dem Plattform-Modul-System einreihen, machen Java zukunftssicher. Auch wenn sich das Potenzial dieser Idee noch nicht vollständig erfassen lasse, werden die virtuellen Threads die Implementierung hochskalierbarer Server-Anwendungen in Zukunft sicherlich stark vereinfachen.

Eine offene Hand hält eine leuchtende Glühbirne

(Bild: Dilok Klaisataporn/Shutterstock.com)

Im Hintergrundartikel von Stefan Baumgartner [6] erfahren Interessierte, warum Rust nicht nur in der jährlichen Stack-Overflow-Entwicklerumfrage erneut zur beliebtesten Programmiersprache gewählt wurde [7], sondern lernen auch die einzigartigen Fähigkeiten von Rust im Detail kennen. Punkten kann die moderne Sprache vor allem durch drei Aspekte: Speichersicherheit ohne Garbage Collection, effiziente Nebenläufigkeit und ein entwicklerfreundliches Handling von Abstraktionen.

So verhindern beispielsweise Rusts Ownership- und Borrowing-System sowie die Abstraktionen in Form von Traits und Typen in Concurreny-Umgebungen das Auftreten von Data Races. Für hohe Speichersicherheit hat Rust jedoch einen neuen Weg eingeschlagen, der Entwicklerinnen und Entwicklern ein strenges Regelwerk auferlegt. Während viele Skriptsprachen automatisches Speichermanagement bieten und C/C++ Developern die Verantwortung dafür überlässt, setzt Rust auf eine Speicherzuweisung zur Kompilierzeit. Diese folgt dem Ownership- und Borrowing-System und führt zu hundertprozentig speichersicheren Anwendungen – legt jedoch die Einstiegshürde für Entwicklerinnen und Entwickler etwas höher.

(Bild: jamesteohart/Shutterstock.com)

Beim Embedded Open Source Summit, den die Linux Foundation 2023 in Prag ausgetragen hat, stand unter anderem das Echtzeitbetriebssystem Zephyr im Fokus. Während dem Konferenzbericht von Tam Hanna [8] zufolge im Bereich Echtzeitbetriebssysteme für Kleinstrechner nach wie vor Amazon FreeRTOS beziehungsweise Microsoft mit Azure RTOS dominieren, gewinnt Zephyr aber offenbar an Boden. So nutzt Google das System beispielsweise für den Embedded Controller von Chromebooks, und Meta optimiert die Verwaltungs-Engine einiger hauseigener Chips auf den Betrieb mit Zephyr. Auch die Community engagiert sich intensiver und steuert neue Komponenten für Zephyr. Als prominentes Beispiel führt Hanna das quelloffene Updateverwaltungssystem Mender an, das dank der Open-Source-Komponente mender-mcu-client Mikrocontroller-Firmware verwalten kann und künftig auch Zugriff auf das Zephyr-Terminal bieten soll.

Die Plätze 5 bis 1 folgen auf der nächsten Seite.

Stuttgart,,Germany,-,09-24-2022:,Mobile,Phone,With,Webpage,Of,Open-source

(Bild: T. Schneider/Shutterstock.com)

Die Übernahme des inzwischen in X umbenannten Social-Media-Dienstes Twitter durch Elon Musk im Herbst 2022 hatte zahlreiche Nutzerinnen und Nutzer abwandern lassen. Vielen galt ein dezentrales Fediverse – und dort insbesondere Mastodon – als willkommene neue Heimat. Einige hegten gar die Hoffnung, Mastodon hätte das Zeug, Teil einer kritischen Infrastruktur zu werden. Softwarearchitekt und Blogger bei heise Developer Golo Roden [9] wollte es genau wissen und nahm Mastodon vor allem im Hinblick auf die technische Basis genau unter die Lupe: Im Interview berichtet er über seine persönlichen Erfahrungen beim Aufbau einer Mastodon-Instanz [10] für sein Unternehmen the native web [11]. Dabei kommt er zu dem ernüchternden Fazit, dass Mastodon aus technischer Sicht – zumindest zum damaligen Zeitpunkt – noch nicht reif für den großen Ansturm gewesen sei. Als Kernproblem dahinter identifiziert Golo Roden allerdings die insbesondere bei Open Source verbreitete Gratismentalität [12] der Nutzerinnen und Nutzer. Das Engagement der Entwicklerinnen und Entwickler alleine reiche nicht, um solche Systeme dauerhaft mit einer skalierbaren Infrastruktur zu betreiben und zu pflegen – es brauche auch ein angemessenes Bezahlmodell.

Creative,Code,Skull,Hologram,On,Modern,Computer,Background,,Cybercrime,And

(Bild: Pixels Hunter/Shutterstock.com)

In seinem Continuous-Architecture-Blog bei heise Developer stellte Eberhard Wolff die provokante Frage, ob Developer die natürlichen Feinde der Softwarearchitektur seien? [13] Inspiriert zu der These hat ihn seine langjährige Erfahrung als Architekt und Berater, der in Projekten immer wieder erleben musste, dass Entwicklerinnen und Entwickler nicht das gleiche Ziel verfolgen wie die Softwarearchitektur. Im Hinblick auf zufriedene Anwenderinnen und Anwender sollte das erklärte gemeinsame Ziel aber sein, die richtigen Features zu implementieren und dabei möglichst unkomplizierten Code zu verwenden, der eine hohe Qualität und die Umsetzung der Architektur gewährleistet. In der Praxis stehen diesem Ziel aber häufig gerade jene als "gut" zertifizierten Developer entgegen, die zwar ein hohes Maß an Kompetenz in der Programmierung mitbringen, dadurch aber vor allem zu immer höherer Komplexität beitragen – die wiederum einer "sauberen" Architektur eher im Weg steht.

(Bild: chana/Shutterstock.com)

Im Rahmen der Reihe "Young Professionals schreiben für Young Professionals" vermittelt Clemens Sielaff in seinem kurzen Tutorial [14], welche "Magie" beim asynchronen Programmieren hinter dem Keyword await steckt. Es lässt schwierigen, asynchronen Code wie linearen erscheinen, ohne dabei die Komplexität preiszugeben, die sich hinter dem Begriff verbirgt. Sielaff vergleicht dazu beispielhaft den Einsatz einer Async-Library in Python, die auf das Keyword await verzichtet, mit Code, der await mit dem Python-Standardmodul asyncio nutzt.

(Bild: ThisisEngineering RAEng / Unsplash [15])

Wie schon die heise-Developer-Blogger Golo Roden und Eberhard Wolff gibt auch Stefan Mintert mit einer provokanten Frage Anlass zur Diskussion. Muss ein Scrum Master etwas von Softwareentwicklung verstehen? [16] ließe sich schlicht mit "Nein" und dem Zusatz "es kann aber nicht schaden" beantworten. Denn zu den primären Aufgaben des Scrum Masters gehört es, die Kommunikation im Team erfolgreich zu managen. Aus Sicht der Developer findet die projektrelevante Kommunikation allerdings nicht nur in den typischen Scrum-Meetings statt, sondern eben auch in Pull Requests (PRs), aus denen sich Scrum Master üblicherweise heraushalten. Im Sinne einer konstruktiven und effizienten Kommunikation rät Stefan Mintert – aus eigener Erfahrung – dazu, dem Scrum Master Einblick in die PRs und die dort geführten Diskussionen zu verschaffen.

Neural,Network,3d,Illustration.,Big,Data,And,Cybersecurity.,Data,Stream.

(Bild: Yurchanka Siarhei / Shutterstock.com)

Wenn schon das Kamel nicht durch das Nadelöhr passt, vielleicht lässt sich trotzdem ein LLaMA in die Westentasche packen? [17] Mit der Vorstellung des eigenen großen Sprachmodells LLaMA (Large Language Model Meta AI) kam der Facebook-Mutterkonzern Meta dem Launch von GPT-4 durch OpenAI im Frühjahr 2023 drei Wochen zuvor. Daraufhin ging Christian Winkler für heise Developer der Frage nach, ob sich ein solches mit offenen Daten vortrainiertes, großes Sprachmodell auch auf dem eigenen Rechner lohnend einsetzen lässt. Obwohl ChatGPT und GPT-4 komfortabel zu nutzende APIs bereitstellen, bieten sie außer über Prompts keinerlei Einflussmöglichkeiten – die Modelle sind rein Blackboxen. LLaMA eröffnet dahingehend viel mehr Freiheiten und Möglichkeiten, zumal sich die verschiedenen Varianten des Modells auf zahlreichen Plattformen betreiben lassen – mit Einschränkungen sogar auf einem Raspberry Pi. Vor allem aber mache es Spaß, mit einem eigenen Modell zu interagieren und zu überprüfen, was es kann und was nicht, resümiert Winkler. Auch der Lerneffekt beim Ausprobieren verschieden großer Modelle und deren technischen Anforderungen sei enorm.

Zum Abschluss dieser Top 10 wünschen wir allen Lesern und Leserinnen schöne Feiertage und einen guten Start in das Jahr 2024.

(map [18])


URL dieses Artikels:
https://www.heise.de/-9578804

Links in diesem Artikel:
[1] https://www.heise.de/hintergrund/Hello-SPS-Teil-1-Grundlagen-speicherprogrammierbarer-Steuerungen-9296535.html
[2] https://www.heise.de/hintergrund/Hello-SPS-Teil-2-Mit-OpenPLC-vom-Lernen-zum-Anwenden-9312495.html
[3] https://www.heise.de/hintergrund/Hello-SPS-Teil-3-Automatisierungspyramide-wo-lebt-eine-SPS-9320981.html
[4] https://www.heise.de/hintergrund/Code-Llama-Ein-Llama-lernt-programmieren-9537794.html
[5] https://www.heise.de/blog/Java-21-ist-eines-der-spannendsten-Releases-der-letzten-Jahre-9309203.html
[6] https://www.heise.de/hintergrund/Programmiersprache-Rust-fuer-Neugierige-9345899.html
[7] https://www.heise.de/news/Programmiersprachen-Die-Beliebtheit-von-Rust-bleibt-ungebrochen-9187369.html
[8] https://www.heise.de/hintergrund/Freies-Echtzeitbetriebssystem-Zephyr-wird-erwachsen-9211637.html
[9] https://www.heise.de/developer/the-next-big-thing-1790061.html
[10] https://www.heise.de/meinung/Interview-Grosse-Bedenken-auf-Mastodon-zu-setzen-aus-technischer-Sicht-7477138.html
[11] https://www.thenativeweb.io/
[12] https://www.heise.de/blog/Log4j-warum-Open-Source-kaputt-ist-6317678.html
[13] https://www.heise.de/blog/Entwickler-innen-natuerliche-Feinde-der-Softwarearchitektur-8971097.html
[14] https://www.heise.de/hintergrund/Asynchrones-Programmieren-async-minus-await-7527129.html
[15] https://unsplash.com/de/fotos/4dR9LmMzhT0
[16] https://www.heise.de/blog/Muss-ein-Scrum-Master-etwas-von-Softwareentwicklung-verstehen-8994550.html
[17] https://www.heise.de/hintergrund/Grosses-KI-Sprachmodell-am-eigenen-Rechner-Ein-LLaMA-fuer-die-Westentasche-7624131.html
[18] mailto:map@ix.de