Project Description

In this Project, I have created a WWW page containing information about the NewtonScript Programming language and a simple Java applet

What is NewtonScript ?

NewtonScript, developed for the Apple Newton PDA platform, is a prototype-based programming language. Rather than two levels of abstraction, class and object, there is just one, the object. Major design goals of the language were small memory consumption of the created programs and the ability to easily program graphical user interfaces. Both are well met by prototype-based languages. A third design goal, good learnability, was attained by an easy syntax.

NewtonScript in a Nutshell:

The Apple Newton MessagePad was introduced into the market on August 3, 1993. With the Message Pad the former Pepsi manager and then CEO of Apple Computer, John Sculley coined the term Personal Digital Assistant, or PDA, which is the common term today for a small handheld computer to perform personal organisation tasks like note taking, scheduling, and communication. The Newton has a built-in handwriting recognition capability that allows to recognize almost natural handwriting anywhere in the screen area. The original Message Pad had a 20 MHz Acorn Risc Machine (ARM) 610 processor, 640 KB RAM and 4 MB ROM. The RAM was further divided up into system RAM of 482 KB and only 158 KB available to programs for their code and data. Heap space was only 50 KB. These memory constraints had a big influence on the design of NewtonScript, the main application language for the Newton. The language was designed by Walter R. Smith who also wrote the interpreter and the compiler for NewtonScript and parts of the Newton's operating system. The language design was influenced by LISP and SELF, a prototype-based language developed at Stanford university and published in 1988. NewtonScript is like SELF prototype-based. Rather than two different layers of abstraction, classes and objects, found in class-based languages like Eiffel or C++, prototype-based languages only have objects. Functions are treated as objects as well, and can be assigned to variables or passed as function parameters. This plus the fact that all statements return a value gives NewtonScript a little bit of a functional aspect. The influence of LISP is obvious here. NewtonScript is as default compiled into byte code and executed by an interpreter, though compiling NewtonScript to native code is possible at a per-function granularity and recommended for performance-critical program parts. NewtonScript, like most dynamic languages, has a built-in garbage collection, thus freeing object storage space explicitly is not necessary.

Objectives of NewtonScript:

NewtonScript : Summary


Example_Program