Grundlagen der Programmierung, Abstraktion Referenz Synthese, ARS-basierte Programmierung, Verallgemeinerung des Lambda-Kalküls


Grundlagen der Programmierung einfach und mächtig

Die Grundlagen der Programmierung, die Programmierung als solche, steht im Mittelpunkt dieser Web-Seite und nicht die Ausprägung der Programmierung in irgendeiner Sprache.

Abstraktion Referenz Synthese

Die Grundlagen der Programmierung, wie sie hier dargelegt werden, basieren auf drei einfachen, aus dem Lambda-Kalkül hergeleiteten, Begriffen, nämlich auf: Abstraktion Referenz Synthese. Auf diesem Fundament wird ein System aufgebaut, das nicht an bestimmte Programmiersprachen oder Paradigmen der Programmierung gebunden ist.

Dieses System kann als Basis für die Programmierung in den meisten Programmiersprachen dienen. Das Buch Programmierung pur zeigt dies auf für die Programmierung in Scheme, Java, Python, C++ und C.

Die Unabhängigkeit von Paradigmen der Programmierung zeigt sich darin, dass diese Grundlagen der Programmierung hinführen zur Funktionalen Programmierung, zur Objekt-orientierten Programmierung und zur Imperativen Programmierung. Auch dies wird in Programmierung pur im Detail erläutert.

In dieser Programmierung, die als ARS-basierte Programmierung bezeichnet wird, geht es darum, das Denken von dem komplexen Regelwerk einer konkreten Programmiersprache zu befreien und hinzuführen zu einfacheren, umfassenderen und mächtigeren Denkmustern.

Verallgemeinerung des Lambda-Kalküls

Die Prinzipien Abstraktion Referenz Synthese, die in dem Akronym ARS zusammengefaßt sind und den hier vorgestellten Grundlagen der Programmierung ein sicheres Fundament geben, stellen eine Verallgemeinerung des Lambda-Kalküls dar.In ARS ist der Begriff Abstraktion definiert als 'etwas einen Namen geben'. Hinter dem Namen verbergen sich alle Details des Definierten. Eine solche allgemeine Namensvergabe setzt eine explizite Namensdefinition voraus.

Im Lambda-Kalkül dagegen ist eine explizite Vergabe eines Namens für eine Lambda-Abstraktion bei deren Bildung nicht vorgesehen. Dort erfolgt eine Namensvergabe nur implizit bei einer Synthese von Lambda-Abstraktionen

Die Auswirkung dieses zunächst als klein erscheinenden Unterschiedes sind gewaltig: Während ein Ausbau das Lambda-Kalküls immer in die Funktionalen Programmiersprachen mündet, können mit ARS allgemeine Muster der Programmierung definiert werden, die sowohl auf die Funktionale Programmierung wie auch auf die Objekt-orientierte und die Imperative Programmierung angewandt werden können. In dem Buch Programmierung pur werden diese Prinzipien der Programmierung nicht nur im Detail behandelt, sondern auch demonstriert, wie sie auf die Programmierung in fünf populären Programmiersprachen angewandt werden können.Mit Hilfe von vier großen Fallstudien wird in Programmierung pur der Bezug zur Praxis sichergestellt.

ARS-basierte Programmierung

Die Programmierung auf der Basis von ARS, so wie sie in dem Buch Programmierung pur beschrieben ist, mündet in ARSAPI und ARS++.

ARSAPI, das Application Programmer's Interface von ARS, ist eine Zusammenfassung der ARS-basierten Programmierung in Java, C++ und C.

ARS++ steht für 'ars + scheme + extensions' und stellt die Implementierung einer mit ARS voll-kompatiblen Scheme-Version in C dar.
Diese Scheme-Version ist 'properly tail-recursive' und unterstützt 'full continuations'. ARS++ besteht aus AVIM, einer virtuellen Maschine für den Scheme-Dialekt 'arsip' und dem Compiler ACOMP. Der Compiler übersetzt Code, der in dem Scheme-Dialekt ARS++ geschrieben ist, in den Code der virtuellen Maschine AVIM. Diese virtuelle Maschine, ist nach dem Vorbild der von J. Landin erfundenen SECD-Maschine konzipiert, jedoch nicht mit dem LispKit, einer anderen Implementierung einer SECD-Maschine, zu verwechseln.

Bezüglich weiterer Details sei auf die Home-Page dieser Domäne verwiesen:



Startseite
domain access counter
(c) Copyright 2005 lambda-bound.com