Synthese von objektorientiertem und funktionalem Design zur Förderung der Wiederverwendung

2025-09-09

Dieser ECOOP-Artikel von 1998 befasst sich mit der Herausforderung, sowohl Werkzeuge als auch Datentypen in sich entwickelnden Programmen zu erweitern, indem die Stärken der objektorientierten und der funktionalen Programmierung kombiniert werden. Traditionelle Ansätze haben Schwierigkeiten, beides zu unterstützen: Funktionale Programmierung zeichnet sich durch das Hinzufügen von Werkzeugen aus, während objektorientierte Programmierung sich durch das Hinzufügen neuer Werkzeuge oder das Erweitern von Datensätzen auszeichnet, aber nicht beides gleichzeitig. Der Artikel schlägt ein zusammengesetztes Designmuster vor, das das Beste aus beiden Ansätzen verbindet, und schlägt neue sprachliche Funktionen für klassenbasierte Sprachen vor, um Erweiterbarkeit zu erreichen, ohne den bestehenden Code zu ändern.

Mehr lesen
Entwicklung

Teilen ist beängstigend: Der unerwartete Zusammenhang zwischen Cloud-Dateifreigabe und Programmiersprachensemantik

2025-09-03

Benutzer haben häufig Probleme mit Cloud-Dateifreigaben. Diese Studie argumentiert, dass diese Schwierigkeiten nicht nur auf schlechte Benutzeroberflächen zurückzuführen sind, sondern auch auf ein grundlegendes Missverständnis der zugrundeliegenden Semantik von Aktionen wie Verknüpfen, Anhängen, Herunterladen und Bearbeiten – was die Herausforderungen bei der Erfassung von Programmierkonzepten wie Aliasing, Kopieren und Mutagenese widerspiegelt. Eine Benutzerstudie zeigt weit verbreitete Missverständnisse, indem bekannte Missverständnisse aus der Programmierausbildung auf ähnliche Dateifreigabeaufgaben abgebildet werden. Die Forscher haben auch eine formale Semantik von Cloud-Dateifreigabeoperationen entwickelt, die eine Grundlage für verbesserte mentale Modelle, Lehrwerkzeuge und automatisierte Unterstützung bietet. Diese Formalisierung kann Anwendungen wie Trace-Checking und Workflow-Synthese unterstützen.

Mehr lesen