From Wikipedia, the free encyclopedia
Jump to: navigation, search
Pharo Logo v3.0.svg
Pharo v3-0.png
Screenshot of the Pharo IDE
Original author(s) Pharo Board [1]
Developer(s) Pharo Community
Initial release 2008; 7 years ago (2008)
Stable release 4.0 / April 16, 2015; 39 days ago (2015-04-16)
Development status Active
Written in Smalltalk
Operating system Windows, Linux, Mac OS X, others
Type Object-oriented programming language, IDE
License MIT license, partially Apache License 2.0[2]

Pharo is an open source implementation of the programming language and environment Smalltalk. Pharo offers strong live programming features such as immediate object manipulation, live update, hot recompilation. Live programming environment is in the heart of the system. Pharo also supports advanced web development with frameworks such as Seaside and more recently Tide.


Pharo has a policy that enforces contributors to agree to publishing their code under the MIT License.

As a Smalltalk environment, Pharo has the main Smalltalk characteristics :

One of the main advantages of Pharo, as of any Smalltalk implementation, is that it is not mandatory to compile the whole code in the event of a method modification. For example, it is possible to edit or create a new method inside the debugger without restarting the process. Some people call this the 'Edit and continue' approach, opposed to the 'edit, compile and run' approach.

People may think that the name Pharo is a reference to the famous Pharos lighthouse in ancient Alexandria. Pharos is a Greek word (Φάρος) which means lighthouse. The Pharo logo shows a drawing of a lighthouse inside the final letter O of the name.


Pharo emerged as a fork of Squeak, an open source Smalltalk environment created by the Smalltalk-80 team (Dan Ingalls and Alan Kay). It focuses on modern software engineering and development techniques. Pharo wants to develop a modern Smalltalk for companies and software engineering research. Pharo also serves as the reference platform of Seaside, a web application framework for developing web applications in Smalltalk. Today, Pharo is supported by the Pharo consortium (for companies) and the Pharo association (for users).

  • Fork in 2008.
  • Pharo 1.0 was released April 15, 2010.
  • Pharo 1.1 was released July 26, 2010.
  • Pharo 1.2 was released March 29, 2011.
  • Pharo 1.3 was released in August 2011.
  • Pharo 1.4 was released in April 2012.[3]
  • Pharo 2.0 was released March 18, 2013.[4]
  • Pharo 3.0 was released in April 2014.[5]
  • Pharo 4.0 was released in April 2015.[6]

Learning Pharo[edit]

With a MIT license and an active community, Pharo is a nice IDE to learn the Smalltalk programming language.

A book, Pharo by Example,[7] is free and available online. A second book, Deep into Pharo, is now available.[8]

To newcomers, the best way to discover Pharo is to download the one-click version.

Use of Pharo[edit]

Companies and Consultants[edit]

Today, more and more companies use Pharo for their development projects.[9] In particular, they use:

  • Seaside for dynamic web development [10]
  • Zinc for server architectures [11]
  • Moose[12] to analyse data and software from all programming languages
  • Graphic libraries for evolved user interfaces
  • Roassal to visualize data

Most companies presently using Pharo are small or medium-sized companies. The Pharo project is supported by big companies such as Inria or VMWare.

The Pharo consortium [13] was recently created for companies wishing to support the Pharo project.

Teaching and Research[edit]

Pharo is becoming more and more used for teaching. Pharo is used in the following Universities:

  • Uni. of Buenos Aires
  • Uni. of Bern
  • Uni. of Brussels
  • Uni. de Bretagne Occidentale
  • Ecole des Mines de Douai
  • Uni. de Savoie
  • Ivan Franko Nat. Uni. of Lviv
  • Czech Technical Uni.
  • CULS Prague
  • Uni. de Maroua, Cameron
  • Northern Michigan Uni.
  • Uni. Catholic of Argentina
  • Uni. of Santiago
  • Uni. Policnica de Catalunya
  • Uni. of Saarland
  • Uni. of Quilmes
  • Uni. of La Plata
  • Uni. Technologica Nacional
  • Uni. Nacional de San Martin
  • Uni. of Tomsk
  • Uni. of Chile

Several research teams use Pharo, for example in Lille (France) and Bern (Switzerland).

  • SCG, CH
  • CEA-List, FR
  • RMOD-Inria, FR
  • Reveal, CH
  • Pleiad, CL
  • Uqbar, AR

The Pharo association[14] was recently created for users wishing to support the project.

Performance and Virtual Machine[edit]

Pharo relies on a virtual machine that is written almost entirely in Smalltalk itself. Beginning in 2008, a new virtual machine (Cog) has been developed that has a level of performance close to the fastest Smalltalk virtual machine.[15] In 2014/2015 the community is working on Spur, a new Memory Manager for this Cog VM that should again increase performance and provide better 64-bit VM support.[16]


  1. ^ The Pharo board
  2. ^ Pharo license information
  3. ^ "Pharo Open Source Smalltalk — Release 1.4". April 17, 2012. Retrieved April 5, 2013. 
  4. ^ "Pharo Open Source Smalltalk — Release 2.0". March 18, 2013. Retrieved April 5, 2013. 
  5. ^ "Pharo Open Source Smalltalk — Release 3.0". April 30, 2014. 
  6. ^ "Pharo Open Source Smalltalk — Release 4.0". April 15, 2015. 
  7. ^ "Pharo by Example". Pharo by Example. Retrieved April 5, 2013. 
  8. ^ "Deep into Pharo". Deep into Pharo. Retrieved September 1, 2013. 
  9. ^ "Pharo Open Source Smalltalk — Success stories". Retrieved April 5, 2013. 
  10. ^ "Home". March 18, 2007. Retrieved April 5, 2013. 
  11. ^ "Zinc HTTP Components". Retrieved April 5, 2013. 
  12. ^ Girba, Tudor. "Home". Moose technology. Retrieved April 5, 2013. 
  13. ^ "web: Pharo Consortium". March 31, 2013. Retrieved April 5, 2013. 
  14. ^ Ducasse, Stephane. "association: Pharo Association". Retrieved April 5, 2013. 
  15. ^ "Cog Blog". Retrieved April 5, 2013. 
  16. ^ "7-point summary of the Spur memory manager". Clément Béra. Retrieved April 17, 2015. 

External links[edit]

Related pages[edit]