Turing Tarpit

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Dieser Artikel wurde zur Löschung vorgeschlagen.

Falls du Autor des Artikels bist, lies dir bitte durch, was ein Löschantrag bedeutet, und entferne diesen Hinweis nicht.
Zur Löschdiskussion

Begründung: Der Begriff wurde von einem Autor erfunden, um eine theoretische Konstellation prägnant zu benennen (die im übrigen in der Praxis nie vorhanden sein wird), eine disziplinübergreifende Verwendung wird hier aber nicht nachgewiesen. -- WMS.Nemo (Diskussion) 20:08, 15. Okt. 2024 (CEST)

Ein Turing Tarpit bzw. Turing tar-pit (dt. Turing-Teergrube) ist eine informelle Bezeichnung für eine Programmiersprache oder eine Schnittstelle, die zwei der markantesten Merkmale der universellen Turingmaschine aufweist: Sie ist hochflexibel, aber schwer zu bedienen, da dem Benutzer nur sehr wenige Möglichkeiten zur Verfügung stehen[1], also in der Lage, jede berechenbare Funktion zu implementieren, wie es die Turing-Vollständigkeit definiert, aber in der Praxis extrem schwierig und unpraktisch zu verwenden ist. Der Begriff wurde im Jahre 1982 durch den Informatiker Alan J. Perlis geprägt, der in seinen Epigrams on Programming schrieb „54. Beware of the Turing Tarpit in which everything is possible but nothing of interest is easy."[2] Ein Turing Tarpit illustriert das Spannungsverhältnis zwischen theoretischer Mächtigkeit und praktischer Nutzbarkeit: Nur weil ein System theoretisch alles lösen kann, bedeutet das nicht, dass es auch praktisch ist, es für echte Probleme zu verwenden.

  • Universell berechenbar: Eine solche Sprache kann theoretisch alles berechnen, was eine Turing-Maschine berechnen kann.
  • Extreme Einfachheit: Die Sprachkonstrukte sind so minimalistisch, dass der Code zwar in der Theorie mächtig ist, aber extrem komplex und schwer lesbar wird, wenn man versucht, reale Probleme zu lösen.
  • Fehlende Abstraktionen: Turing Tarpits bieten in der Regel wenig oder keine höheren Abstraktionen, was bedeutet, dass Programmierer viele Details selbst verwalten müssen, was zu fehleranfälligem Code führt.
  • Unnatürliche Syntax: Die Syntax dieser Sprachen ist oft unintuitiv und schwer zu lesen, was das Schreiben und Verstehen von Programmen erschwert.

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. B. Jack Copeland, Jonathan Bowen, Mark Sprevak, Robin Wilson: The Turing Guide. Oxford University Press, 2017, ISBN 978-0-19-874782-6 (google.de [abgerufen am 3. Oktober 2024]).
  2. Alan J. Perlis: Special Feature: Epigrams on programming. In: SIGPLAN Not. Band 17, Nr. 9, 1. September 1982, ISSN 0362-1340, S. 7–13, doi:10.1145/947955.1083808 (acm.org [abgerufen am 3. Oktober 2024]).