Studium, Ausbildung und Beruf

web uni-protokolle.de
 powered by
NachrichtenLexikonProtokolleBücherForenDonnerstag, 23. Oktober 2014 

Aplusplus


Dieser Artikel von Wikipedia ist u.U. veraltet. Die neue Version gibt es hier.
A++ ist eine Programmiersprache deren Minimalismus kaum zu übertreffen ist. Ihr einziger ist es an der Programmierung Interessierten zu helfen so schnell und wie nur möglich das Wesentliche der Programmierung erfassen.

Inhaltsverzeichnis

Wesen und Zweck

Ein zur Verfügung gestellter Interpreter soll dabei behilflich sein das Gelernte und zu testen.

In keiner der in einführenden Kursen benutzten Programmiersprachen werden Lernende gezwungen sich mit Wesentlichen der Programmierung so intensiv auseinanderzusetzen wie A++.

Der Vorteil dieses rigorosen Vorgehens besteht darin dass kurzer Zeit Denkmuster eingeübt werden die einen sich müheloser in die großen populären Programmiersprachen und in diesen in kurzer Zeit produktiv werden.

Ursprung

A++ ist aus dem Lambda-Kalkül von Alonzo Church entstanden.

Der Name A++ ist eine Abkürzung Abstraktion plus Referenz plus Synthese. Hiermit werden drei Prinzipien von A++ benannt die gleichzeitig einziger Inhalt sind.

Diese Prinzipien stellen eine Verallgemeinerung der des Lambda-Kalküls dar.

Verallgemeinerung des Lambda-Kalküls

Ausgehend von den Grundoperationen des Lambda-Kalküls wir durch einen Schritt der Verallgemeinerung zu drei Primitivoperationen von A++.

Der Schritt der Verallgemeinerung besteht darin den Primitivoperationen von A++ jedwede Einschränkung genommen

  • Abstraktion: Etwas einen Namen geben
  • Referenz: Auf etwas mit seinem Namen Bezug
  • Synthese: Aus zwei oder mehr Dingen etwas erzeugen

In A++ ist im Begriff der Abstraktion eine explizite Namensvergabe an jeder beliebigen in einem Programm erlaubt.

Im Lambda-Kalkül dagegen ist nur eine Namensvergabe im Zusammenhang mit einer Synthese von vorgesehen.

Die Auswirkungen dieses zunächst als klein erscheinenden Unterschiedes gewaltig:

  • Während ein Ausbau des Lambda-Kalküls immer die Funktionalen Programmiersprachen mündet
  • können in A++ alle drei Programmierstile Ausdruck gebracht werden nämlich der funktionale der und der imperative Programmierstil.

Konstitutive Prinzipien

Abstraktion Referenz und Synthese als Begriffe den sprachlichen Strukturelementen und den Grundoperationen in

Zu den konstitutiven Prinzipien d.h. den die A++ wesentlich zu dem machen was ist gehören außerdem noch die Begriffe "Closure" "Lexical Scope".

  • Abstraktion
  • Referenz
  • Synthese
  • Closure
  • Lexical Scope

Weitere Eigenschaften

Elementarteilchen der Programmierung
In A++ werden die Elementarteilchen der Programmierung reinster Form sichtbar gemacht. Man kann sie studieren und den richtigen Umgang mit ihnen
Programmierung wird vereinfacht
Energien die in den meisten Sprachen für Beherrschung und das Einhalten der Syntax aufgebracht müssen kommen in A++ der wichtigeren Aufgabe der logischen Bewältigung des zu lösenden Problems zugute.
A++ bietet Denkmuster an
Das Denken wird aus den Niederungen des komplexen Regelwerks einer bestimmten Programmiersprache herausgeholt und heraufgehoben auf die Höhen einfacheren umfassenderen und deshalb mächtigeren Denkens.

Zusammenfassung der Eigenschaften von A++

  • konstitutive Prinzipien von A++:
    • ARS (grundlegende Operationen):
      • Abstraktion
      • Referenz
      • Synthese
    • Lexical Scope
    • Closure
  • unterstützte Paradigmen der Programmierung:
    • funktionale Programmierung
      • (das Schreiben von auszuwertenden Ausdrücken)
    • objekt-orientierte Programmierung
      • (das Senden von Botschaften an Objekte)
    • imperative programming
      • (das Schreiben von auszuführenden Anweisungen) einschließlich der strukturierten Programmierung .
    • logische Programmierung
      • (regel-basierte Programmierung) (hier empfiehlt sich jedoch ARS++ !)
  • aus ARS direkt abgeleitete Eigenschaften:
    • logische Abstraktionen
      • (true false if not and or)
    • numerische Abstraktionen
      • (natural numbers zerop succ pred add sub mult)
    • relationale Abstraktionen
      • (equalp gtp ltp gep)
    • Rekursion
    • die Erzeugung und Verarbeitung von Listen
      • (cons car cdr nil nullp llength remove assoc)
    • Funktionen höherer Ordnung
      • (compose curry map mapc map2 filter locate
    • Mengenoperationen
      • (memberp union addelt)
    • iterative Programmstruktur ('while')
    • Entwicklung von Anwendungen wie einfache Kontenverwaltung und Bibliotheksverwaltung .

Weblinks

Siehe auch: ARS-basierte Programmierung ARS++ ARSAPI Programmiersprachen zu Ausbildungszwecken



Bücher zum Thema Aplusplus

Dieser Artikel von Wikipedia unterliegt der GNU FDL.

ImpressumLesezeichen setzenSeite versendenSeite drucken

HTML-Code zum Verweis auf diese Seite:
<a href="http://www.uni-protokolle.de/Lexikon/Aplusplus.html">Aplusplus </a>