ISWIM

ISWIM

ISWIM ist eine von Peter J. Landin konzipierte Programmiersprache und eine Abkürzung von »If you See What I Mean«.

Landin stellte seine Ideen auf einer Konferenz im August 1965 vor. Dieser Vortrag wurde unter dem Titel The Next 700 Programming Languages in den Communications veröffentlicht und übte unterschwellig einen großen Einfluss auf spätere Entwicklungen aus, ja er übertraf nach Reynolds gar den von Algol 60.

Der Titel spielt auf die damals gezählten 700 Anwendungsfelder an, für die bereits 1700 Programmiersprachen existierten. Alle diese Sprachen unterschieden sich in vielen Details – auch in den Teilen, die nicht mit ihrem Anwendungsgebiet zu tun hatten. Nun hatte man durch Algol 60 gerade die Nützlichkeit einer klaren Struktur kennengelernt und verwandte es deshalb gerne auch für Anwendungen, für die es nicht entworfen worden war.

Landin (1965) hatte den applikativen Kern in Algol 60 beschrieben. Nun ging er umgekehrt von diesem Kern, also einem ungetypten λ-Kalkül aus. Das Ziel ist es, diesen Kern so weit wie möglich anwendbar zu machen. Eine Konsequenz ist die Freigabe der Auswertungsreihenfolge, die bei der imperativen Programmierung bekanntlich mehr als logisch nötig festgelegt wird.

Nicht angesprochen in Landins Vortrag wurde die Frage, wie ISWIM hätte erweitert werden können; er spricht allerdings von 700 Programmiersprachen und nicht von einer Programmiersprache mit 700 Erweiterungsmodulen. Tatsächlich scheint diese Frage auch erst später intensiver untersucht worden zu sein.

Ebenfalls vorausgesetzt und nicht näher diskutiert wurden die imperativen Ergänzungen.

Die Darstellung der Quelltext-Blockstruktur mittels Einrückung (Offside-Rule, Abseitsregel) in ISWIM wurde von einigen später entwickelten Programmiersprachen übernommen. Beispielsweise implementieren Haskell, Occam und Python die Abseitsregel.

Literatur

Peter J. Landin:

  • A correspondance between ALGOL 60 and Church's Lambda-notation. Communication of the ACM 8, 89–101; 158–165 (1965)
  • The Next 700 Programming Languages Communications of the ACM, 9, 157–166 (1966). — enthält auch Diskussion Ersatzlink (1,15 MB)

Sekundärliteratur:


Wikimedia Foundation.

Игры ⚽ Поможем написать курсовую

Schlagen Sie auch in anderen Wörterbüchern nach:

  • ISWIM — Класс языка: строгая, функциональная Появился в: 1966 Типизация данных: динамическая Повлиял на: SASL, ML ISWIM  абстрактный язык программирования (или семейство языков программ …   Википедия

  • ISWIM — es una notación algorítmica en el estilo de un lenguaje de programación diseñada por Peter J. Landin y descrita por primera vez en su artículo, Los próximos 700 lenguajes de programación, publicado en la revista Communications of the ACM, en 1966 …   Wikipedia Español

  • ISWIM — es una notación algorítmica en el estilo de un lenguaje de programación diseñada por Peter J. Landin y descrita por primera vez en su artículo, Los próximos 700 lenguajes de programación, publicado en la revista Communications of the ACM, en 1966 …   Enciclopedia Universal

  • ISWIM — Infobox programming language name = ISWIM paradigm = imperative, functional year = 1966 designer = Peter J. Landin developer = latest release version = latest release date = latest test version = latest test date = typing = implementations =… …   Wikipedia

  • ISWIM — ● ►en np. m. ● 1. ►LANG If you See What I Mean. Langage de programmation. ● 2. ►IRC If you See What I Mean. Si tu vois ce que je veux dire …   Dictionnaire d'informatique francophone

  • ALGOL 60 — Die Programmiersprache Algol 60 wurde von 1958–1963 unter der Führung der Association for Computing Machinery (ACM) und der Gesellschaft für Angewandte Mathematik und Mechanik (GAMM), später dann der International Federation for Information… …   Deutsch Wikipedia

  • Generation language — Quelltext eines Programms in der objektorientierten Programmiersprache Ruby. Eine Programmiersprache ist eine Notation für Computerprogramme; sie dient sowohl dazu, diese während und nach ihrer Entwicklung (Programmierung) darzustellen als auch… …   Deutsch Wikipedia

  • ML (programming language) — ML Paradigm(s) multi paradigm: imperative, functional Appeared in 1973 Designed by Robin Milner others at the University of Edinburgh Typing discipline static, strong, inferred …   Wikipedia

  • SASL (programming language) — Infobox programming language name = SASL paradigm = functional year = 1972 designer = David Turner developer = latest release version = latest release date = latest test version = latest test date = typing = implementations = dialects =… …   Wikipedia

  • Algol 60 — Die Programmiersprache Algol 60 wurde 1958–1963 unter der Führung der Association for Computing Machinery (ACM) und der Gesellschaft für Angewandte Mathematik und Mechanik (GAMM), später dann der International Federation for Information… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”