Pharo

Pharo

Screenshot of the Pharo IDE
Original author(s) Pharo Board [1]
Developer(s) Pharo Community
Initial release 2008
Stable release 4.0 / April 16, 2015
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]
Website pharo.org

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.

Introduction

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.

History

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).

Learning Pharo

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

Companies and Consultants

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

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

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

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

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

Performance and Virtual Machine

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]

References

  1. The Pharo board
  2. Pharo license information
  3. "Pharo Open Source Smalltalk — Release 1.4". Pharo-project.org. April 17, 2012. Retrieved April 5, 2013.
  4. "Pharo Open Source Smalltalk — Release 2.0". Pharo-project.org. March 18, 2013. Retrieved April 5, 2013.
  5. "Pharo Open Source Smalltalk — Release 3.0". pharo.org. April 30, 2014.
  6. "Pharo Open Source Smalltalk — Release 4.0". pharo.org. 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". Pharo-project.org. Retrieved April 5, 2013.
  10. "Home". seaside.st. March 18, 2007. Retrieved April 5, 2013.
  11. "Zinc HTTP Components". Zn.stfx.eu. Retrieved April 5, 2013.
  12. Girba, Tudor. "Home". Moose technology. Retrieved April 5, 2013.
  13. "web: Pharo Consortium". Consortium.pharo.org. March 31, 2013. Retrieved April 5, 2013.
  14. Ducasse, Stephane. "association: Pharo Association". Association.pharo.org. Retrieved April 5, 2013.
  15. "Cog Blog". Mirandabanda.org. Retrieved April 5, 2013.
  16. "7-point summary of the Spur memory manager". Clément Béra. Retrieved April 17, 2015.

External links

Related pages