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

Langages de programmation Discussion :

Que pensez vous des nouveaux langages de programmation Vala et Genie


Sujet :

Langages de programmation

  1. #1
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut Que pensez vous des nouveaux langages de programmation Vala et Genie
    Bonjour,

    J'aimerai avoir vos critiques sur ces deux nouveaux langages que sont Vala et Genie.

    A première vue ce sont deux langages différents, pourtant ils sont basés sur le même principe et utilise le même compilateur.

    Pour le principe, le code est transformé en code C utilisant la bibliothèque GObject qui est ensuite compilé avec un compilateur C classique. Vala empreinte sa syntaxe au C# alors que le second s'inspire de python.

    Dans les deux langages on retrouve les mêmes fonctionnalités :
    • Langage orienté objet
    • Les propriétés
    • Les signaux
    • Les fonctions lambda
    • Les génériques
    • Les exceptions


    Voici deux exemples simples histoire de montrer les deux syntaxes :

    en Vala :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    class Window : Gtk.Window
    {
      construct
      {
        this.title = "Vala demo";
        this.default_height = 250;
        this.default_width = 250;
        this.destroy += Gtk.main_quit;
     
        var btn = new Gtk.Button.with_label ("Hello world");
        btn.clicked += (s) => {
          this.destroy ();
        };
        this.add (btn);
      }
    }
     
    void main (string[] args)
    {
      Gtk.init (ref args);
      var window = new Window ();
      window.show_all ();
      Gtk.main ();
    }
    Compilation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    valac --pkg=gtk+-2.0 main.vala
    En Genie :
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    [indent=2]
     
    class Window : Gtk.Window
      init
        title = "Genie demo"
        default_height = 250
        default_width = 250
        destroy += Gtk.main_quit
     
        var btn = new Gtk.Button.with_label ("Hello world");
        btn.clicked += def (s)
          destroy ()
        add (btn)
     
    init
      Gtk.init (ref args)
      var window = new Window ()
      window.show_all ()
      Gtk.main ()
    Compilation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    valac --pkg=gtk+-2.0 main.gs
    Voici, de mon point de vue, les avantages de ces langages :
    • Pas de machine virtuelle/interpréteur
    • Simplicité d'écriture par rapport au C
    • Portabilité
    • Compatibilité ascendante et descendante avec les bibliothèques écrites en C
    • Rapidité d'exécution


    Si vous voulez tester, j'ai écrit un tutoriel sur Vala : http://nicolasj.developpez.com/gtk/vala
    Et créé un installeur tout-en-un (Vala, gcc et GTK+) pour Windows : http://code.google.com/p/valide/down...vala-0.5.2.exe

  2. #2
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    perso, j'ai uniquement regardé Vala de près au moment où est sorti ton article (coïncidence ?)

    j'ai fait peu de tests, mais je ne vois pas de grand intérêt à ce n-ième langage... certes il s'interface rapidement avec C (et pour cause), mais

    (1) visent-ils un public jusqu'alors en attente d'un produit particulier n'existant pas sur le marché ?
    selon moi, non... des langages comme LUA ont pris ce créneau, et PyPy / CPython semblent sur le point d'apporter au moins autant que Genie, avec l'avantage de disposer d'une compatibilité avec des milliers de code déjà existantes

    (2) apportent-ils de réelles nouveautés ?
    là encore, pas vraiment


    je vois trois chances de survivre pour ces langages
    1. être utilisé par des outils déjà populaires pour coder des extensions/plugins/macros (comme Beanshell pour jEdit, certains lisp/scheme dans des outils de CAO et d'une certaine façon XUL/XpCom pour les outils de la fondation mozilla)
    2. pour les personnes étant restées sur un développement basé sur C avec des macros (pour "pseudo-templatiser" le code), et beaucoup de rigueur (pour garder quelque chose de modulaire et performant), cela aurait l'avantage de switcher en douceur, et de garder un back-end complet en C, et donc les lib super optimisées écrites et débuggées depuis un long moment
    3. cela reprend d'une certaine manière le point 2... être adopté pour faire du développement de niche (sur l'embarqué par exemple ), à condition que le sous-ensemble de C vers lequel est exporté le code soit compatible avec celui d'un outil de certification existant
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  3. #3
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par gorgonite Voir le message
    perso, j'ai uniquement regardé Vala
    Moi aussi et c'est le langage le plus populaire des deux.

    Citation Envoyé par gorgonite Voir le message
    (1) visent-ils un public jusqu'alors en attente d'un produit particulier n'existant pas sur le marché ?
    Il vise à remplacer le C dans les applications Gnome, et ça reste un très bon outils pour réaliser une interface graphique portable sous Windows : le compilateur s'installe en trois clics et l'IDE, qui murit doucement, prends le même chemin. Pour faire la même chose en C, il faut compter quelques heures (surtout la première fois).

    Même s'il ne vise pas à concurrencer C#/mono, il me permet de coder dans une syntaxe que j'aime bien sans dépendre d'une machine virtuelle (je pense que c'est de ce côté qu'il faut chercher les personnes intéressées).

    Citation Envoyé par gorgonite Voir le message
    (2) apportent-ils de réelles nouveautés ?
    Existe-t-il encore des choses à inventer dans les langages procéduraux/orientés objets ? Comme nous ne sommes pas encore arrivé à la version 1.0, ça ne me choque pas, les développeurs ce concentre sur les classiques en retenant (à mon goût) les meilleurs syntaxes dans différents langages (C# et Java).


    Citation Envoyé par gorgonite Voir le message
    pour les personnes étant restées sur un développement basé sur C avec des macros (pour "pseudo-templatiser" le code), et beaucoup de rigueur (pour garder quelque chose de modulaire et performant), cela aurait l'avantage de switcher en douceur, et de garder un back-end complet en C, et donc les lib super optimisées écrites et débuggées depuis un long moment
    Et il existe beaucoup d'applications codées en C sous Gnome.

    Voici une liste d'applications codées en Vala : http://live.gnome.org/Vala#head-a2a9...b0f08f8b71f997 (à noter Openmoko Terminal pour téléphones portables)

  4. #4
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Citation Envoyé par gege2061 Voir le message
    Et il existe beaucoup d'applications codées en C sous Gnome.

    perso, je pensais que Gtk avait surtout servi à faire Gtk+
    enfin, j'ai pas du tout aimé coder en C avec

    mais effectivement dans ce cas, ça peut faire un gros gain pour les applis C en Gtk... et son succès serait assuré si Gnome l'adoptait
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  5. #5
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par gege2061 Voir le message
    [...]Existe-t-il encore des choses à inventer dans les langages procéduraux/orientés objets ? [...]
    Certainement. Mais il est difficile de dire quoi. Sinon ça serait probablement déjà là. Une chose est sure, on aurait pû faire ce commentaire il y a 5 ans a priori. Pourtant il y a eu des changements. La POA n'est finalement qu'une extension de la POO n'est-ce pas ?

    Pour te tenir informé, tu as cette conférence et les proceedings qui en découlent : http://www.oopsla.org

  6. #6
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par gorgonite Voir le message
    perso, je pensais que Gtk avait surtout servi à faire Gtk+
    Euh c'est la même chose, GTK et GTK+ : Que signifie le + de GTK+ ?

    Citation Envoyé par gorgonite Voir le message
    mais effectivement dans ce cas, ça peut faire un gros gain pour les applis C en Gtk... et son succès serait assuré si Gnome l'adoptait
    Déjà le projet est sur le wiki de Gnome, donc déjà accepté. Maintenant il faut que les développeurs l'adoptent.


    Citation Envoyé par Garulfo Voir le message
    Certainement. Mais il est difficile de dire quoi. Sinon ça serait probablement déjà là. Une chose est sure, on aurait pû faire ce commentaire il y a 5 ans a priori. Pourtant il y a eu des changements.
    Bien sûr mais les fonctionnalités du C sont les mêmes depuis sa création et ça m'empêche pas d'être toujours utilisé et de permettre de créer toutes sortes d'applications. Je ne pense pas les améliorations possibles au niveau du langage soient vitales ça permet juste de gagner en lisibilité du code et en temps de développement.

  7. #7
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Citation Envoyé par gege2061 Voir le message
    Euh c'est la même chose, GTK et GTK+ : Que signifie le + de GTK+ ?
    ben non, si j'ai bien lu, Gtk+ c'est la surcouche objet de Gtk...

    Citation Envoyé par gege2061 Voir le message
    Déjà le projet est sur le wiki de Gnome, donc déjà accepté. Maintenant il faut que les développeurs l'adoptent.
    bien évident, ceux sont les utilisateurs qui feront la réussite (ou non) du produit... surtout sur un projet Open Source
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  8. #8
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par gorgonite Voir le message
    ben non, si j'ai bien lu, Gtk+ c'est la surcouche objet de Gtk...
    Non, GTK+ est la réécriture de GTK en utilisant des objets : avec une vraie hiérarchie de classes alors que GTK ne disposait pas de notion d'héritage

  9. #9
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Citation Envoyé par gege2061 Voir le message
    Non, GTK+ est la réécriture de GTK en utilisant des objets : avec une vraie hiérarchie de classes alors que GTK ne disposait pas de notion d'héritage

    toujours est-il qu'on utilise Gtk+ et plus Gtk

    enfin, ce n'est pas le sujet
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  10. #10
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par gege2061 Voir le message
    [...]
    Bien sûr mais les fonctionnalités du C sont les mêmes depuis sa création et ça m'empêche pas d'être toujours utilisé et de permettre de créer toutes sortes d'applications. Je ne pense pas les améliorations possibles au niveau du langage soient vitales ça permet juste de gagner en lisibilité du code et en temps de développement.
    Il n'y a pas que la surface qui bénéficient de la recherche. En fait c'est surtout le fond. Les compilateurs ont changés. Les techniques de typage se sont améliorées. Avec les avancées de Cardelli et d'Abadi le panorama de la programmation objet va changer. Avoir un modèle de calcul propre est une belle avancée. Quand tu dis que tu ne penses pas que les améliorations possibles au niveau du langage soient vitales, à quoi penses-tu ? Car vu que tu ne sais pas ce qu'on va trouver et faire, tu auras du mal à savoir si ce sera ou non vital. N'est-ce pas ? Il me semble que gagner en lisibilité de code et en temps de développement est vitale vu les coûts d'un logiciel et surtout de sa maintenance.

  11. #11
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Un message fort intéressant sur la mailing list de Vala :
    Citation Envoyé par [url]http://mail.gnome.org/archives/vala-list/2008-December/msg00102.html[/url]
    I am working in the field of computer vision / video analysis, and I
    think that Vala is a perfect fit for signal processing and scientific
    computing in general. The simplicity of a memory-managed language with
    the performance of C could be a killer in this sector.

    [...]

    PS: actually, it was Genie that dazzled me with her beauty and made me
    decide to dive in :-)
    En français :
    Je travaille dans le domaine de la vision par ordinateur / l'analyse vidéo, et je pense que Vala est un juste milieu pour le traitement du signal et le calcul scientifique en général. La simplicité d'un langage à mémoire managée avec les performances du C pourrait être un tueur dans ce secteur.

    [...]

    PS: en fait, c'est Genie qui m'a ébloui par sa beauté et m'a décider de me plonger dans :-)

Discussions similaires

  1. Que pensez-vous des langages interpretés pour le dev de jeux?
    Par geektoo dans le forum Développement 2D, 3D et Jeux
    Réponses: 5
    Dernier message: 02/02/2015, 12h00
  2. Que pensez-vous des nouveaux MacBook / MacBook Pro ?
    Par Marcos Ickx dans le forum Apple
    Réponses: 37
    Dernier message: 18/11/2008, 08h43
  3. Que pensez-vous des générateurs de doc PHP ?
    Par Nonothehobbit dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 64
    Dernier message: 10/07/2007, 10h17
  4. [Débat] Que pensez-vous des langages à typage dynamique?
    Par Eusebius dans le forum Langages de programmation
    Réponses: 14
    Dernier message: 16/06/2004, 12h12

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