Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Pharo 1.0, un environnement simple et épuré
Pour se mettre à Smalltalk

Le , par Gordon Fowler

0PARTAGES

0  0 
Comme vous le savez, Smalltalk est un langage interprété. Pour s'y mettre, il existe plusieurs environnements, comme Visualworks, ou un des plus connus : Squeak.

Mais le moins que l'on puisse dire, c'est que Squeak ne fait l'unanimité.

En dépit de la qualité indéniable de l'environnement, ses petits bugs, son UI et d'autres défauts ont eu raison de la motivation de nombreux développeurs qui ont voulu s'essayer au Samltalk avec lui.

Des anciens membres impliqués dans le projet Squeak (les responsables de Squeak 3.9) ont donc décidé de lancer un fork. « Nous avons senti le besoin de reconsidérer les choix faits [dans Squeak] . Nous voulons créer un meilleur Smalltalk (sic) »

Le fruit de leur travail s'appelle Pharo, un « environnement propre, gratuit et open-source ».

Et effectivement, force est de constater que par rapport à son "modèle", Pharo est simple, presque épuré, et plutôt esthétique (bien que les goûts et les couleurs...).



Mais le projet n'est pas qu'un simple toilettage de l'UI.

Pharo, par le support qu'il entend apporter à ses réalisations, se veut également (et surtout) « une plate-forme pour développer et déployer des missions critiques en Smalltalk ».

L'équipe précise cependant que Pharo 1.0 n'est pas encore exempt d'erreurs. « nous ne visons pas la réalisation parfaite du premier coup », avoue l'équipe de développement.

L'application n'en vaut pas moins le détour.

Pharo est sous licence MIT. La version 1.0, sortie la semaine dernière, est la première officielle.

Elle est disponible en téléchargement ainsi que la liste complète de ses fonctionnalités sur cette page.



Lire aussi :

Introduction à Smalltalk par hiko-seijuro

Les rubriques (actu, forums, tutos) de Développez :

Langages de programmation

Et vous ?

Smalltalk, ça vous tente ?
Pourquoi ?

Un outil comme Pharo peut-il vous convaincre d'essayer un peu plus le langage ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de bubulemaster
Membre confirmé https://www.developpez.com
Le 22/04/2010 à 16:42
C'est vrai que ça à l'air marrant comme langage. Mais ça syntaxe ressemble un peu au Brainfuck - Wikipédia
0  0 
Avatar de romain537
Membre à l'essai https://www.developpez.com
Le 22/04/2010 à 17:10
pour avoir pratiquer le smalltalk pendant plus de 2 ans chez une société d'assurance au Mans (nom avec 3 lettres ... ), je vous recommande d'essayer ce langage.

Il est assez facile à appréhender et utiliser au quotidien : très performant, il est possible de coder en debug (langage interprété), de créer des instances d'objet pas un simple clic de souris et ainsi tester des petits bouts de programme rapidement (en tout cas avec visualwork, je vais essayer Pharo pour voir ...). J'utilisais smalltalk pour des applications client-serveur lourd, mais il existe des ssp (Smalltalk server page) pour les applications web ...
0  0 
Avatar de CervoiseMD
Membre éprouvé https://www.developpez.com
Le 22/04/2010 à 17:45
Citation Envoyé par bubulemaster Voir le message
C'est vrai que ça à l'air marrant comme langage. Mais ça syntaxe ressemble un peu au Brainfuck - Wikipédia
Au contraire, smalltalk est langage de très haut niveau. Le fait que tout soit objet et qu'il soit dynamiquement typé évite bien des problèmes que pose Java (pour ne pas le citer). Je conseille de l'essayer !
0  0 
Avatar de gmotw
Membre confirmé https://www.developpez.com
Le 22/04/2010 à 17:54
J'ai bouffé pas mal de Smalltalk à la fac et effectivement on peut faire pas mal de chose avec (juste se rappeler qu'on compte à partir de 1 et pas de 0 et d'autres détails idiots du style). Mais VisualWorks a toujours été mon pire cauchemar et rien que d'y penser me donne de l'urticaire. Je regarderai Pharo pour voir ce qui change.
0  0 
Avatar de maske
Membre éprouvé https://www.developpez.com
Le 22/04/2010 à 20:53
Il existe par ailleurs le livre pharobyexample, un guide, une documentation et un immense tutoriel pour prendre en main Smalltalk avec Pharo (en anglais). Il n'existe pas de meilleur tutoriel pour Pharo Smalltalk (il existe un équivalent SqueakByExample pour Squeak).

Pour rappel, Smalltalk est un langage pur objet crée en 1972 dans sa première version par Alan Kay (Turing Award dans les années 2000 pour ces travaux sur Smalltalk).

Smalltalk tourne sur une machine virtuelle et son code est précompilé en bytecode interpreté par cette dernière. De nos jours, un environnement Smalltalk s'approche par l'idée d'un système d'exploitation, propose des vues sur toutes ses classes (qui sont des objets puisque tout est objet) et stocke le tout sous la forme d'une image. C'est cette image, lue par la machine virtuelle, qui donne vie au Smalltalk.

Pour apprendre Smalltalk, il suffit de comprendre les principes de la conception et du développement objets. Sa syntaxe, simple, tient sur une carte postale et sa grammaire tient sur quelques pages.

Quelqu'un a récemment fait une remarque à un ami : " J'aime pas le Smalltalk parce qu'il faut faire des phrases, je préfère le C".

Smalltalk est un langage de très haut niveau, et l'utiliser revient en effet presque à parler anglais (dans une certaine mesure).

Je conseille vivement à ceux qui désirent apprendre un nouveau langage d'essayer Smalltalk, pourquoi pas avec Pharo. Contrairement à certaines fausses idées qu'on peut trouver ici et là, avec Smalltalk, on peut TOUT faire, les mêmes librairies que l'on trouve dans les autres langages sont disponibles, et on peut arriver aux mêmes performances qu'avec des langages comme Java.

Surtout, à tous ceux qui essaient, ne pas hésiter à venir poser des questions sur le forum Smalltalk de developpez.com.

D'un point de vue personnel, et de l'utilisation que je fais de Pharo au quotidien (ou presque), je trouve l'UI parfois lente, le fait d'avoir des fenêtres bloquées dans la fenêtre principale du programme est parfois un peu lassant (à la différence de Visual Works).

Malgré tout c'est un Smalltalk très agréable à utiliser, puissant et qui dispose d'un bon nombre de librairies (notamment sous forme de packages disponibles sur les serveurs officiels). Existe en version Linux, Mac et Windows.
0  0 
Avatar de aurelman
Membre actif https://www.developpez.com
Le 23/04/2010 à 10:11
Un collègue m'avait déja parlé de Pharo il y a un petit moment, j'avais pas eu le temps de tester à l'époque, mais ça semblait déja prometteur.

Smalltalk est un language qui gagnerait à être plus connu.
La facilité de son apprentissage est impressionnante !

On peut regretter parfois que certaines choses ne peuvent être écrite de manière plus concises, il n'y a pas de sucre syntaxique...

Mais c'est ce qui fait sa force, sa syntaxe est on ne peut plus facile a appréhender... Probablement une des plus faciles qui existe, les mots-clé doivent se compter sur les doigts d'une main (et je pense qu'une personne à laquelle il manquerait un ou deux doigts s'en sortirait aussi ).

Je n'avais aussi jamais vu un langage aussi facile à débugger !
Modifier le code, les valeurs des variables tout ça pendant son exécution... tout simplement énorme.

Je vais essayer de regarder plus en profondeur un coup d'œil sur ce Smalltalk
.

Smalltalk :à mettre entre toute les mains (même avec des doigts en moins ).
0  0 
Avatar de romain537
Membre à l'essai https://www.developpez.com
Le 23/04/2010 à 11:33
l'environnement de développement est lui aussi écrit en smalltalk, on peut l'adapter à ces besoins (agencement des fenêtres, coloration syntaxique, ...) et tout ceci en live !

un truc marrant pour ce rendre compte des possibilités du langage (et qu'on montre lors des premiers cours) est d'échanger les méthodes de la classe 'True' avec les méthodes de la classe 'False' ! Plantage assuré

je trouve le langage très puissant pour créer des interface client lourd, enfin l'utilisation des BlockClosure permet d'écrire du code lisible, succinct, puissant et réutilisable !

je suis passé au java mais je regrette la souplesse du smalltalk (comme le typage dynamique, le mode debug, les IHM, les blocks, ...)
0  0 
Avatar de gmotw
Membre confirmé https://www.developpez.com
Le 23/04/2010 à 11:39
Moi c'est surtout la gestion des collections qui me manque sur le java.
(par contre les 30000 popup de bug, ça ne me manque pas du tout.. )
0  0 
Avatar de romain537
Membre à l'essai https://www.developpez.com
Le 23/04/2010 à 11:43
c'est vrai qu'on a vite fait avoir une palanquée de fenêtre ouverte et qu'on s'y perde rapidement ...

mais on peut changer la couleur ou la restitution des titres des fenêtres en fonction de son type (c'est ce que je me rappelle avoir fait quand je pratiquais encore)

edit: ah oui ! je me souviens aussi des fenêtres 'Message Not Understood' qui souvrent en boucle !
0  0 
Avatar de SpiceGuid
Membre émérite https://www.developpez.com
Le 23/04/2010 à 13:07
Il y a en gros 3 types de langages :
  1. Code : Sélectionner tout
    1
    2
    Invalid access, address $C0DEBEEF
    GURU Meditation number  #00000203
  2. Code : Sélectionner tout
    Message Not Understood
  3. Code : Sélectionner tout
    the expression ... has type 'a -> 'b -> ('a,'b) list trie but is here used with type 'a 'b. 'a -> 'b -> ('a,'b) list trie
0  0