Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Stefan Reuther Newsgroups: de.alt.folklore.computer Subject: Re: Epische Computer-Fails Date: Sun, 25 Aug 2024 10:07:55 +0200 Lines: 29 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: individual.net 45UkW4zI3Q3ZjOEa/t+2qQuczxW+sC1BN3xjjUbU43/PnpnG2W Cancel-Lock: sha1:YK7ZTig392/0tukMqwvJNxsHx5M= sha256:lUOlnOMkcktB2SNyS+d9ZrMC+802rNn5Fym9zfj9Q5o= User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.12.1 Hamster/2.1.0.1538 In-Reply-To: Xref: csiph.com de.alt.folklore.computer:45730 Am 24.08.2024 um 14:22 schrieb Arno Welzel: > Christian Weisgerber, 2024-08-23 20:34: > [...] >> Ist eine Unterscheidung zwischen Daten und Programm theoretisch >> überhaupt möglich? Wenn Daten die Ausführung eines Programms >> beeinflussen, sind sie dann nicht auch Programm? Was sagt die >> theoretische Informatik dazu? > > Ich würde es so beschreiben: > > "Programm" ist alles, was zur Laufzeit nicht verändert werden muss, um > die Ausführung zu ermöglichen. Definiere "verändern". Zumindest bei on-topic'nen Systemen hat man auch mal selbstmodifizierenden Code benutzt. In meinem frühen Programmierleben war das: im Bresenham-Algorithmus für die Schritte entlang der Achsen die 'inc'- bzw. 'dec'-Instruktionen tauschen. Und bei aktuellen Systemen gibt es den dynamischen Lader, der beim Programmstart die Bibliotheksadressen patcht. Das ist einer der Gründe, warum auch heute noch Teile des Programmsegments modifizierbar sind. Die theoretische Informatik sagt also vermutlich: du hast eine von-Neumann-Maschine, die unterscheidet nicht zwischen Programm und Daten. Stefan