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

Eclipse Java Discussion :

Xtends : la fondation Eclipse sort un nouveau langage compatible Java


Sujet :

Eclipse Java

  1. #21
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 121
    Points : 110
    Points
    110
    Par défaut
    @thelevin yep, tu peux par exemple définir des entités métiers comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    entity Person [name:string, age:int, voiture:Voiture]
    et à partir de ça tu peux développer ton moteur de génération de code pour générer :

    - Les classes java persistentes, annotées avec JPA
    - Les classes des couches DAO, Services ..
    - Les vues CRUD

    Bref, tu peux concevoir ce que tu veux, et générer ce que tu veux, et ça d'une manière très simple et bien contrôlée.

    Avec XText et XTend, c'est l'outil qui s'adapte à tes besoins, contrairement aux outils MDA classiques, qui t'obligent à adapter tes besoins aux contraintes et aux architectures statiques généralement imposées.

  2. #22
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par santana2006 Voir le message
    @thelevin rassure toi, Je suis expert/architecte en technologies java, et je parle bien par connaissance de cause
    Ouais, mais je suis un décideur pressé. Ou si tu préfères, je suis un gros con difficile et arrogant, qui demande à voir, avec gratification immédiate, une description technique claire mais rapide indiquant immédiatement en quoi consiste un language ou une technologie.
    Et en l'occurrence, les pages de présentations de Xtends n'ont absolument rien à voir avec ce que tu nous dis. Par contre, elles disent plein de choses à propos d'un nouveau langage généraliste.

    Citation Envoyé par santana2006 Voir le message
    Je suis actuellement entrain justement d'écrire un moteur de génération de code (à base de XTend) à partir de DSL rédigée à l'aide de XText
    Super, mais on parle de Xtends, là.

    Citation Envoyé par santana2006 Voir le message
    Tu peux trouver des réponses à tes questions dans la documentation de XText : http://www.eclipse.org/Xtext/documentation/. Il y a des tutoriels rapide pour commencer, ainsi que la documentation de référence.
    C'est bien fait et intéressant, merci donc pour l'info et tout. En fait, merci beaucoup, sans déconner j'apprécie.
    Mais non, les questions que j'ai posées ici, c'est pas ça.

    Citation Envoyé par santana2006 Voir le message
    Voici également de la doc sur XTend : http://www.eclipse.org/Xtext/documen...troduction.php
    Ça dit la même chose que la page de présentation de Xtends : c'est un langage généraliste.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #23
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 121
    Points : 110
    Points
    110
    Par défaut
    Ouais, mais je suis un décideur pressé. Ou si tu préfères, je suis un gros con difficile et arrogant, qui demande à voir, avec gratification immédiate, une description technique claire mais rapide indiquant immédiatement en quoi consiste un language ou une technologie.
    Et en l'occurrence, les pages de présentations de Xtends n'ont absolument rien à voir avec ce que tu nous dis. Par contre, elles disent plein de choses à propos d'un nouveau langage généraliste.
    Je ne dis pas le contraire du fait que XTend est un langage généralise, donc on peut en faire éventuellement d'autres usages.

    Le couplage avec XText est en fait l'usage typique.

    Je suis d'accord sur le fait que la documentation de l'outil, telle qu'elle est faite actuellement, ne valorise pas ce couplage de manière explicite et directe dans la page d'accueil.

    Super, mais on parle de Xtends, là.
    Tout à fait Je vois pas où est le problème

  4. #24
    Membre actif Avatar de ratomms
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2009
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2009
    Messages : 163
    Points : 253
    Points
    253
    Par défaut
    ça ne me fait pas craqué du tout.
    J'adore tapé que de C'est plus clair.

  5. #25
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    @ratomms : sans parler des modifications "par erreur".
    C'est à dire que tu modifies la valeur retournée et cela modifie implicitement le type déclaré de la méthode (au lieu de te générer une erreur en Java standard).



    Attention le type-inférence n'est pas à jeter totalement, mais dans ces exemples-là il est particulièrement mal utilisé et potentiellement dangereux !

    Il est surtout utile pour les closures/lambdas, où l'impact est bien moins important et le gain en lisibilité bien meilleurs...


    a++

  6. #26
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 121
    Points : 110
    Points
    110
    Par défaut
    Je vous recommande de vous documenter plus sur XText avant de vous prononcer à la volée sur tels aspects.

  7. #27
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    @santana2006 : on ne doute pas des qualités d'XText... juste des choix de syntaxe d'Xtends.


    Et si j'ai bien compris XText sert plutôt à générer de nouveaux langages. C'est un autre besoin.


    Xtends a plutôt pour objectif de remplacer Java, en "améliorant" sa syntaxe. Mais, selon mon opinion, les "améliorations" apporter serait plutôt des régressions.

    La qualité d'un langage ne se fait pas uniquement selon sa verbosité



    a++

  8. #28
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 14
    Points : 14
    Points
    14
    Par défaut
    Sans vouloir troller, est-ce qu'on peut m'expliquer l'avantage d'un tel langage par rapport à Scala ? Je suis ouvert à des réponses constructives.

  9. #29
    Membre actif
    Homme Profil pro
    Développeur
    Inscrit en
    Décembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Décembre 2008
    Messages : 101
    Points : 256
    Points
    256
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    @ratomms : sans parler des modifications "par erreur".
    C'est à dire que tu modifies la valeur retournée et cela modifie implicitement le type déclaré de la méthode (au lieu de te générer une erreur en Java standard).



    Attention le type-inférence n'est pas à jeter totalement, mais dans ces exemples-là il est particulièrement mal utilisé et potentiellement dangereux !
    Je ne sais pas ce qu'il en est de XTends, mais l'inférence de type est tout à fait fiable. Si tu modifie la valeur de retour et que cela modifie le type de retour de ta fonction, le compilateur vérifie le type pour chaque utilisation de ta fonction, si ça modifie le type d'une variable, il va vérifier que toutes les utilisations de cette variable sont autorisées et ainsi de suite. Le tout sans aucun cast implicite (il ne va pas convertir un entier en caractère pour toi).

    Les langages qui le font "pour de vrai" (je ne sais pas ce qu'ils veulent dire par une inférence de type de surface) comme haskel ou caml sont très fiables à ce niveau là.

  10. #30
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 121
    Points : 110
    Points
    110
    Par défaut
    @adiGuba : En fait je cite généralement XText et XTend ensemble parceque les deux vont ensemble c'est tout

    Pour XTend peut servir, comme je l'ai déjà cité, entre autres à traduire des scripts rédigés à base d'un DSL conçu avec XText, vers un langage de programmation tel que java ou tout autre langage, et ce suivant ce qu'on choisit et ce qu'on développe avec XTend.

    XTend n'est pas dédié à être un langage à part entier à mon sens.

    Il s'agit d'un "langage" compilé, et non pas interprété, comme c'est le cas de certains langages de scripts. Le résultat de la compilation est bien entendu des classes Java. du coup, le considérer comme un langage proprement dit va induire des soucis de lenteur, car à chaque sauvegarde les scripts XTend sont recompilés (Bien sur si l'option de build automatique de eclipse est activée).

    Je ne comprends pas les motivations de le présenter (Par les auteurs du projet), comme étant un langage à part entier, car d'une part ça induit une mal compréhension de la part des gens qui veulent le découvrir pour la première fois, et d'autre part ça ne valorise pas les vraies capacités et possibilités offertes par le framework.

  11. #31
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par barmic Voir le message
    Je ne sais pas ce qu'il en est de XTend, mais l'inférence de type est tout à fait fiable.
    Je n'ai pas dit que le type-inference n'est pas fiable. Ca marche très bien tant que tu l'utilises dans ton programme. Mais si tu développes une API public cela peut s'avérer trompeur !

    La moindre modification de code peut modifier le type de retour d'une méthode, et dans le cas d'une API destiné à d'autre développeurs cela peut engendrer diverses incompatibilités !


    Au niveau des closures/lambdas il n'y a pas de soucis à l'utiliser car la porté est faible. Au contraire même dans ce cas c'est même fortement utile.
    Mais au niveau des méthodes c'est trop contraignant


    La plupart des syntaxes de Xtends visent à gagner quelques caractères par-ci par-là, mais cela rend le tout moins strict... C'est dommage car à mon sens c'est une des grosses qualité de Java...



    @santana2006 : Il n'est pas question de soucis de performance ou autres.
    XTends est présenté comme un remplaçant de Java, alliant ses qualités et gommant ses défauts. Mais pour moi ce n'est pas le cas...


    a++

  12. #32
    Membre éclairé Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Points : 803
    Points
    803
    Par défaut
    Nan mais si on prend Xtend + XText comme générateur de code Java, par exemple, ça peut être pas mal... Perso je vais me pencher sur la question...
    Sans danger si utilisé conformément au mode d'emploi.

    (anciennement BenWillard, enfin moins anciennement que ... enfin bon c'est une longue histoire... Un genre de voyage dans le temps...)

  13. #33
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Personnellement je vois toujours pas pourquoi c'était pas juste Java + XText, mais bon...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  14. #34
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    Je suis un peu moins catégorique que vous tous car je trouve qu'il y a certaines bonnes idées.
    En plus ça génère juste du java, donc c'est assez prometteur. Il est cependant regrettable qu'on mette en avant des petites économies qui risquent de nuire à la lisibilité, surtout l'affaire des parenthèses.

  15. #35
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 560
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 560
    Points : 15 487
    Points
    15 487
    Par défaut
    Citation Envoyé par Spirit 203 Voir le message
    Sans vouloir troller, est-ce qu'on peut m'expliquer l'avantage d'un tel langage par rapport à Scala ? Je suis ouvert à des réponses constructives.
    Je suis de l'avis d'AdiGuba. Le seul truc que je trouve intéressant au final dans les fonctionnalité présentés est l'amélioration des "string litterals".
    Tout le reste est soit inutile, arrive dans Java 8 ou est une sévère régression au niveau de la lisibilité du code et du risque d'erreur.

  16. #36
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 64
    Points : 64
    Points
    64
    Par défaut
    Je n'ai pas testé et ne porte pas d'avis sur les impacts techniques mais je pense qu'il ne faut pas faire de java une rampe de lancement vers une multitude de langage plus ou moins clonés, qui comme pour le javascript et ses nombreux frameworks (librairies dojo, jquery, extJs...) complexifie la prise en main et le choix stratégique d'évoluer dans un langage !
    Il y a déjà Groovy je crois dans cette catégorie de langage hybride de java...

  17. #37
    Nouveau membre du Club
    Inscrit en
    Janvier 2011
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 28
    Points : 31
    Points
    31
    Par défaut Clone de Groovy
    Les closures, mutateurs, point virgules optionels, strings definies sur plusieurs lignes, types inferés c'est une copie exacte de groovy.

    Je ne comprends pas pourquoi la fondation eclipse sort un tel language, groovy faisant exactement la meme chose avec dors et deja un eco systeme grandissant depuis env 5 ans.

    Java lui meme devrait evoluer comme Microsoft a fait evoluer C# : constament et rapidement. La syntaxe java est bien trop redondante et lourde, ayant été developpeur C# 3 ans et maintenant C++, et ayant fait plusieurs projets universitaires en JAva, ya pas photo, C# mene la danse niveau ergonomie de langage, JAVA se traine derriere sans aucune excuses, particulierement Java qui tourne sur une machine virtuel avec des API par conséquent standards et portables.

    On est d'accord faire evoluer C++ avec ses milliers de compilateurs et de libraries non portables, c'est une autre histoire.

  18. #38
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par romatou18 Voir le message
    Java lui meme devrait evoluer comme Microsoft a fait evoluer C# : constament et rapidement.
    Surtout pas ! C# introduit de nombreuse évolution assez critiquable.

    Je préfère une évolution lente mais plus stricte, quitte à utiliser un autre langage pour des trucs plus "rapide"

    a++

  19. #39
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Bon, ce que j'avais demandé à voir, une présentation de XTend disant que c'est un langage de templates, je suis finalement tombé dessus par hasard.

    Du coup, je comprends un peu mieux qu'il y ait besoin de facilités pour gérer le traitement de Strings dans ce langage, et à la limite je veux bien comprendre que ça les amuse d'ajouter aussi plein de trucs que Java n'a pas, pour la forme (passque bon, on s'en tape un peu, je suis désolé, si c'est juste supposé être un langage de templates proche de Java.)

    C'est pas faux, que de temps à autres, la meilleure manière d'automatiser un traitement, c'est la création d'un DSL. Mais il faut naviguer un moment, avant de voir quelque part que XTend peut aider, et comment.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  20. #40
    Membre éclairé Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Points : 803
    Points
    803
    Par défaut
    Oui, en fait c'est pour automatiser les tâches répétitives de programmation en Java, quoi. Donc il faut adapter XTends à l'utilisation qu'on en a... Comme d'hab, quoi...

    Mais, de fait, il est peut-être plus simple et efficace d'organiser convenablement son code Java, de façon à ce que tout ce qui est souvent utilisé dans les couches "hautes" des applis puisse être écrit en peu de mots.

    Après tout, on peut toujours encapsuler ce qui ne nous plaît pas dans Java, pour ensuite pouvoir écrire en général d'une façon qui nous plaît...
    Sans danger si utilisé conformément au mode d'emploi.

    (anciennement BenWillard, enfin moins anciennement que ... enfin bon c'est une longue histoire... Un genre de voyage dans le temps...)

Discussions similaires

  1. Terra : le nouveau langage de programmation bas niveau sort
    Par Cedric Chevalier dans le forum Autres langages
    Réponses: 1
    Dernier message: 24/05/2013, 12h43
  2. Réponses: 0
    Dernier message: 08/11/2011, 16h36
  3. Nouveau langage dans Eclipse
    Par armand_c dans le forum Eclipse Platform
    Réponses: 2
    Dernier message: 03/12/2009, 08h24
  4. Nouveau langage : le D
    Par cheick dans le forum D
    Réponses: 4
    Dernier message: 30/05/2004, 15h56

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