Softwareentwicklung
17.07.2024, 09:11 Uhr
Visuelle Programmierung: Ein Neuanfang mit praxisnahen Ansätzen
Traditionelle visuelle Programmierumgebungen finden kaum Anwendung in der professionellen Softwareentwicklung. Ein neuer Ansatz, der sich auf die tatsächlichen Visualisierungsbedürfnisse von Entwicklern konzentriert, könnte dies ändern.
![](/img/1/7/6/3/1/5/7/workflow2_w580_h208.jpg)
(Quelle: dotnetpro)
Visuelle Programmierung hat bisher nicht den erhofften Durchbruch in der professionellen Softwareentwicklung geschafft. Laut einer aktuellen Analyse von Sebastian Bensusan liegt dies daran, dass die meisten visuellen Programmierumgebungen versuchen, Codesyntax und Geschäftslogik zu ersetzen – Bereiche, die erfahrene Entwickler bereits effizient in textueller Form beherrschen.
Bensusan argumentiert, dass der Schlüssel zum Erfolg visueller Programmierung darin liegt, sich auf Aspekte zu konzentrieren, die Entwickler tatsächlich visualisieren möchten. Dazu gehören:
1. Zustandsübergänge in State Machines
2. Speicherlayouts
3. Netzwerkanfragen und -topologien
4. Codebasis-Visualisierungen
5. Protokollabläufe in Swimlane-Diagrammen
Diese Bereiche sind oft implizit und schwer zu verstehen, weshalb Entwickler häufig auf selbst erstellte Visualisierungen zurückgreifen. Bensusan betont, dass diese Visualisierungen meist ad hoc erstellt und selten in Standard-Workflows integriert werden.
Als positive Beispiele für erfolgreiche Integrationen nennt er den DOM-Element-Inspektor, Flamegraphs in Profilern und SQL-Tabellendiagramme. Er argumentiert, dass ähnliche Visualisierungstools für andere Aspekte der Softwareentwicklung einen erheblichen Mehrwert bieten könnten.
Bensusan schlägt vor, dass Entwickler von Visualisierungstools sich auf diese praxisnahen Bereiche konzentrieren sollten, anstatt zu versuchen, den gesamten Programmierprozess zu visualisieren. Er sieht grosses Potenzial in der automatischen Generierung solcher Visualisierungen aus bestehenden Codebasen, Typdefinitionen oder Testsuiten.
Dieser Ansatz könnte nicht nur die Produktivität und das Verständnis in komplexen Softwareprojekten verbessern, sondern auch den lang ersehnten Durchbruch für visuelle Programmierung in professionellen Entwicklungsumgebungen bedeuten.