langage Go de google

Xavier Oswald xoswald at gmail.com
Thu Nov 12 18:31:24 UTC 2009


On 17:28 Thu 12 Nov     , Matthieu BREHIER wrote:
> Bonjour   tous,

Salut Matthieu,

> Se peut-il que ce langage ait  t  d velopp    partir d'une  tude approfondie du
> langage Lisaac depuis que le compilo est libre?

Non, Lisaac est quand meme bien différent du langage Go de google.
Le Go a été créé en se basant sur le C et en essayant de limité la complexité du
C et de simplifié la gestion de la mémoire.

> Et sinon, le langage  tant libre, y a-t-il des trucs   r cup rer dans le
> compilo?

Je ne pense pas. Le compilo étant assez complexe, je ne vois personne à l'heure
actuelle pouvant vraiment comprendre comment la compilation d'un langage à
prototype est possible... A part quelques personnes cotoyant la communauté
Isaac, c'est a dire Benoit et Dominique. Je pense que meme Mildred, Nico, etc ..
et moi-meme seriont incapable de reproduire ce que le Lisaac fait sans de
nombreuses explications de Benoit.


Une personne meme experte en compilation ne lisant que le code source et la
documentation existante de Lisaac mettrait à mon avis, une à plusieurs années à
tout comprendre ( Corrigez moi si je me trompe ... )


Bien sur, il est tout à fait possible de piocher des idées dans Lisaac, lip,
grammaire, optims, etc... sans pour autant aprrofondir une étude complexe du
compilo. De plus rien que le fait d'avoir des publications, cela peut donner des
idées à d'autres personnes pour implémenter certaines choses.


Mais le point fort et la je pense que tout le monde sera daccord, c'est que
Lisaac assemble tout un tas de concepts et d'idées qui peuvent souvent être
difficile à mettre en commun. Et c'est la qu'il est compliqué de comprendre
comment plusieurs fonctionnalités du compilo peuvent cohabiter et fonctionner
ensemble. C'est ce qui est difficile à faire et que de nombreuses personnes
aimeraient avoir et comprendre de comment Lisaac s'en sort à ce niveau la.

Le fait d'avoir une analyse de flot très avancé, la dérécursivation de fonction
terminale et non-terminale etc.. dans le compilo rend le code extremement
difficile à lire, à comprendre. Lisaac est un tout et on ne peut pas comprendre
le compilo en ayant zappé rien qu'une toute petite partie de son fonctionnement.

Pour comparaison, si je me souviens bien et d'apres ce que je vois comme commits,
à vue de nez, le compilo doit faire 30_000 lignes de codes (extremement condensé
et optimisé). Alors qu'un compilo faisant "moin de choses" peut atteindre
facilement 200_000 lignes de code. Etudier 200_000 lignes de code peut s'avéré
plus simple que d'en étudier 30_000 ;)


Greetings,
-- 
 ,''`.| ====== Xavier Oswald  ====== | mail: xoswald at debian.org         |
: :' :| Engineer at CALDERA GRAPHICS | http://www.caldera.eu            |
`. `' | GNU/LINUX Debian Developer   | http://debian.org                |
  `-  | Isaac Project Developer      | http://isaacproject.u-strasbg.fr |



More information about the Lisaac-devel mailing list