Newton-Schrift

NewtonScript ist gestützte Programmiersprache eines Prototyps, die geschaffen ist, um Programme für die Plattform von Newton zu schreiben. Es ist schwer unter Einfluss Selbst Programmiersprache, aber modifiziert, um zu Bedürfnissen nach beweglichen und eingebetteten Geräten mehr passend zu sein.

Geschichte

Traditionelle Computer, mindestens in der Tischrolle, haben zwei Weisen; "auf" und "von". Wenn man sich von einer Weise bis den anderen bewegt, wird der Staat der Maschine auswendig verloren und verlangt, dass ein manchmal langer "Stiefel"-Prozess die Maschine in "auf" dem Staat zurückgibt. Das genügt für ein Typ-Gerät PDA nicht, wo der Benutzer annimmt, dass die Maschine fast sofort verfügbar ist, um schnelle Zeichen abzunehmen. Und doch kann auf einer Maschine für keine Zeitdauer auch verlassen werden, weil das die Batterie zu viel dränieren würde, um es nützlich zu machen, um ringsherum zu tragen.

In der Newton-Plattform hatte das System zwei Staaten, die mehr "auf" und "das Schlafen" ähnlich gewesen sind. Wenn das Bewegen zum Schlafen feststellt, dass das Gedächtnis nicht verloren wurde und stattdessen das System einfach aufgehört hat, am Inhalt des Gedächtnisses zu arbeiten, das viele der Chips innen berücksichtigt hat, um abgedreht zu werden. Dieses sehr verlängerte Batterieleben, hat doch der Maschine erlaubt, auf fast sofort zurückzukehren.

Mit dem Hauptgedächtnis, das immer wird bewahrt, wird das System viel verantwortlicher, um als ein beharrlicher Gegenstand-Laden zu verwenden. Viele objektorientierte Systeme, wie Plausch, basieren auf einer ständig laufenden Gegenstand-Welt (bekannt als ein Image oder, wenn gespart, als eine Plattendatei, ein Schnellschuss), so ist das Verwenden der Plattform von Newton mit einem objektorientierten System ziemlich natürlich geschienen.

Die Entwickler haben dann begonnen, nach Sprachen zu suchen, um auf dem System zu verwenden. Die Newton-Plattform war ursprünglich dabei, auf der neuen Programmiersprache von Dylan programmiert zu werden, aber eine lange Reihe von Verzögerungen, die mit dem "Syndrom verbunden sind, "Nicht Erfunden Hier"" hat dazu schließlich geführt aufgegeben zu werden. Die Mannschaften hatten auf Selbst geschaut und haben sich sehr dafür interessiert, aber zurzeit Selbst war zum wirklichen Gebrauch noch nicht bereit.

Das Ergebnis war eine modifizierte Version Selbst bekannt als NewtonScript. Geschrieben in erster Linie von Walter Smith war die Sprache ein Teil des Werkzeuges von Newton, das zusammen mit dem ersten Gerät von Newton (der Apple MessagePad) am 3. August 1993 eingeführt ist.

Einer der Vorteile des gestützten Erbes des Prototyps von NewtonScript war reduzierter Speichergebrauch, eine Schlüsselrücksicht in den 128 Kilobytes Newton. Der Prototyp eines GUI-Gegenstands konnte wirklich im ROM versorgt werden, also gab es kein Bedürfnis, Verzug-Daten oder Funktionen ins Arbeitsgedächtnis zu kopieren. Zum Beispiel könnte ein Entwickler ein neues Knopf-Beispiel schaffen. Wenn der Knopf die Verzug-Schriftart verwendet, auf seine Schriftart "Ablagefach" zugreifend (d. h., Eigentum oder Mitglied-Variable) einen Wert zurückgeben wird, der wirklich im ROM versorgt wird; das Knopf-Beispiel im RAM hat keinen Wert in seinem eigenen Schriftart-Ablagefach, so wird der Prototyp-Erbe-Kette gefolgt, bis ein Wert gefunden wird. Wenn der Entwickler dann die Schriftart des Knopfs ändert, wird das Setzen seines Schriftart-Ablagefaches zu einem neuen Wert den Prototyp überreiten; das überreitet Wert wird im RAM versorgt. Das "Differenzialerbe von NewtonScript" hat deshalb effizienten Gebrauch des teuren Blitz-RAM von Newton durch die Speicherung des Hauptteils der Verzug-Daten und des Codes im preiswerteren und viel größeren ROM des PDA gemacht.

NewtonScript dagegen. Selbst

Änderungen wurden in erster Linie auf drei wahrgenommene Probleme mit Selbst gerichtet.

Man ist das das typische Selbst Schnellschuss verlangt, dass 32 Mb des RAM darin laufen, wohingegen die Plattform von Newton entworfen wurde, um nur 128 Kilobytes für das Betriebssystem zu verwenden. Das hat verlangt, dass etwas ernstes Schälen unten des Motors es lassen hat, passen und noch Zimmer für Anwendungen haben.

Ein anderes Problem war Leistung. Da die Sprache für das komplette System im Vergleich mit gerade dem Laufen auf einem vorhandenen Betriebssystem verwendet würde, musste es so schnell wie möglich laufen.

Schließlich das Erbe-System im normalen Selbst hatte Motor einen einzelnen Elternteilgegenstand, wohingegen GUIs normalerweise zwei — ein für die Gegenstände und einen anderen für das GUI Lay-Out haben, das normalerweise über die Hinzufügung eines Ablagefaches in einer Art GUI-Hierarchie-Gegenstand (wie Ansicht) behandelt wird.

Die Syntax wurde auch modifiziert, um einen mehr textbasierten Programmierstil im Vergleich mit dem weit verbreiteten Gebrauch von Self einer GUI Umgebung für die Programmierung zu erlauben. Das hat Programmen von Newton erlaubt, auf einem Computer entwickelt zu werden, der das Werkzeug führt, wo die Programme kompiliert und dann zu einem Gerät von Newton für das Laufen heruntergeladen würden.

Jedoch hat das auch dazu geführt, was allgemein als der ernsteste Fehler des Systems betrachtet wird. Seitdem der Code über eine Plattform und Lauf auf einem anderen geschrieben wurde, war es praktisch unmöglich die Fehler zu beseitigen. Besser hätte der die Fehler beseitigende Code im Motor von Newton geholfen, dieses Problem zu einem gewissen Grad auszugleichen, aber das beschränkte Gedächtnis hat das schwierig gemacht. Stattdessen würde der Entwickler eine vage Anzeige zusammen mit einem Fehlercode ohne jede Fähigkeit bekommen, es zu Linien im ursprünglichen Code zu vergleichen. Jedoch bestehen Softwarepakete, um Programmen von Newton zu erlauben, über das Gerät von Newton selbst geschrieben zu werden.

Vermächtnis

NewtonScript ist auch einer der Begriffsvorfahren (zusammen mit dem Plausch, Selbst, Act1, Lisp und Lua) von einer kürzlich geschaffenen Mehrzweckprogrammiersprache genannt Io. NewtonScript verwendet ein Erbe-Modell genannt Differenzialerbe, wo nur die Unterschiede mit seinem Elternteilprototyp in einer Liste von Eigenschaften (bekannt als Ablagefächer in Io) versorgt werden. Das ist eine sehr nützliche Eigenschaft für quellengezwungene Systeme. Die Io Sprache führt dasselbe Differenzialerbe-Modell durch.

Das Prototyp-basierte Gegenstand-Modell Selbst und NewtonScript wurde in JavaScript, die populärste und sichtbare Sprache verwendet, um das Konzept bis jetzt zu verwenden.

Links


Papst Theodore I / Einzigartiges factorization Gebiet
Impressum & Datenschutz