Everything2
Near Matches
Ignore Exact
Full Text
Everything2

NewtonScript

created by papercyborg

(thing) by papercyborg (3.2 d) (print)   ?   1 C! I like it! Mon May 16 2005 at 8:46:07

NewtonScript is a prototype-based programming language similar to Self. It was designed by Walter Smith specifically for Apple's Newton MessagePad. Despite running on a platform with only 128K of RAM, NewtonScript supports many modern language features such as exceptions and garbage collection.

The concept of object is a bit different in NewtonScript than in other languages, such as smalltalk. Everything in NewtonScript is technically an object, but only objects of type "frame" have properties (slots), receive messages, and inherit from other frames.

As a prototype-based language, NewtonScript inheritance also differs from classical object-oriented inheritance. Every frame has a "prototype," which is referenced in the "_proto" slot (slots in NewtonScript are analogous to instance variables in other languages). If you attempt to access a slot that does not exist, the frame will delegate to its prototype.

Frames may also have a "parent," referenced in the "_parent" slot. This second way of inheritance is designed to facilitate hierarchies of user interface elements; a button might have its _parent set to a toolbar, which would then have a _parent of the main view.

NewtonScript's prototype-based nature lends itself very well to GUI programming. In an object-oriented language, making objects like buttons with different behaviors is a tedious ordeal. Either every kind of UI widget needs a different class, or each widget ends up delegating to a huge controller object, existing solely to perform UI actions. NewtonScript avoids this problem by removing classes altogether; just set the ButtonClickScript of your button to whatever function you need, or change the viewBounds slot to the new dimensions of your widget.

This language died with the Newton OS, and nobody except crazy wackos like me writes anything in it anymore. If you're still interested, go get yourself a MessagePad from ebay and download the NewtonDev archive from UNNA (http://www.unna.org/view.php?/development/NewtonDev). This archive includes a development environment for the Macintosh along with a bunch of excellent documentation.


printable version
chaos

Newton OS MessagePad JavaScript programming language
Smalltalk February 27, 2005 prototype Newton
self Ajax D Node your Code: The Everything Engine in Action
Bascule Cocoa eBay
Y'know, if you log in, you can write something here, or contact authors directly on the site. Create a New User if you don't already have an account.
  Epicenter
Login
Password

password reminder
register

Everything2 Help

Cool Staff Picks
Look at this mess the Death Borg made!
I'm scared to run the program I wrote
Protocols of the Meetings of the Learned Elders of Zion
Henry VIII
peanut
Ten reasons to believe in God
Harrison Ford
Math is hard
Dane Cook
India
Earth
Salmagundi
Jainism
false friend
New Writeups
WolfKeeper
Launch loop(idea)
TendoKing
Katana(person)
Wuukiee
Highly ornamental cultivars of brambles still have as many thorns as their wild counterparts(idea)
TheDeadGuy
Editor Log: May 2008(log)
everyday j.Lo
pray do not molest them(thing)
ammie
Bands Who Take Their Names from Eighteenth-century English Poetry and Prose(idea)
shaogo
Under My Thumb(review)
ammie
Rock On(person)
The Custodian
The Dresden Files(thing)
Ouzo
PETA becomes you, a proposed future(fiction)
Ereneta
Stone Soup, Part Two(fiction)
jjen
Sorrier than I ever thought I would be(personal)
locke baron
Moskva class antisubmarine cruiser(thing)
Wuukiee
May 15, 2008(idea)
locke baron
Kuznetsov class aircraft carrier(thing)
This page courtesy of The Everything Development Company