Avatar von Bitschnipser
  • Bitschnipser

mehr als 1000 Beiträge seit 14.01.2016

Re: "alles andere empfinden sie bedrohlich" - das ich nicht lache, sinnlos ist d

Nalathni schrieb am 13.06.2018 10:52:

Wenn eine Programmiersprache keine Rekursion kann, schreibt man keinen Quicksort.

Prinzipiell geht das schon auch mit Sprachen, die keine Rekursion unterstützen, nur nicht so einfach. Statt der Rekursion bedient man sich einer Schleife, benötigt dann aber noch einen eigenen Stack als lokale Variable für die Werte, die man ansonsten dem rekursiven Aufruf mitgegeben hätte und die auf dem Call-Stack gelandet wären.

Natürlich.
Aber ein Fortran-Programmierer würde gar nicht erst auf die Idee kommen. Zu umständlich. Man müsste dem Kollegen zu viel erklären. In einer Sprache ohne Rekursion ist jede Funktion an einem bestimmten Platz in der Aufrufhierarchie, lokale Variablen existieren jeweils nur ein einziges Mal (d.h. man braucht für sie keinen Stack). Man bewegt sich mental in einer ganz anderen Welt.

Trotzdem (oder deswegen) ist es natürlich gut, dass heutzutage Rekursion von praktisch jeder gängigen Sprache unterstützt wird.

Natürlich, aber darum geht's nicht.
Es ging mir darum, ein leicht verständliches Beispiel dafür zu bringen, wie tiefgreifend die verfügbaren Sprachmittel das Denken prägen können.

Man kann bestehende (Programmier-) Sprachen nicht grundlegend verbessern.

Prinzipiell gebe ich Dir recht. Aber manchmal geht das schon, etwa weil das neue Konzept sich zufällig gut mit den bereits in der vorhandenen Sprache verankerten verträgt. Das klappt natürlich nicht immer, und es gibt etliche Negativbeispiele, das stimmt.

Ich kenne kein einziges Beispiel, wo es wirklich geklappt hat.
Außer vielleicht PHP... da fällt es nicht auf, wenn schlechtes Design hineinkommt.
Aber sonst? Da musste man gegenüber der Grundidee immer Abstriche hinnehmen.

Bewerten
- +