IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Cours complet Pharo par l'exemple


précédentsommairesuivant

Préface

Qu’est-ce que Pharo ?

Alors que Squeak fut développé principalement en tant que plateforme pour le développement de logiciels éducatifs expérimentaux, Pharo tend à offrir une plateforme, à la fois, open source et épurée pour le développement de logiciels professionnels et aussi, stable et robuste pour la recherche et le développement dans le domaine des langages et environnements dynamiques. Pharo est l’implémentation Smalltalk de référence de Seaside : le framework(3) (dit aussi « cadre d’applications ») destiné au développement web. Pharo résout les problèmes de licence inhérents à Squeak. Contrairement aux versions précédentes de Squeak, le noyau de Pharo ne contient que du code sous licence MIT. Le projet Pharo a débuté en mars 2008 depuis un fork de la version 3.9 de Squeak et la première version 1.0 bêta a été publiée le 31 juillet 2009. Bien que dépourvu de nombreux paquetages présents dans Squeak, Pharo est fourni avec beaucoup de fonctionnalités optionnelles dans Squeak. Par exemple, les fontes TrueType sont incluses dans Pharo. Pharo dispose aussi du support pour de véritables fermetures lexicales ou block closures. Les éléments d’interface utilisateur ont été revus et simplifiés.

Pharo est extrêmement portable — même sa machine virtuelle est entièrement écrite en Smalltalk, ce qui facilite son débogage, son analyse et les modifications à venir. Pharo est le véhicule d’un ensemble de projets innovants, des applications multimédias et éducatives aux environnements de développement pour le web. Il est important de préciser le fait suivant concernant Pharo : Pharo ne devrait pas être qu’une simple copie du passé, mais véritablement une réinvention de Smalltalk. Pour autant, les approches où l’on fait table rase du passé fonctionnent rarement. Au contraire, Pharo encourage les changements évolutifs et incrémentaux. Nous voulons qu’il soit possible d’expérimenter grâce à de nouvelles fonctionnalités et bibliothèques. Par évolution, nous disons que Pharo tolère les erreurs et n’a pas pour objectif de devenir la prochaine solution de rêve d’un bond— même si nous le désirons. Pharo favorisera toutes les évolutions à caractère incrémental. Le succès de Pharo dépend des contributions de sa communauté.

Qui devrait lire ce cours ?

Ce cours est dérivé de l’ouvrage « Squeak par l’exemple(4) » , une introduction à Squeak éditée sous licence libre. Il a néanmoins été librement adapté pour refléter les différences qui existent entre Pharo et Squeak. Il présente différents aspects de Pharo, en commençant par les concepts de base et en poursuivant vers des sujets plus avancés. Ce cours ne vous apprendra pas à programmer. Le lecteur doit avoir quelques notions concernant les langages de programmation. Quelques connaissances sur la programmation orientée objet seront utiles. Ce cours introduit l’environnement de programmation, le langage et les outils de Pharo. Vous serez confronté à de nombreuses bonnes pratiques de Smalltalk, mais l’accent sera mis plus particulièrement sur les aspects techniques et non sur la conception orientée objet. Nous vous présenterons, autant que possible, un grand nombre d’exemples (nous avons été inspirés par l’excellent s de Alec Sharp sur Smalltalk(5)). Il y a plusieurs autres livres sur Smalltalk disponibles gratuitement sur le web, mais aucun d’entre eux ne se concentre sur Pharo. Voyez par exemple : http://stephane.ducasse.free.fr/FreeBooks.html.

Un petit conseil

Ne soyez pas frustré par des éléments de Smalltalk que vous ne comprenez pas immédiatement. Vous n’avez pas tout à connaître ! Alan Knight exprime ce principe comme suit(6).

Ne vous en préoccupez pas ! Les développeurs Smalltalk débutants ont souvent beaucoup de difficultés, car ils pensent qu’il est nécessaire de connaître tous les détails d’une chose avant de l’utiliser. Cela signifie qu’il leur faut un moment avant de maîtriser un simple « Transcript show: 'Hello World' ». Une des grandes avancées de la programmation par objets est de pouvoir répondre à la question « Comment ceci marche ? » avec « Je ne m’en préoccupe pas »

Un livre ouvert

Ce cours est ouvert dans plusieurs sens :

  • le contenu est diffusé sous la licence Creative Commons Paternité - Partage des Conditions Initiales à l’Identique. En résumé, vous êtes autorisé à partager librement et à adapter son contenu, tant que vous respectez les conditions de la licence disponible à l’adresse suivante : http://creativecommons.org/licenses/by-sa/3.0/;
  • il décrit simplement les concepts de base de Pharo. Idéalement, nous voulons encourager de nouvelles personnes à contribuer à des chapitres sur des parties de Pharo qui ne sont pas encore décrites. Si vous voulez participer à ce travail, merci de nous contacter. Nous voulons voir ce cours se développer ! Plus de détails le concernant sont disponibles sur le site web http://PharoByExample.org/fr.

Exemples et exercices : nous utilisons deux conventions typographiques. Nous avons essayé de fournir autant d’exemples que possible. Il y en a notamment plusieurs avec des fragments de code qui peuvent être évalués. Nous utilisons le symbole −→ afin d’indiquer le résultat qui peut être obtenu en sélectionnant l’expression et en utilisant l’option print it du menu contextuel : 3 + 4 −→ 7 "Si vous sélectionnez 3+4 et 'print it', 7 s'affichera". Si vous voulez découvrir Pharo en vous amusant avec ces morceaux de code, sachez que vous pouvez charger un fichier texte avec la totalité des codes d’exemples sur le site web du livre : http://PharoByExample.org/fr. La deuxième convention que nous utilisons est l’icône Image non disponible

pour vous indiquer que vous avez quelque chose à faire : Image non disponible

Avancez et lisez le prochain chapitre


précédentsommairesuivant
Un framework est un ensemble de bibliothèques, d’outils et de conventions permettant le développement d’applications.
http://SqueakByExample.org/fr ; traduction française de Squeak By Example (http://SqueakByExample.org).
Alec Sharp, Smalltalk by Example. McGraw-Hill, 1997 hURL: http://stephane.ducasse.free.fr/ FreeBooks/ByExample/i.
http://www.surfscranton.com/architecture/KnightsPrinciples.htm

Licence Creative Commons
Le contenu de cet article est rédigé par Andrew Black et est mis à disposition selon les termes de la Licence Creative Commons Attribution 3.0 non transposé.
Les logos Developpez.com, en-tête, pied de page, css, et look & feel de l'article sont Copyright © 2013 Developpez.com.