Plankalkül was an attempt by Konrad Zuse in the 1940's to devise a notational and conceptual system for writing what today is termed a program. Although this early approach to a programming language did not lead to practical use, the plan is described here because it contains features that are standard in today's programming languages. The investigation is of historical interest; also, it may provide insights that would lead to advancements in the state of the art. Using modern programming terminology, the Plankalkül is presented to the extent it has been possible to reconstruct it from the published literature.
Vorwort zur ersten AuflageIm Titel dieses Buches steht ALGORITHMISCHE SPRACHE, im Singular. Dahinter steckt die Grundidee, nicht die Vielfalt der Programmiersprachen anzusprechen, sondern das sie umfassende Gemeinsame. Als geeignete Richtschnur erwies sich dabei die Aufgabenstellung der formalen Programmentwicklung. Sie erlaubt eine Einordnung der Konzepte und hebt fundamentale Begriffe von notationellen Spielarten (features) ab. Damit ergibt sich unmittelbar eine Systematik des Aufbaus. Didaktische, praktische und theoretische Gesichtspunkte sprechen für dieses Vorgehen. Es ist bemerkenswert, wie klar die Struktur einer nach den Prinzipien der Programmtransformation aufgebauten Sprache ausfällt.Natürlich gibt es verschiedene Notationen für eine solche Sprache. Die im Buch verwendete Notation ist grundsätzlich an ALGOL 68 orientiert, aber auch stark von PAS-CAL beeinflußt -es hätte auch anders herum sein können. In Anhängen sind gelegentlich Hinweise auf die in ALGOL, PASCAL, LISP und anderswo verwendeten Schreibweisen gegeben.Der Aufbau des Buches zeigt eine klare Dreiteilung: die ersten vier Kapitel konzentrieren sich auf die Ebene der "applikativen" Formulierung, gekennzeichnet durch die Funktionsanwendung als beherrschendes Sprachelement -unter Einbeziehung von Problemspezifikationen. Der Übergang auf die durch das Auftreten von Programmvariablen charakterisierte Ebene der "prozeduralen" Formulierung wird in Kap. 4 motiviert und in Kap. 5 und 6 durchgeführt. Die Weiterentwicklung führt in Kap. 7 auf Begriffe, die insbesondere in der Systemprogrammierung für heutige Maschinen von Bedeutung sind: organisierte Speicher, Zeiger und Geflechte; charakteristisch für diese Ebene ist eine gewisse Verselbständigung von Variablen und Zeigern als Objekten.Die Übergänge zwischen diesen Ebenen sind durch definierende Transformationen beschrieben. Allgemein fassen wir den gesamten Programmierprozeß als Kette von Programmtransformationen auf; die einzelnen Klassen von Transformationsregeln erweisen sich dabei auch didaktisch als vorzügliches Gliederungsmittel.Die erwähnte Dreiteilung ist grundlegend. Die Abgrenzung "applikativ" gegen "prozedural" hat sich durchgesetzt, die Vorteile applikativer Programmierung erklären den relativen Erfolg von LISP und APL.Es kann hier allerdings nicht darum gehen, sich ins eine oder ins andere Lager zu schlagen. Der erfahrene Programmierer muß beide Stile und den Übergang zwischen ihnen be-VIII Vorwort herrschen. Bedeutsam ist auch die Abgrenzung der dritten Ebene, der Ebene der verselbständigten Variablen und Zeiger. Der vergleichsweise geringe Umfang von Kap. 7 bedeutet einerseits, daß die Beschreibung sich auf Grundsätzliches beschränkt, dem sich viele aus der Literatur der Systemprogrammierung bekannte Einzelheiten unterordnen, beispielsweise aus D. E. Knuth's ,The Art of Computer Programming' oder G. Seegmüllers ,Einführung in die Systemprogrammierung' , andererseits aber auch, daß die Vervollständigung der theoretischen Grundlagen noch aussteht.Zu den einzelnen Abschnitten dieses Buche...
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.