URL: https://linuxfr.org/users/mounes/journaux/linotte-13-alpha-lattaque-des-clones
Title: Linotte 1.3 alpha, l'attaque des clones !
Authors: cpc6128
Date: 2011-03-11T12:30:16+01:00
License: CC By-SA
Tags: linote
Score: 8
Bonjour,
Je viens de sortir la première version alpha de la série 1.3 du langage Linotte. Cette préversion à pour but d'attirer des développeurs Java souhaitant créer des greffons pour le langage.
## Quoi de neuf dans cette version ? ##
La grosse nouveauté est l'ajout de la notion de [prototype](http://fr.wikipedia.org/wiki/Programmation_orient%C3%A9e_prototype). Et oui, Linotte vient concurrencer le langage [[Lisaac]] sur son terrain... mais à sa manière !
La notion de prototype est simplifiée, pas d'héritage dynamique, par contre, on peut dynamiquement ajouter des éléments à un objet pendant l'exécution du programme. Les objets ainsi créés peuvent être clonés à l'identique.
On peut ajouter, soit des nouveaux attributs à un objet, soit des _méthodes fonctionnelles_.
Comme indiqué ci-dessus, la notion de méthode fonctionnelle apparait dans le langage. Elle offre la possibilité d'attacher à des objets des traitements liés à l'objet même.
## La tête dans les étoiles ##
Rien de mieux qu'un exemple plus complet pour découvrir les possibilités offertes.
L'exemple suivant [L'attaque des clones](http://fr.wikipedia.org/wiki/Star_Wars,_%C3%A9pisode_II_:_L%27Attaque_des_clones) va vous plonger dans le film du même nom... Dans un premier temps, on créé le prototype [[stormtrooper]] qui va être enrichi d'attributs, puis de méthodes fonctionnelles et, ensuite, que l'on va le cloner une centaine de fois pour créer l'armée.
Le source de l'exemple est disponible ici :
https://code.google.com/p/langagelinotte/source/browse/trunk/Linotte/exemples/tutoriels/i_prototype/starwar.liv
(le [[croisillon]] (#) devant le nom d'un variable signifie que l'on souhaite le cloner.)
## Les greffons ##
Cette nouvelle approche prototype apporte une simplification d'écriture des greffons.
En plus d'un descripteur de greffons décrivant le nom du prototype et ses attributs :
```xml
Greffon de démonstration.
"
+ "Ce greffon propose la méthode fonctionnelle majordome.présentation(nom
"
+ "Il est destiné aux personnes souhaitant développer des greffons pour le langage Linotte.