Viewpoints Research Institute
Encyclopedia
Started by Alan Kay
Alan Kay
Alan Curtis Kay is an American computer scientist, known for his early pioneering work on object-oriented programming and windowing graphical user interface design, and for coining the phrase, "The best way to predict the future is to invent it."He is the president of the Viewpoints Research...

, Viewpoints Research Institute (VPRI) is a nonprofit public benefit organization incorporated in 2001 to improve "powerful ideas education" for the world's children and to advance the state of systems research and personal computing. Many of the institute's themes co-evolved with the inventions of networked personal computers, graphical user interfaces and dynamic object-oriented programming.

Its globally dispersed research group comes from a tradition of whole systems design developed by ARPA in the sixties and Xerox PARC in the seventies. Its ideology is motivated by user-centered systems design. Using this vantage point, the group invents computing technologies, content, curriculum, graphical user interfaces (GUIs), programming languages, implementation systems and processor and memory structures.

Projects

The Viewpoints Research Institute has produced, contributed to, or maintained several pieces of software. These include:

Etoys (programming language)
EToys (Programming Language)
Etoys is a child-friendly computer environment and object-oriented prototype-based programming language for use in education.Etoys is a media-rich authoring environment with a scripted object model for many different objects that runs on different platforms and is free and open source.- Brief...

 A fully programmable graphical environment written in Smalltalk
Smalltalk
Smalltalk is an object-oriented, dynamically typed, reflective programming language. Smalltalk was created as the language to underpin the "new world" of computing exemplified by "human–computer symbiosis." It was designed and created in part for educational use, more so for constructionist...

, to help teach programming to children

TileScript An interactive JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

 programming environment

ChalkBoard An interactive, online document writing environment

COLA (software architecture)
COLA (software architecture)
COLA stands for Combined Object Lambda Architecture, and is a system for experimenting with software design currently being investigated by the Viewpoints Research Institute...

 An attempt to produce a scalable, self-describing, Self-hosting
Self-hosting
The term self-hosting was coined to refer to the use of a computer program as part of the toolchain or operating system that produces new versions of that same program—for example, a compiler that can compile its own source code. Self-hosting software is commonplace on personal computers and larger...

, extensible software architecture in the (conceptually) simplest way possible.

JOHN A Goal-oriented programming language

Jitblt A Digital compositing
Digital compositing
Digital compositing is the process of digitally assembling multiple images to make a final image, typically for print, motion pictures or screen display...

 engine using Just-in-time compilation
Just-in-time compilation
In computing, just-in-time compilation , also known as dynamic translation, is a method to improve the runtime performance of computer programs. Historically, computer programs had two modes of runtime operation, either interpreted or static compilation...



OMeta A generalisation of Parsing expression grammar
Parsing expression grammar
A parsing expression grammar, or PEG, is a type of analytic formal grammar, i.e. it describes a formal language in terms of a set of rules for recognizing strings in the language...

s which allow arbitrary input and can be extended in an object-oriented way

Mico An interactive Scalable Vector Graphics
Scalable Vector Graphics
Scalable Vector Graphics is a family of specifications of an XML-based file format for describing two-dimensional vector graphics, both static and dynamic . The SVG specification is an open standard that has been under development by the World Wide Web Consortium since 1999.SVG images and their...

 viewer

LYSP A tiny implementation of Lisp (programming language)
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK