Xtend
From Wikipedia, the free encyclopedia
| Xtend | ||
| Date de première version | 2011 | |
|---|---|---|
| Paradigme | Orientée objet, impératif, fonctionnelle | |
| Auteur | Sven Efftinge, Sebastian Zarnekow | |
| Développeur | typefox | |
| Dernière version | 2.12.0 | |
| Typage | Statique, fort, inférence | |
| Influencé par | Java, Scala, Groovy, Smalltalk, Xpand | |
| Système d'exploitation | Multiplateformes | |
| Licence | Eclipse Public License | |
| Site web | (en) eclipse.dev/Xtext/xtend/ | |
| modifier |
||
Xtend est un langage de programmation général de haut niveau pour la machine virtuelle Java.
Syntaxiquement et sémantiquement, Xtend a ses racines dans le langage de programmation Java mais se concentre sur une syntaxe plus concise et quelques fonctionnalités supplémentaires telles que l'inférence de types, les méthodes d'extension et la surcharge de l'opérateur. Étant principalement un langage orienté objet, il intègre également des fonctionnalités connues de la programmation fonctionnelle, par exemple des expressions lambda. Xtend est typé statiquement et utilise le système de type Java sans modifications. Il est compilé en code Java et s'intègre ainsi de manière transparente avec toutes les bibliothèques Java existantes.
Le langage Xtend et son EDI est développé en tant que projet sur Eclipse.org et participe au train annuel de publication Eclipse. Le code est open source sous licence Eclipse Public License. Pourtant, le langage peut être compilé et exécuté indépendamment de la plate-forme Eclipse[1].
Xtend provient de Xtext, qui est la technologie utilisée pour définir la langue et l'éditeur. Xtend a été publié pour la première fois dans le cadre de Xtext dans la version Eclipse Indigo[2] en . Depuis la sortie d'Eclipse Juno (, Xtend version 2.3), Xtend est devenu un projet autonome.
Le langage Xtend décrit ici ne doit pas être confondu avec l'ancien langage portant le même nom dans le projet Xpand. Au départ, Xtend a été nommé Xtend2 pour une meilleure distinction. Le '2' a été bientôt abandonné pour des raisons de simplicité. Avec ses expressions de modèle, Xtend se veut un remplacement de toute la technologie Xpand.
Philosophie
Java est l'un des langages de programmation les plus populaires de tous les temps, et il a développé un énorme écosystème de bibliothèques et d'outils au fil des ans. Pourtant, sa syntaxe est assez verbeuse, et certains concepts manquent et ne s'ajoutent que très lentement. Xtend essaie d'obtenir le meilleur de Java, mais tue le bruit syntactique et ajoute de nouvelles fonctionnalités essentielles pour permettre une meilleure lisibilité et un code plus puissant.
Pour faciliter l'apprentissage des développeurs Java, la syntaxe de Xtend est proche de celle de Java. Xtend maintient une compatibilité maximale avec Java en compilant le code Java et en utilisant le système de type Java. Le code Java et le code Xtend peuvent être mélangés à l'intérieur d'un même projet à volonté.
En utilisant une combinaison d'expressions lambda et de méthodes d'extension, le langage peut être étendu au moyen de bibliothèques, c'est-à-dire sans changer le langage lui-même. Une petite bibliothèque standard en fait un usage intensif.
Xtend a toujours été conçu avec un bon outillage en tête. L'EDI Xtend basé sur Eclipse offre des choses comme la coloration syntaxique, la complétion de code, le refactoring, la navigation et le débogage. Il s'intègre également étroitement avec le Java Development Toolkit d'Eclipse.