Allzweck-Programmiersprache
Eine Allzweck-Programmiersprache (englisch General-purpose programming language, kurz GPL, auch „Mehrzweck-“ oder „Universalsprache“) ist eine Programmiersprache, die für viele Anwendungsfälle bzw. Problemstellungen einsetzbar ist.<ref></ref><ref>What is a General-purpose Language? Abgerufen am 4. April 2019 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> Allzweck-Programmiersprachen sind Turing-vollständig, theoretisch kann mit ihnen jedes berechenbare Problem gelöst werden. Im Gegensatz zu Allzweck-Programmiersprachen sind domänenspezifische Sprachen (DSLs) für effiziente Lösungen in speziellen Problembereichen entworfen.<ref name="Kosar2010"></ref>
Vorteile
Mit einer Allzweck-Programmiersprache lassen sich in vielen Anwendungsbereichen Probleme lösen. Der Programmierer hat ein hohes Maß an Freiheit und kann bereits bekanntes Wissen erneut einsetzen.<ref name="Kosar2010" /> Außerdem besitzen Allzweck-Programmiersprachen mächtige Abstraktionsmechanismen wie Funktionen, Klassen, Module usw.
Nachteile
Zu lösende Probleme müssen in die „komplizierte“ Welt der verwendeten Programmiersprache umgesetzt werden. Dies gestaltet sich insbesondere dann schwierig, wenn komplexe Fachgebiete einander überschneiden. So muss der Programmierer das Problem, das häufig nicht sein Fachgebiet ist, erst verstehen, bevor er es in Programmcode umsetzen kann. Das daraus entstehende Programm ist für außenstehende Programmierer meist schwer zu verstehen und erfordert mehr Einarbeitungszeit. Eine mögliche Lösung hierfür bieten domänenspezifische Sprachen.<ref name="Kosar2010" />
Beispiele
Die am häufigsten genutzten Allzweck-Programmiersprachen sind laut TIOBE-Index:<ref>TIOBE Index for August 2024. In: tiobe.com. Archiviert vom Vorlage:IconExternal am 5. August 2024; abgerufen am 7. September 2024 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>
Stand: August 2024
Literatur
- Jason Sanders/Kandrot: CUDA by Example: An Introduction to General-Purpose GPU Programming, Addison-Wesley Professional, 2010
Einzelnachweise
<references />