This article contains content that is written like an advertisement. (April 2019) |
Paradigm | Object-oriented |
---|---|
Developer | Pharo community |
First appeared | 2008 |
Stable release | 8.0
/ January 20, 2020 |
Typing discipline | Dynamic |
Implementation language | Smalltalk |
OS | Windows, Linux, macOS, others |
License | MIT license, partly Apache License 2.0[1] |
Website | pharo |
Influenced by | |
Smalltalk (Squeak) |
Pharo is an open source dynamic and reflective language which is inspired by the programming language Smalltalk. Pharo offers several live programming features such as immediate object manipulation, live update and hot recompiling.
Pharo is a pure object-oriented dynamically typed and reflective language. The stated goal of Pharo is to revisit Smalltalk design and enhance it.
The name Pharo comes from the French word "phare" (French pronunciation: [faʁ]) which means lighthouse. This is why the Pharo logo shows a drawing of a lighthouse inside the final letter O of the name.
Pharo is based on general concepts of Smalltalk but seeks to improve on them so does not limit itself to them. The basic syntax of the language has a close resemblance to Smalltalk. However, the way classes are defined in Pharo differs from other Smalltalk dialects.[how?]
The Pharo syntax is based on Smalltalk-80 language syntax with several extensions. Some of these are common among modern Smalltalk dialects.
{1. 2. 1+2}
#[1 2 3 4]
3.14s2
<gtInspectorPresentationOrder: 30>
The Pharo language syntax is supposed to be very simple and minimalistic. The basic language elements are often presented on a single postcard. The grammar is classified as LL(1).
The language grammar does not specify directly how the code should be stored in files. Pharo uses Tonel as the preferred code serialization format.
Pharo emerged as a fork of Squeak, an open-source Smalltalk environment created by the Smalltalk-80 team (Dan Ingalls and Alan Kay). Pharo was created by S. Ducasse [1] and M. Denker in March 2008. It focuses on modern software engineering and development techniques.[citation needed] Pharo is supported by the Pharo consortium (for legal entities) [2] and the Pharo association for physical persons [3].
Version | Release date | Major features |
---|---|---|
March 16, 2008 [2] | Fork of Squeak environment | |
Pharo 1.0 | April 15, 2010 | real closures, EToys and MVC removed |
Pharo 1.1 | July 26, 2010 | Cog JIT VM, Settings framework |
Pharo 1.2 | March 29, 2011 | new Finder, Recent changes tool, improved Help, better themes |
Pharo 1.3 | August 2011 | Zinc, headless images |
Pharo 1.4 | April 2012[3] | Ring metamodel, better code simulator |
Pharo 2.0 | March 18, 2013.[4] | browser improvements, QA tools, Fuel serializer, better files API |
Pharo 3.0 | April 2014.[5] | new modular compiler (Opal) and debugger, continuations |
Pharo 4.0 | April 2015.[6] | GTools, slots |
Pharo 5.0 | May 2016. [7] | Spur VM, UFFI, improved reflectivity |
Pharo 6.0 | 6 June, 2017. [8] | 64-bit and Git support |
Pharo 6.1 | 24 July, 2017. [9] | improved Git support |
Pharo 7.0 | 22 January, 2019. [10] | bootstrapping, new code browser (Calypso), stateful traits |
Pharo 8.0 | 20 January, 2020. [11] | improved support of Git, testing, refactoring and Windows |
Some companies use Pharo for their development projects.[12] In particular, they use:
The Pharo consortium[17] was created for companies wishing to support the Pharo project. The Pharo association[18] was recently[when?] created for users wishing to support the project.
Pharo relies on a virtual machine that is written almost entirely in Smalltalk itself. Beginning in 2008, a new virtual machine (Cog) for Squeak, Pharo and Newspeak has been developed that has a level of performance close to the fastest Smalltalk virtual machine.[19] In 2014/2015 the VM community is working on Spur, a new Memory Manager for Cog that should again increase performance and provide better 64-bit VM support.[20]
By: Wikipedia.org
Edited: 2021-06-18 18:16:14
Source: Wikipedia.org