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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Smalltalk Discussion :

Pharo 1.0, un environnement open-source dérivé de Squeak simple et épuré pour essayer Smalltalk


Sujet :

Smalltalk

  1. #1
    Expert éminent sénior

    Inscrit en
    Juillet 2009
    Messages
    3 407
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 407
    Points : 149 059
    Points
    149 059
    Par défaut Pharo 1.0, un environnement open-source dérivé de Squeak simple et épuré pour essayer Smalltalk
    Pharo 1.0, un environnement open-source dérivé de Squeak
    Simple et épuré pour se mettre à Smalltalk


    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 ?

  2. #2
    Membre éclairé
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Points : 681
    Points
    681
    Par défaut
    C'est vrai que ça à l'air marrant comme langage. Mais ça syntaxe ressemble un peu au Brainfuck - Wikipédia

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2009
    Messages : 9
    Points : 18
    Points
    18
    Par défaut
    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 ...

  4. #4
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 27
    Points : 936
    Points
    936
    Par défaut
    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 !

  5. #5
    Membre confirmé Avatar de gmotw
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 384
    Points : 641
    Points
    641
    Par défaut
    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.
    THIS!IS!NOT!MY!COW!

    CECI!N'EST!PAS!MA!VACHE!
    (mais je persiste à dire que c'est moins classe en français )

  6. #6
    Membre éprouvé

    Homme Profil pro
    non
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : non

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Points : 1 116
    Points
    1 116
    Par défaut
    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.
    [|]

  7. #7
    Membre actif

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    171
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 171
    Points : 218
    Points
    218
    Par défaut
    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 ).

  8. #8
    Membre à l'essai
    Inscrit en
    Septembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2009
    Messages : 9
    Points : 18
    Points
    18
    Par défaut
    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, ...)

  9. #9
    Membre confirmé Avatar de gmotw
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 384
    Points : 641
    Points
    641
    Par défaut
    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.. )
    THIS!IS!NOT!MY!COW!

    CECI!N'EST!PAS!MA!VACHE!
    (mais je persiste à dire que c'est moins classe en français )

  10. #10
    Membre à l'essai
    Inscrit en
    Septembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2009
    Messages : 9
    Points : 18
    Points
    18
    Par défaut
    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 !

  11. #11
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut
    Il y a en gros 3 types de langages :
    1. Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      Invalid access, address $C0DEBEEF
      GURU Meditation number  #00000203
    2. Code : Sélectionner tout - Visualiser dans une fenêtre à part
      the expression ... has type 'a -> 'b -> ('a,'b) list trie but is here used with type 'a 'b. 'a -> 'b -> ('a,'b) list trie
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  12. #12
    Membre confirmé Avatar de gmotw
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 384
    Points : 641
    Points
    641
    Par défaut
    On dirait du Caml le dernier (mon langage préféré *nostalgie*)

    edit: Je viens de voir la signature
    THIS!IS!NOT!MY!COW!

    CECI!N'EST!PAS!MA!VACHE!
    (mais je persiste à dire que c'est moins classe en français )

  13. #13
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut
    [hors sujet]
    Citation Envoyé par gmotw
    On dirait du Caml le dernier (mon langage préféré *nostalgie*)
    J'ai une conjecture au sujet des erreurs en OCaml:
    Citation Envoyé par SpiceGuid
    Quand l'abstraction d'un code OCaml tend vers l'infini, la compréhensibilité des messages d'erreurs tend vers zéro.
    [/hors sujet]
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  14. #14
    Membre éprouvé

    Homme Profil pro
    non
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : non

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Points : 1 116
    Points
    1 116
    Par défaut
    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 ne sais pas si c'est toujours d'actualité, mais dans Pharo on peut (ou pouvait) faire "Object class = nil" ou quelque chose du genre. Je vous laisse deviner le résultat

    Cela dit, il faut vraiment le faire exprès...

    En ce qui concerne les popups, on s'habitue vite et dès qu'on maitrise l'environnement, en général, ça devient très rare. Je trouve par exemple que Visual Works ou Pharo sont bien plus efficaces et puissants à utiliser qu'un Eclipse.
    [|]

  15. #15
    Membre actif
    Avatar de mathk
    Inscrit en
    Décembre 2003
    Messages
    211
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 211
    Points : 233
    Points
    233
    Par défaut
    Citation Envoyé par maske Voir le message
    Je ne sais pas si c'est toujours d'actualité, mais dans Pharo on peut (ou pouvait) faire "Object class = nil" ou quelque chose du genre. Je vous laisse deviner le résultat
    Tu veux dire une facon de la faire c'est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Smalltalk at: #Object put: nil
    Si grande est la faiblesse d'une âme, dont la raison est partie!
    Ne jamais embrouiller ni abasourdir par une foule d'images le génie intérieur qui réside au fonde de sa poitrine,...
    L'ambition est le rfuge de l'échec. "Oscar Wild"

  16. #16
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 3
    Points : 5
    Points
    5
    Par défaut
    Normalement ceci a été fixé.

    Ceci étant, Pharo est actuellement en bêta dans sa version 1.1 rc2, mais ça vaut vraiment le coup de migrer vers cette version.
    Take a look! http://www.pharo-project.org/pharo-download

    Deathiop.

Discussions similaires

  1. M# : Microsoft dévoile son nouveau langage open source dérivé de C#
    Par Hinault Romaric dans le forum Actualités
    Réponses: 35
    Dernier message: 17/01/2014, 23h25
  2. Réponses: 5
    Dernier message: 22/04/2010, 20h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo