Aviva Directory » Computers & Internet » Programming » Newspeak

Newspeak is an object-capability programming platform that lets you develop code in your web browser.

As the entire Newspeak IDE runs locally in the browser, it can be run on a desktop computer, tablet computer, or smartphone.

Newspeak is a highly dynamic and reflective programming language that supports both object-oriented and functional programming paradigms. It is designed to support modularity and security, and is message-based, with all names dynamically bound.

Newspeak is an object-capability programming platform that allows for code to be developed in a web browser, so it can run on any platform that supports a web browser.

It is a reflective, live system that allows programmers to create interactive narratives via live, literate programming.

Newspeak is a virtual class-based language that uses classes rather than prototypes. Classes may nest, and, because class names are late bound, all classes are virtual, every class can act as a mixin, and class hierarchy inheritance falls out automatically. Top-level classes are essentially self-contained parametric namespaces and serve to define component-style modules, which naturally define sandboxes in an object-capability style.

Designed by Gilad Bracha, the language was developed by Bracha, Peter von der Ahé, Vassili Bykov, Yaron Kashai, Ryan Macnak, William Maddox, and Eliot Miranda at Cadence Design Systems in 2006.

The language's name was inspired by "Nineteen Eighty-Four," the dystopian novel by George Orwell. The idea behind its name was that, in Orwell's newspeak, the language grew smaller with each revision. Newspeak's designer considered this to be a desirable goal for a programming language.

Newspeak was influenced by Smalltalk, Self, Beta, and E. Like Smalltalk, Newspeak uses classes rather than prototypes. Like Self, Newspeak is message-based, with all names dynamically bound. Like Beta, Newspeak supports nested classes and late-bound class names. Like E, Newspeak is designed to support modularity and security.

However, Newspeak differs from these languages in several ways. For example, it is a principled, dynamically typed language that is reflective and live. Its reflective, live system allows programmers to create interactive narratives through live, literate programming.

Newspeak is distinguished by its unusual approach to modularity. The language has no global namespace. Top-level classes act as module declarations. Modularity is based exclusively on class nesting. As first-class values, module declarations can be stored in variables, passed as parameters, or returned from methods.

By design, Newspeak lacks undeclared access to a global scope and therefore enforces dependency injection. Consequently, it requires all class dependencies to be explicitly referenced. This makes every class in Newspeak virtual. All names of dependencies in Newspeak are late-bound and interpreted as message sends, as is the case in Self.

While a safety-critical programming language by the same name was released in 1984, the two languages are unrelated.

This portion of our computer programming guide focuses on the Newspeak programming language. Any programming language by that name would be appropriate for this category, which features online resources for the official language website or any repositories or close implementations of Newspeak, as well as IDEs, compilers, or other tools or utilities designed to facilitate programming in Newspeak. Tutorials, developer community websites, forums, and reviews may also be listed here.

 

 

Recommended Resources


Search for Newspeak on Google or Bing