Wohlbefinden (Programmiersprache)

Wohlbefinden ist eine Programmiersprache, die ursprünglich von Robert Craig von Schneller Aufstellungssoftware in Toronto geschaffen ist. Am Anfang entwickelt (obwohl nicht öffentlich veröffentlicht) auf Atari ST war die erste kommerzielle Ausgabe für die 16-Bit-Plattform von Microsoft MS-DOS und war Eigentums-. 2006 (mit der Ausgabe der Version 3) ist Wohlbefinden offene Quelle geworden, und die openEuphoria Gruppe setzt fort, das Projekt zu verwalten und zu entwickeln. Im Dezember 2010 hat die openEuphoria Gruppe Version 4 von openEuphoria zusammen mit einer neuen Identität und Glücksbringer für das Projekt veröffentlicht. OpenEuphoria ist für Windows von Microsoft, Linux, OS X und drei Geschmäcke nach *BSD zurzeit verfügbar.

Wohlbefinden ist eine interpretierte befehlende/verfahrensrechtliche Mehrzwecksprache auf höchster Ebene. Ein Übersetzer erzeugt C Quellcode und den GCC, und Offene Watcom Bearbeiter werden unterstützt. Wechselweise können Wohlbefinden-Programme mit dem Dolmetscher verpflichtet werden, eigenständigen executables zu schaffen. Mehrere GUI Bibliotheken werden einschließlich Win32lib und Streifbänder für wxWidgets, GTK + und IUP unterstützt. Wohlbefinden hat eine einfache eingebaute Datenbank und Streifbänder für eine Vielfalt anderer Datenbanken.

Übersicht

Die Wohlbefinden-Sprache ist ein allgemeiner Zweck Verfahrenssprache, die sich auf Einfachheit, Leserlichkeit, schnelle Entwicklung und Leistung konzentriert.

: Einfachheit

:: - Die Sprache verwendet gerade vier eingebaute Datentypen (sieh unten)

:: - Automatische Müll-Sammlung wird durchgeführt.

: Leserlichkeit

:: - Die Syntax bevorzugt einfache englische Schlüsselwörter über den Gebrauch der Zeichensetzung, um Konstruktionen zu skizzieren.

: Schnelle Entwicklung

:: - Wohlbefinden wird interpretiert, um prototyping und zusätzliche Entwicklung zu fördern.

: Leistung

:: - Wohlbefinden vereinigt einen effizienten bezugsaufzählenden Müllmann, der richtig zyklische Verweisungen behandelt.

Geschichte

Entwickelt als ein persönliches Projekt, eine Programmiersprache von Kratzer zu erfinden, wurde Wohlbefinden von Robert Craig auf Atari MegasT geschaffen. Viele Designideen für die Sprache sind aus der These des Masters von Craig in der Informatik an der Universität Torontos gekommen. Die These von Craig war schwer unter Einfluss der Arbeit von John Backus auf Sprachen der funktionellen Programmierung (FP).

Craig hat seine ursprüngliche Durchführung von Atari zur 16-Bit-Plattform von Microsoft MS-DOS getragen, und Wohlbefinden wurde zuerst (Version 1.0) im Juli 1993 laut einer Eigentumslizenz veröffentlicht. Die ursprüngliche Durchführung von Atari wird von Craig als "primitiv" beschrieben und ist nicht öffentlich veröffentlicht worden. Wohlbefinden hat fortgesetzt, entwickelt und von Craig über seine Gesellschaft Rapid Deployment Software (RDS) und Website rapideuphoria.com veröffentlicht zu werden. Im Oktober 2006 hat RDS Version 3 des Wohlbefindens veröffentlicht und hat bekannt gegeben, dass künftig Wohlbefinden laut einer offenen Quelllizenz frei verteilt würde.

RDS hat fortgesetzt, Wohlbefinden zu entwickeln, mit der Ausgabe der Version 3.1.1 im August 2007 kulminierend. Nachher hat RDS einseitige Entwicklung des Wohlbefindens aufgehört, und die openEuhporia Gruppe hat andauernde Entwicklung übernommen. Die openEuphoria Gruppe hat Version 4 im Dezember 2010 zusammen mit einem neuen Firmenzeichen und Glücksbringer für das OpenEuphoria-Projekt veröffentlicht.

Version 3.1.1 bleibt eine wichtige Meilenstein-Ausgabe, die die letzte Version des Wohlbefindens ist, das die Plattform von Microsoft MS-DOS unterstützt.

Wohlbefinden ist ein Akronym für den "Endbenutzer, der mit Hierarchischen Gegenständen für Robuste Interpretierte Anwendungen Programmiert", obwohl es etwas Verdacht gibt, dass das ein backronym ist.

Der Wohlbefinden-Sprachdolmetscher wurde in C ursprünglich geschrieben. Mit der Ausgabe der Version 2.5 im November 2004 wurde der Wohlbefinden-Dolmetscher in zwei Abteilungen gespalten: das Vorderende parser und der Zurückende-Dolmetscher. Das Vorderende (der auch mit dem Euphoria-to-C Übersetzer und dem Binder verwendet wird) wird jetzt im Wohlbefinden geschrieben. Die Hauptzurückende- und Durchlaufzeit-Bibliothek wird in C geschrieben.

Eigenschaften

Wohlbefinden wurde konzipiert und mit den folgenden Designabsichten und Eigenschaften entwickelt:

  • Bequemlichkeit des Lernens und mit konsequenten Konstruktionen auf höchster Ebene (mehr als z.B die GRUNDLEGENDE Sprache)
  • Die Durchführung des 32-Bit-Gedächtnisses der flachen Form, um kompliziertes Speichermanagement und Größe/Wenden zu vermeiden, beschränkt
  • Das Beseitigen bei Unterstützung und Laufzeitfehlerberühren
  • Subschrift und Datentypprüfung
  • Lose und strenge Variable, die tippt
  • Die Programmierung über Gegenstände als Typen (benutzerbestimmt oder sonst)
  • Interpretiert, mit dem automatischen Speichermanagement und der Müll-Sammlung
  • Heterogene Sammlungstypen (Folgen)
  • DOS-Grafikbibliothek (Wohlbefinden-Sprachversionen bis zu und einschließlich 3.1.1)
  • Testhilfeprogramm
  • Einheitliches Datenbanksystem
  • Auf niedriger Stufe Gedächtnis, das behandelt
  • Aufrichtige Verpackung (oder Zugang zu) C Bibliotheken

Ausführungsweisen

  • Dolmetscher
  • C Übersetzer (E2C) für eigenständigen executables oder dynamische Verbindung
  • Bearbeiter von Bytecode und Dolmetscher (shrouder)
  • Der Binder verpflichtet den Wohlbefinden-Quellcode dem Dolmetscher, einen rechtskräftigen zu schaffen.
  • Eine REPL Version ist auf dem openEuphoria Fahrplan.

Verwenden

Wohlbefinden wird entworfen, um das Berühren von dynamischen Sammlungen von Daten von unterschiedlichen Typen sogleich zu erleichtern, und ist für die Schnur und Bildverarbeitung besonders nützlich. Wohlbefinden ist in Experimenten der künstlichen Intelligenz, der Studie der Mathematik verwendet worden, um Programmierung zu unterrichten, und Schriftarten durchzuführen, die Tausende von Charakteren einschließen. Ein großer Teil des Wohlbefinden-Dolmetschers wird im Wohlbefinden geschrieben.

Datentypen

Wohlbefinden hat zwei grundlegende Datentypen:

Atom: Eine Zahl, durchgeführt als 31 Bit hat ganze Zahl oder einen IEEE 64-Bit-Schwimmpunkt unterzeichnet. Wohlbefinden ändert sich dynamisch zwischen der ganzen Zahl und Punkt-Darstellung gemäß dem aktuellen Wert schwimmen lassend.

Folge: Ein Vektor (Reihe) mit der Null oder mehr Elementen. Jedes Element kann ein Atom oder eine andere Folge sein. Die Zahl der Elemente in einer Folge wird nicht bestochen (d. h. die Größe des Vektoren/Reihe muss nicht erklärt werden). Das Programm kann hinzufügen oder Elemente, wie erforderlich, während der Durchlaufzeit entfernen. Gedächtnis allocation/deallocation wird durch das Bezugszählen automatisch behandelt. In individuellen Elementen wird mit einem in eckigen Klammern eingeschlossenen Index-Wert Verweise angebracht. Das erste Element in einer Folge hat einen Index ein (1). In Elementen innerhalb von eingebetteten Folgen wird durch zusätzliche bracked Index-Werte Verweise angebracht, so X [3] [2] bezieht sich auf das zweite Element, das in der Folge enthalten ist, die das dritte Element X ist. Jedes Element einer Folge ist eine Objektart (sieh unten).

Wohlbefinden hat zwei zusätzliche vorherbestimmte Datentypen:

ganze Zahl: Ein Atom, das auf 31 Bit eingeschränkt ist, hat Werte der ganzen Zahl in der Reihe-1073741824 zu 1073741823 (-2^30 zu 2^30-1) unterzeichnet. Datentypen der ganzen Zahl sind effizienter als die Atom-Datentypen, aber können denselben Wertbereich nicht enthalten. Charaktere werden versorgt, weil ganze Zahlen, z.B ASCII-'A codierend', genau dasselbe als das Codieren 65 sind.

Gegenstand: Ein allgemeiner datatype, der einigen der obengenannten (d. h. Atom, Folge oder ganze Zahl) enthalten kann, und der zu einem anderen Typ während der Durchlaufzeit geändert werden kann.

Es gibt keinen Charakter-Schnur-Datentyp. Schnuren werden durch eine Folge von Werten der ganzen Zahl vertreten. Jedoch, weil wörtliche Schnuren in der Programmierung so allgemein verwendet werden, dolmetscht Wohlbefinden Anführungszeichen hat Charaktere als eine Folge von ganzen Zahlen eingeschlossen. So

wird gesehen, als ob der Codierer geschrieben hatte:

der dasselbe als ist:

Hallo Welt

Beispiele

Zeichen: Anmerkungen fangen mit einer doppelten Spur an "-" und gehen das Ende der Linie durch.

Der folgende Code sucht nach einem alten Artikel in einer Gruppe von Sachen. Wenn gefunden, entfernt es es durch das Verketten aller Elemente davor mit allen Elementen danach. Bemerken Sie, dass das erste Element in einer Folge den Index einen (1) hat, und dass sich $ auf die Länge (d. h. Gesamtzahl von Elementen) der Folge bezieht.

delete_item (alt, Gruppe)

pos

pos = (alt, Gruppe)

pos> 0

Gruppe = Gruppe [1.. Pos-1] & Gruppe [pos+1.. $]

geben Sie </Schriftart> Gruppe zurück

Die folgende Modifizierung zum obengenannten Beispiel ersetzt einen alten Artikel durch einen neuen Artikel. Da die Variablen alt und neu als Gegenstände definiert worden sind, konnten sie Atome oder Folgen sein. Datentypprüfung ist nicht erforderlich, wie die Funktion mit jeder Folge von Daten jedes Typs arbeiten wird und keine Außenbibliotheken verlangt.

replace_item (alt, neu, Gruppe)

pos pos = (alt, Gruppe) pos> 0

Gruppe [pos] = neuer

geben Sie </Schriftart> Gruppe zurück

Außerdem werden keine Zeigestöcke beteiligt, und Subschriften werden automatisch überprüft. So kann die Funktion nicht auf Gedächtnis aus zugreifen. Es gibt kein Bedürfnis zuzuteilen oder deallocate Gedächtnis ausführlich und keine Chance einer Speicherleckstelle.

Die Linie

Shows einige der Folge-Berühren-Möglichkeiten. Eine Folge kann eine Sammlung irgendwelcher Typen enthalten, und das kann aufgeschnitten (um eine Teilmenge der Daten in einer Folge zu nehmen), und in Ausdrücken ohne Bedürfnis nach speziellen Funktionen verkettet werden.

Parameter-Übergang

Argumente für Routinen werden immer durch den Wert passiert; es gibt keine Vorbeigehen-Verweisungsmöglichkeit. Jedoch wird Rahmen erlaubt, lokal modifiziert zu werden (d. h. innerhalb des callee), der sehr effizient durchgeführt wird, weil Folgen automatische copy-write Semantik haben. Mit anderen Worten, wenn Sie eine Folge zu einer Routine passieren, am Anfang wird nur eine Verweisung darauf passiert, aber am Punkt modifiziert die Routine diesen Folge-Parameter die Folge wird kopiert, und die Routine aktualisiert nur eine Kopie des Originals.

Vergleichbare Sprachen

Links

Kostenlose Downloads des Wohlbefindens für die verschiedenen Plattformen, Pakete, Windows IDE, Windows-API-Bibliotheken, ein GTK + Streifband für Linux, Grafikbibliotheken (DOS, OpenGL, usw.).

,

Source is a modification of the Wikipedia article Euphoria (programming language), licensed under CC-BY-SA. Full list of contributors here.
Erlang (Programmiersprache) / Energie
Impressum & Datenschutz