Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 4 Min.

Die sieben ärgerlichsten Probleme der Programmierung

InfoWorld-Redakteur Peter Wayner hat die sieben lästigsten Ärgernisse der Programmierung benannt und beschrieben.
Ganz oben in der Liste von Peter Wayner steht das Multithreading. Eigentlich etwas, das jeder unentwegt braucht und benutzt, gerade in der Zeit der Mehrkernprozessoren. Die Sache klappt auch ganz gut, solange die einzelnen Threads nichts miteinander zu tun haben. Wenn allerdings die Prozesse Variablen oder Dateien gemeinsam brauchen, dann beginnt der Horror, dem man durch Tools Herr zu werden versucht. Programmierer und Programm wandeln auf schmalen Grat zwischen Lösung und Chaos.Punkt 2: Closures. Funktionen, die man wie Daten weiterreichen kann sind eine gute Idee. Klappt super bei einfachen Aufgaben. Doch dann, insbesondere bei JavaScript, griffen die Funktionen nach sogenannten freien Variablen und spätestens auf der Suche nach Fehlern war der Entwickler verloren. Closures sollten die Lösung sein. Doch sie sind, so Peter Wayner, die Quelle der größten Kopfschmerzen von JavaScript-Entwicklern. Newbies und sogar viele Veteranen sind nicht in der Lage herauszufinden, was eingeschlossen ist (closed) und wo die Grenzen der Closures liegen.Punkt 3: Zu viele Daten. RAM ist nicht mehr knapp. So mancher Entwickler hat 32 GByte in seiner Maschine. Aktuelle Aufgaben, beispielsweise statistische Analysen großer Datenmengen sind aber wahre RAM-Fresser. Passt der Entwickler nicht auf wie ein Schießhund, fängt der Rechner an Daten in sein virtuelles Memory, also auf die ultralahme Festplatte auszulagern. Zudem beschwört der virtuelle Speicher weitere Probleme mit der Software herauf, das Threading gerät ins stolpern. Das Ganze läuft so langsam, dass mit dem Tempoverlust auch das Vertrauen in die Ergebnisse verloren geht. Vielleicht hat der Entwickler sogar aufgepasst, aber sein Endanwender der Software hat nur einen Rechner mit lediglich 6 GByte RAM. Dann bleibt nur noch der stereotype Satz: Bei mir lief das ohne Probleme.Punkt 4: NP-Complete. Wer Informatik studiert hat, hat von diesem Acronym schon einmal gehört. Es wird selten komplett ausgesprochen: Nondeterministic Polynomial Complete. Schon der Name lässt viele erschauern. Es geht um Probleme, wie den Travelling Salesman. Eine Routenberechnung, die mit jedem Zwischenstopp problematischer wird. Nachdem sich die Studenten ein Semester lang damit beschäftigt haben, sind sie zu einer nebligen Vorstellung davon gelangt, dass niemand diese Probleme wirklich lösen kann. Das Gemeine: Manche NP-Probleme lassen sich einfach lösen – per Annäherung ohne Versprechen, dass es nicht noch besser ginge.Punkt 5: Sicherheit. Beim Schreiben von jeder Zeile Code sollte man heute die Sicherheit im Hinterkopf haben. Aber nur die bekannten Schwachstellen kann man im Auge behalten. Es gibt Schwachstellen, die erst nächste Woche bekannt werden und womöglich auch noch welche, die niemals ans Licht der Öffentlichkeit kommen. Zudem arbeitet jede Software mit vielen anderen Programmen zusammen. Kein Entwickler kann es den Security-Spezialisten überlassen, hinter ihm aufzuräumen.Punkt 6: Verschlüsselung. Das Wort Encryption klingt stark und unüberwindbar. Hinter den Kulissen lauert aber eine neblige Wolke der Ungewissheit. Selbst die Mathe-Profis gestehen einen Rest unsicherer Annahmen ein. Und Hand aufs Herz: Wenn Sie einen Weg gefunden hätten, von jeder Bank Geld abzuheben, würden Sie sofort die Welt informieren, dass die Lücke baldmöglichst geschlossen wird?Punkt 7: Identitätsmanagement. Dazu gibt es einen bekannten Cartoon. Er zeigt zwei Hunde vor einem Computer. Der eine guckt fragend, der andere beruhigt ihn, indem er sagt: "Im Internet weiß niemand, dass wir Hunde sind."Den kompletten englischsprachigen Beitrag von dem hier nur ein kleiner Teil sehr frei übersetzt wurde finden Sie unter http://www.infoworld.com/article/3138572/application-development/the-7-most-vexing-problems-in-programming.html. [bl]
Miscellaneous

Neueste Beiträge

SQLite: Wenn weniger mehr ist - SQLite für .NET-Entwickler, Teil 1
Für Entwicklerteams, die jeden Tag mit der Komplexität von Kubernetes, Cloud-Datenbanken und Terraform-Skripten ringen, liegt der eigentliche Gewinn von SQLite in der architektonischen Vereinfachung.
6 Minuten
SignalRC und Ping - Der DDC-Truck, Teil 10
Wie schnell ist die Verbindung zwischen Browser und Fahrzeug eigentlich?
9 Minuten
26. Mär 2026
00:00
MCP: Der USB-C-Stecker für Deine KI-App - Model Context Protocol auf der DWX
Jonah Andersson bringt es auf den Punkt: Das Model Context Protocol ist kein Hype-Buzzword, sondern eine echte Hilfe für .NET-Entwickler:innen. Wer MCP richtig einsetzt, spart sich aufwändige Integrationsarbeit – und behält trotzdem die Kontrolle über die eigene Business-Logik.
7. Apr 2026

Das könnte Dich auch interessieren

PolyCoder: Quelloffener KI-Code-Generator - Carnegie Mellon University
PolyCoder ist ein quelloffener KI-Code-Generator, der mit 249 GByte Daten in zwölf Programmiersprachen trainiert wurde und laut Forschern C-Code mit großer Genauigkeit verfasst.
2 Minuten
15. Mär 2022
Elektronische Schaltkreise im Browser simulieren - Simulation
Statt mit Steckfeld oder Lötkolben kann man auf dieser Website Schaltungen per Drag and Drop zusammenstellen und deren Verhalten testen.
2 Minuten
26. Jul 2018
00:00
DDD, Schulden und KI: Was Entwickler:innen heute wirklich wissen müssen - Interview
Domain-Driven Design klingt in der Theorie überzeugend – in der Praxis schleichen sich aber immer wieder die gleichen Fehler ein. Dr. Carola Lilienthal erklärt, wo DDD-Projekte stolpern, wie man technische Schulden unter Kontrolle hält und welche Fähigkeiten Tech Leads im KI-Zeitalter brauchen.
24. Mär 2026
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige