Newspeak (programming language)

Newspeak
Paradigmobject-oriented, functional
FamilySmalltalk: Self
Designed byGilad Bracha
DevelopersGilad Bracha, Peter von der Ahé, Vassili Bykov, Yaron Kashai, Ryan Macnak, William Maddox, Eliot Miranda
First appeared2006; 18 years ago (2006)
Stable release
Prototype / February 2013; 11 years ago (2013-02)
Typing disciplinedynamic, optional
Implementation languageC++, Newspeak, JavaScript
OSWindows 10, macOS, Linux, Android; web browsers
LicenseApache
Websitenewspeaklanguage.org
Major implementations
Primordial Soup
Influenced by
Smalltalk, Self, BETA, E

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

Overview

Newspeak is a class-based and message-based language. Classes may be nested, as in BETA. This is one of the key differences between Newspeak and Smalltalk.

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

By design the newspeak lacks undeclared access to a global scope and therefore enforces dependency injection. As consequence it requires all class dependencies (instance variables referred as by "slots") to be explicitly referenced. This makes every class in Newspeak virtual.[1] All names of dependencies in Newspeak are late-bound (dynamically bound), and are interpreted as message sends, as in Self.

A notable feature of newspeak is its impossibility to directly access instance variables. It's done via automatically generated getters or setters.[1]: 3 

Development

While developed at Cadence Newspeak was used to write its own IDE (compiler, debugger, class browsers, object inspectors, unit testing framework, a mirror based reflection API etc.), a portable GUI tool kit, an object serializer/deserializer, a parser combinator library, a regular expression package, core libraries for collections, streams, strings and files, parts of foreign function interface and CAD application code.[5] The Newspeak platform as a whole took approximately 8 person years of work.[1]: 17 

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 motive for the name is that Orwell's Newspeak language grew smaller with each revision;[6] 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 its compiler would ensure all potential exceptional behaviour is explicitly handled by the program.[7][8]

Implementation

Primordial Soup is a virtual machine (VM) that runs Newspeak binary snapshopts of serialized Newspeak files.[9] Internal Object Representation was inspired by the Dart VM and provides basic VM primitives for the language.[9] It can be compiled by SCons on various platforms.

Example of code

" A declaration of a class Point"
class Point x: i y: j = ( " This section is the instance initializer"
| "slots declarations are always between bars"
  public x ::= i. " ::= denotes slot initialization of a mutable slot"
  public y ::= j.
| )
(
  "A method"
  public printString = (
    ˆ x = , x printString,  y = , y printString
  )
)

"Instantiation of the Point to the `p` slot inside some class"
...
  public p := Point x: 42 y: 91.
...

"Hello World" example

"Hello, World!" program:

HelloBraveNewWorld usingPlatform: platform = ( 
 platform Transcript open show: 'Hello, Oh Brave new world'. 
)

See also

References

  1. ^ a b c d e Bracha, Gilad; von der Ah´, Peter; Bykov, Vassili; Kashai, Yaron; Maddox, William; Miranda, Eliot (June 2010). "Modules as Objects in Newspeak" (PDF).
  2. ^ Gilad Bracha, Peter Ahe, Vassil Bykov, Yaron Kashai and Eliot Miranda. The Newspeak Programming Platform.
  3. ^ 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.
  4. ^ 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.
  5. ^ Bracha, Gilad; Von der Ah, Peter; Bykov, Vassili; Kashai, Yaron; Maddox, William; Miranda, Eliot (May 6, 2008). "The Newspeak Programming Platform". Cadence Design Systems – via Researchgate.
  6. ^ Software Engineering Radio Episode 140: Newspeak and Pluggable Types With Gilad Bracha/
  7. ^ 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.
  8. ^ Cullyer, W.J. (2012-12-06). "Implementing Safety Critical Systems: The VIPER Micropocessor". In Birtwistle, Graham; Subrahmanyam, P. A. (eds.). VLSI Specification, Verification and Synthesis. Springer Publishing. pp. 16–17. ISBN 978-1461320074.
  9. ^ a b Primordial Soup, Ministry of Truth, 2021-12-19, retrieved 2023-05-11

Read other articles:

Alex Wilkinson Wilkinson pada tahun 2009Informasi pribadiNama lengkap Alexander William Wilkinson[1]Tanggal lahir 13 Agustus 1984 (umur 39)Tempat lahir Sydney, AustraliaTinggi 187 cm (6 ft 2 in)Posisi bermain BekInformasi klubKlub saat ini Jeonbuk Hyundai MotorsNomor 18Karier senior*Tahun Tim Tampil (Gol)2002–2004 Northern Spirit 44 (0)2004 Ryde City Gunners 19 (3)2004–2005 Manly United 15 (0)2005–2012 Central Coast Mariners 172 (2)2011 → Jiangsu Sainty (p...

 

 

Duta Besar Amerika Serikat untuk PolandiaSegel Kementerian Dalam Negeri Amerika SerikatDicalonkan olehPresiden Amerika SerikatDitunjuk olehPresidendengan nasehat Senat Berikut ini adalah daftar Duta Besar Amerika Serikat untuk Polandia Daftar Hugh S. Gibson Alfred J. Pearson John B. Stetson Jr. Alexander P. Moore John N. Willys[1] Ferdinand Lammot Mot Belin[2] John Cudahy Anthony Joseph Drexel Biddle Jr. Arthur Bliss Lane Stanton Griffis Waldemar J. Gallman Joseph Flack Joseph...

 

 

Masjid Kara Musa PashaΚαρά Μουσά Πασά ΤζαμίAgamaAfiliasiIslam – SunniProvinsiPulau KretaLokasiLokasiRethimnoNegara YunaniArsitekturTipeMasjidGaya arsitekturTurkiDidirikan1680SpesifikasiKubah1Menara1 Masjid Kara Musa Pasha (bahasa Yunani: Καρά Μουσά Πασά Τζαμί) (bahasa Turki: Kara Musa Paşa Camii) adalah sebuah bangunan bekas masjid bersejarah peninggalan Kesultanan Utsmaniyah yang berada di kota Rethimno, Provinsi Pulau Kreta, Yunani. Masjid ini kem...

For the Die Toten Hosen album, see Crash-Landing (Die Toten Hosen album). This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (July 2019) (Learn how and when to remove this template message) This article possibly...

 

 

List of Pakistani films by year 2009 Cinema of Pakistan List of Pakistani films Pakistani Animation Highest Grossing Pre 1950 1950s 1950 1951 1952 1953 19541955 1956 1957 1958 1959 1960s 1960 1961 1962 1963 19641965 1966 1967 1968 1969 1970s 1970 1971 1972 1973 19741975 1976 1977 1978 1979 1980s 1980 1981 1982 1983 19841985 1986 1987 1988 1989 1990s 1990 1991 1992 1993 19941995 1996 1997 1998 1999 2000s 2000 2001 2002 2003 20042005 2006 2007 2008 2009 2010s 2010 2011 2012 2013 20142015 2016 2...

 

 

American politician This biography of a living person needs additional citations for verification. Please help by adding reliable sources. Contentious material about living persons that is unsourced or poorly sourced must be removed immediately from the article and its talk page, especially if potentially libelous.Find sources: Mike Miller Florida politician – news · newspapers · books · scholar · JSTOR (August 2018) (Learn how and when to remove ...

Voce principale: Law & Order - Unità vittime speciali. Il cast principale durante la ventiduesima stagione: Jamie Gray Hyder (Katriona Kat Tamin), Demore Barnes (Christian Garland), Mariska Hargitay (Olivia Benson), Peter Scanavino (Dominick Sonny Carisi), Ice-T (Odafin Fin Tutuola) e Kelli Giddish (Amanda Rollins) La ventiduesima stagione della serie televisiva Law & Order - Unità vittime speciali, composta da 16 episodi, è stata trasmessa in prima visione negli Stati Uniti d'Ame...

 

 

Scotch whisky distilled on Islay, Scotland Whisky producing regions of Scotland Distilleries on Islay as of 2011 Islay single malts are the single malt Scotch whiskies made on Islay (/ˈaɪlə/ EYE-lə) or Ìle in Gaelic, one of the southernmost of the Inner Hebridean Islands located off the west coast of Scotland. Islay is one of five whisky distilling localities and regions in Scotland whose identity is protected by law.[1] The region is characterised by whiskies with a peat smoke a...

 

 

Member states of the Common Monetary Area (CMA)A Monetary Union The Common Monetary Area (CMA) links South Africa, Namibia, Lesotho and Eswatini into a monetary union. The Southern African Customs Union (SACU) includes all CMA members in addition to Botswana, which replaced the rand with the pula in 1976 as a means of establishing an independent monetary policy. The CMA facilitates trade and promotes economic development between its member states.[1][2] Although the South Afri...

Major natural disaster 2019–20 Australian bushfire seasonClockwise from top left: Sydney's George Street blanketed by smoke in December 2019; Orroral Valley fire seen from Tuggeranong; damaged road sign along Bells Line of Road; Gospers Mountain bushfire; smoke plume viewed from the International Space Station; uncontained bushfire in South West SydneyDate(s)June 2019–May 2020LocationAustraliaStatisticsBurned areaApproximately 243,000 square kilometres[1]ImpactsDeaths34 direct[...

 

 

American politician This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (January 2015) (Learn how and when to remove this message) Charles E. TownsendUnited States Senatorfrom MichiganIn officeMarch 4, 1911 – March 3, 1923Preceded byJulius C. BurrowsSucceeded byWoodbridge N. FerrisMember of the U.S. House of Representativesfrom Michigan's 2n...

 

 

Scottish explorer (1815-1866) This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: John McDouall Stuart – news · newspapers · books · scholar · JSTOR (August 2016) (Learn how and when to remove this message) John McDouall StuartJohn McDouall StuartBorn(1815-09-07)7 September 1815Dysart, Fife, ScotlandDied5 June 1...

Mezzolombardocomune Mezzolombardo – VedutaUna foto di Mezzolombardo scattata dalla Val dei Colleri LocalizzazioneStato Italia Regione Trentino-Alto Adige Provincia Trento AmministrazioneSindacoMichele Dalfovo (lista civica di centro-destra) dal 26-5-2024 TerritorioCoordinate46°12′35″N 11°05′52″E46°12′35″N, 11°05′52″E (Mezzolombardo) Altitudine227 m s.l.m. Superficie13,88 km² Abitanti7 442[1] (31-10-2021) Densità536...

 

 

Untuk kegunaan lain, lihat Boushaki. 36°43′22″N 3°10′22″E / 36.7227018°N 3.1726698°E / 36.7227018; 3.1726698 Yahia Boushaki bahasa Arab: يحي بوسحاقيTifinagh: ⵖⴰⵀⵉⴰ BoⵓⵙⵀⴰⴽⵉYahia Boushaki di Kabylie dan MitidjaKoordinat: Lua error in package.lua at line 80: module 'Module:ISO 3166/data/DZ' not found.NegaraAljazairRegionKabylieProvinsiProvinsi AljirDaerahDar El Beïda DaerahKomuneBab EzzouarSitus webwww.wilaya-alger.dz Yahi...

 

 

Pour les articles homonymes, voir Paralovo. Paralovo Паралово Administration Pays Serbie Province Serbie centrale Région Stari Vlah Raška/Sandjak District Raška Ville Novi Pazar Démographie Population 1 314 hab. (2011) Géographie Coordonnées 43° 07′ 17″ nord, 20° 28′ 54″ est Altitude 501 m Localisation Géolocalisation sur la carte : Serbie Paralovo Géolocalisation sur la carte : Serbie Paralovo modifier  Pa...

Der Titel dieses Artikels ist mehrdeutig. Weitere Bedeutungen sind unter Kasematte (Begriffsklärung) aufgeführt. Kasematte der Festung Dänholm Defensionskasematte (A) im Innern einer Bastion, Zugang zu den Schützenstellungen (C) in der Flanke Festung Küstrin (Altstadt): Restaurierte Kasematte der Bastion „Philipp“ Kasematten unter der Friedberger Bastion der Stadtbefestigung in Frankfurt-Innenstadt, Bleichstraße Kasematte der Festung Theresienstadt – bis 1945 zentrale Leichenhall...

 

 

Anbox Aplikasi Wikipedia untuk Android berjalan di AnboxTipelapisan kompatibilitas dan perangkat lunak bebas Versi pertama11 April 2017; 7 tahun lalu (2017-04-11)GenreLapisan kompatibilitasLisensiGNU GPL v3[1]Karakteristik teknisSistem operasiLinuxPlatformLinux Bahasa pemrogramanC++ dan C (mul) Sumber kode Kode sumberPranala Informasi tambahanSitus webanbox.ioPanduan penggunaLaman panduan Sunting di Wikidata  • Sunting kotak info • L • BBantuan penggunaan tem...

 

 

Not to be confused with Grenada. For other uses, see Granada (disambiguation). Municipality in Andalusia, SpainGranadaMunicipalityAlhambraCathedralGeneralifeMonasterio de San JerónimoSanta Ana ChurchPalace of Charles VRoyal ChancelleryAlbaicín FlagCoat of armsLocation of GranadaCoordinates: 37°10′41″N 3°36′03″W / 37.17806°N 3.60083°W / 37.17806; -3.60083CountrySpainAutonomous CommunityAndalusiaProvinceGranadaGovernment • TypeAyuntamiento ...

Ethnic group native to Southern Europe Ethnic group AlbaniansShqiptarëtTotal populationc. 7 to 10 million[1][2][3][4][5]Regions with significant populations Albania 2,182,917 (2023)[6] Kosovo 1,797,856 (2021)[7]Other regions Southern Europe  Italy970,000[8][9][10] Greece500,000–600,000[11][12][13][14][15][16][17] North Macedonia446...

 

 

Spanish footballer In this Spanish name, the first or paternal surname is Jáuregui and the second or maternal family name is Lagunas. José María Jáuregui Personal informationFull name José María Jáuregui LagunasDate of birth (1896-03-15)15 March 1896[1]Place of birth Las Arenas, SpainDate of death 3 May 1988(1988-05-03) (aged 92)Height 1.71 m (5 ft 7+1⁄2 in)Position(s) GoalkeeperSenior career*Years Team Apps (Gls)1917–1931 Arenas 15 (0)Intern...