Newspeak (programming language)

Newspeak is a programming language and platform in the tradition of Smalltalk and Self being developed by a team led by Gilad Bracha. The platform includes an IDE, a GUI library, and standard libraries.[1] Starting in 2006, Cadence Design Systems funded its development and employed the main contributors, but ceased funding in January 2009.[2]

Newspeak
Paradigmobject-oriented, functional
Designed byGilad Bracha
DeveloperGilad Bracha, Peter von der Ahé, Vassili Bykov, Yaron Kashai, Ryan Macnak, William Maddox, Eliot Miranda
First appeared2006
Stable release
Prototype / February 2013
Typing disciplinedynamic, optional
LicenseApache License
Websitenewspeaklanguage.org
Influenced by
Smalltalk, Self, BETA, Nineteen Eighty-Four

Newspeak is a class based language. Classes may be nested, as in BETA. This is one of the key differences between Newspeak and Smalltalk. All names in Newspeak are late-bound, and are interpreted as message sends, as in Self.

Newspeak is distinguished by its unusual approach to modularity.[3] The language has no global namespace. Top level classes act as module declarations. Module declarations are first class values (i.e., they may be stored in variables, passed as parameters, returned from methods, etc.) and are stateless.

Identity

The name "Newspeak" is inspired by the Newspeak language appearing in George Orwell's dystopian novel Nineteen Eighty-Four. The heading on the programming language's website says "It's doubleplusgood". The motivation for the name is that Orwell's Newspeak language grew smaller with every revision;[4] Bracha views this as a desirable goal for a programming language.

The language icon is supposed to be Big Brother's eye, as seen in page 3 of the documentation.

It should not be confused with the safety critical programming language of the same name designed by Ian Currie of RSRE in 1984 for use with the VIPER microprocessor. Its principal characteristic was that all exceptional behaviour in programs must be dealt with at compile time.[5][6]

"Hello World" example

Hello world program:

HelloBraveNewWorld usingPlatform: platform = ( 
 platform Transcript open show: 'Hello, Oh Brave new world'. 
)
gollark: Doing so...
gollark: WHYYYYYYYYYy does trying to recognize text involve me having to debug ridiculously convoluted errors in several stages of preprocessing code with documentation and issues in *Chinese*?
gollark: Wait, is this literally parsing Python AST? Wow.
gollark: That's not true. You do want to name them. I checked.
gollark: Yes you do.

References

  1. Gilad Bracha, Peter Ahe, Vassil Bykov, Yaron Kashai and Eliot Miranda. The Newspeak Programming Platform.
  2. Bracha, Gilad (2008-11-24). "Room 101: We have Good news, and we have Bad news". Room 101: A place to be (re)educated in Newspeak. Google Blogger. Retrieved 2009-09-21.
  3. Gilad Bracha, Peter Ahe, Vassili Bykov, Yaron Kashai, William Maddox and Eliot Miranda. Modules as Objects in Newspeak. In the Proceedings of the 24th European Conference on Object Oriented Programming, Maribor, Slovenia, June 21–25, 2010.
  4. Software Engineering Radio Episode 140: Newspeak and Pluggable Types With Gilad Bracha/
  5. Currie, I.F. (July 1986). "NewSpeak: an unexceptional language". Software Engineering Journal. 1 (4): 170–176. doi:10.1049/sej.1986.0027. ISSN 0268-6961.
  6. Cullyer, W.J. (2012-12-06). "Implementing Safety Critical Systems: The VIPER Micropocessor". VLSI Specification, Verification and Synthesis. By Birtwistle, Graham; Subrahmanyam, P. A. p. 16-17. ISBN 9781461320074.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.