• [^] # Re: Pharo

    Posté par . En réponse à la dépêche GNU Smalltalk 3.2.3 et VisualGST 0.8.0. Évalué à 7.

    Ils ont des points communs et des differences, je vais commencer par les points communs:
    Ils implementent tous les deux Smalltalk meme si ce sont deux dialects differents.
    Un programme n'utilisant pas les Morph ou GTK devrait etre portable.

    Pour ameliorer la compatbilite il existe le projet Grease qui a pour but de rendre les differentes implementations de Smalltalk compatible entre elles. par exemple Iliad et Seaside utilisent Grease ce qui facilite le portage. La syntaxe des fichiers Smalltalk entre Squeak/Pharo et GST est differente (enfin GST supporte les deux):

    Object subclass: #Foo
    instanceVariableNames: ''
    classVariableNames: ''
    poolDictionaries: ''
    category: ''!

    !Foo class methodsFor: ''!

    unMessage
    "InterpretedMethod test"
    | b |
    ....l!

    Foo new
    unMessage;
    blabla;
    smalltalkEstCool!

    sous GST:

    Object subclass: Foo [
    unMessage [
    ^ self blabla
    ]
    ]

    Foo new
    unMessage;
    blabla;
    smalltalkEstCool

    Il existe un outil pour GST (gst-convert) qui peut importer des fichiers dans le chunk format (le premier exemple) et le convertir dans la syntaxe de GST. Ensuite l'interface graphique sous GST on privilegie l'integration avec GTK (il y a des gens qui bossent sur un binding de Qt). Un autre aventage avec l'approche de GST est que l'on peut utiliser les outils comme git, on n'est pas non plus enferme dans Smalltalk. Par exemple VisualGST est sous github ou meme iliad. Une autre difference en Squeak/Pharo et GST est qu'il est possible avec GST de generer une image a partir du code source. Squeak/Pharo ont une plus grosse communaute d'utilisateurs que GST.

    Il y a aussi le bon livre de Canol Gokel pour apprendre GNU Smalltalk : http://www.canol.info/books/computer_programming_using_gnu_s(...)

    (desole pour les accents clavier qwerty)