Pharo - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

Pharo
Logo du site www.pharo-project.org

Auteurs l'équipe du Projet Pharo
Paradigmes POO
Typage dynamique
Influencé par Simula, Sketchpad, LISP, Squeak
Implémentations Pharo
Système d'exploitation Multiplate-forme
Licence MIT
Site Web http://www.pharo-project.org/

Pharo est une implémentation libre créée en 2009 sous licence MIT du langage de programmation Smalltalk. La version 1.0 de Pharo est sortie le 15 avril 2010.

Introduction

Pharo est un environnement de programmation dynamique. C'est une implémentation performante du langage Smalltalk, basée sur une machine virtuelle écrite en large partie en Smalltalk elle-même.

Pharo étant un fork de Squeak est donc comme tout Smalltalk issu de travaux menés d'abord au Xerox PARC, puis chez Apple puis enfin chez Disney Interactive par une équipe constituée autour de Dan Ingals et Alan Kay.

Lancé en 2008, le Projet Pharo se propose de supprimer tout ce qui n'est pas essentiel dans le code de Squeak et aussi de devenir l'implémentation de référence de Seaside, un framework web pour développer des applications web en Smalltalk.

Pharo a une politique qui oblige ses contributeurs à accepter de publier leur code sous licence MIT

Comme dans Squeak, on trouve dans Pharo une implémentation de Morphic. Mais plusieurs des paquetages qui sont intégrés dans Squeak sont optionnels dans Pharo (comme par exemple E-Toys). En revanche et contrairement à Squeak, Pharo gère en natif les fontes TrueType

Il est notoire que la communauté Smalltalk de Pharo comme celle de Squeak (un autre dialecte de Smalltalk) est très conviviale.

Pharo est un environnement de développement dans lequel tout est objet (au sens de la Programmation Orientée Objet)

Pharo est reflexif (il permet de modifier sa structure et son comportement lors de l’exécution)

Pharo utilise un typage dynamique : Contrairement à certains langages (à typage statique) qui forcent le développeur à indiquer de quel type est chaque variable (entier, chaîne de caractères...). En typage dynamique, les variables peuvent prendre n'importe quelle valeur.

Dans Pharo comme dans tout Smalltalk l'héritage est simple

Pharo (comme Lisp) utilise un ramasse-miettes (le garbage collector).

Il est notoire que les durées de développement (pour de gros projets) sont nettement réduites avec Smalltalk. Quelques points à souligner :

  • La syntaxe de Smalltalk est une syntaxe minimaliste : elle tient sur une carte postale.
  • La liste francophone de Smalltalk est ouverte à tous (donc aux débutants de Pharo)
  • Sur la page officielle de Pharo se trouvent toutes les explications utiles pour télécharger puis installer Pharo aussi bien sur une machine Unix que MacOSX ou encore Windows
  • En ligne et gratuit il est possible de télécharger un livre en anglais d'initiation à Pharo (dont une traduction française est en cours).

Pharo en action dans l'industrie du logiciel

La page (en anglais) "Success Stories" liste un ensemble de sociétés utilisant Pharo dans des projets commerciaux ou libre. Ils s'appuient notamment sur :

  • Seaside (framework), développement d'applications web, avec un très haut niveau d'abstraction.
  • Pier : CMS (Content Management System) basé sur Seaside (framework)
  • Magritte : Un framework pour méta-modèles utilisé notamment pour générer et valider des formulaires web
  • AidaWeb : Framework web
  • Magma : SGBD
  • Moose : Ensemble d'outils et de bibliothèques dédiées à l'analyse de programmes dans différentes langages
  • OpenCroquet : Plate-forme 3D collaborative
  • O2
Page générée en 0.097 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise