ABC (Programmiersprache)

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
ABC
Paradigmen: Multiparadigmen-Programmiersprachen: imperative Programmierung, prozedurale Programmierung, strukturierte Programmierung
Designer: Leo Geurts, Lambert Meertens, Steven Pemberton
Entwickler: CWI
Aktuelle Version: 1.05.02  ()
Typisierung: Starke Typisierung, Polymorphie
Beeinflusst von: SETL & Algol 68[1]
Beeinflusste: Python

ABC ist eine imperative Allzweck-Programmiersprache und Entwicklungsumgebung, die von Leo Geurts, Lambert Meertens und Steven Pemberton bei CWI, in den Niederlanden, entwickelt wurde. Die Programmiersprache ist interaktiv, strukturiert, hochrangig und soll anstelle von BASIC, Pascal oder AWK verwendet werden. Sie wurde jedoch nicht entwickelt um eine System-Programmiersprache zu sein, sondern um das Unterrichten oder Prototyping zu fördern.

Die Sprache hatte einen großen Einfluss auf das Design der Python-Programmiersprache (als Gegenbeispiel); Guido van Rossum, der Python entwickelte, arbeitete zuvor bereits seit einigen Jahren auf dem ABC-System (anfangs der 80er Jahre)[2][3][4].

Funktionen[Bearbeiten | Quelltext bearbeiten]

Die Entwickler der Programmiersprache behaupten, dass ABC-Programme nur rund ein Viertel der Größe eines entsprechenden Pascal- oder C-Programm einnehmen würden und des Weiteren besser lesbar seien. Einige Hauptmerkmale der Programmiersprache sind:

  • Nur fünf Grunddatentypen
  • Variablen müssen nicht deklariert werden
  • Explizite Unterstützung für Top-Down-Programmierung.
  • Unendliche Präzisionsarithmetik, unbegrenzte Listen und Strings und andere Merkmale, die Orthogonalität und Benutzerfreundlichkeit von Anfänger unterstützen

ABC war ursprünglich eine monolithische Implementierung, was dazu führte, dass es nicht möglich war sich an neue Anforderungen anzupassen, wie beispielsweise das Erstellen einer grafischen Benutzeroberfläche. Des Weiteren konnte ABC nicht direkt auf das zugrunde liegende Dateisystem und Betriebssystem zugreifen.

Das vollständige ABC-System umfasst eine Programmierumgebung mit syntaxgesteuerter Bearbeitung, Vorschlägen, persistenten Variablen und mehreren Arbeitsbereichen - und ist als Interpreter / Compiler aktuell (mit Version 1.05.02) auf Unix, DOS, Atari und Apple verfügbar.

Beispiel[Bearbeiten | Quelltext bearbeiten]

Eine Beispielfunktion, um die Menge aller Wörter in einem Dokument zu sammeln:

1 PUT {} IN collection
2   FOR line IN document:
3      FOR word IN split line:
4         IF word not.in collection:
5         INSERT word IN collection
6   RETURN collection

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. "He was clearly influenced by Algol 68's philosophy of providing constructs that can be combined in many different ways to produce all sorts of different data structures or ways of structuring a program." - Guido van Rossum Federico Biancuzzi, Shane Warden: Masterminds of Programming: Conversations with the Creators of Major Programming Languages. Hrsg.: O'Reilly Media. 2009, ISBN 0-596-51517-0, S. 32 (Google Books [abgerufen am 14. Dezember 2009]).
  2. Federico Biancuzzi: Masterminds of Programming: Conversations with the Creators of Major Programming Languages. ISBN 0-596-51517-0, S. 32.
  3. Computerworld Australia - The leading source of technology news, analysis and tools for IT decision makers, managers and professionals. Abgerufen am 13. März 2017.
  4. Bruce Stewart: An Interview with Guido van Rossum - O'Reilly Media. Abgerufen am 13. März 2017.