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

Dart Discussion :

Dart : Google prépare un nouveau langage de programmation structuré pour le Web


Sujet :

Dart

  1. #161
    Membre éclairé Avatar de Code62
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Novembre 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2008
    Messages : 162
    Points : 898
    Points
    898
    Par défaut
    puisque Dart ne sera jamais intégré en natif autre part que dans Chrome
    Si tu as raison sur ce point, alors tu as assez raison sur le reste

    Mais si les développeurs de Dart, et les personnes qui s'y intéressent de près, croyaient que tu avais raison sur ce point, je ne suis pas sur qu'il dépenserait du temps, de l'argent, et de l'énergie sur ce projet...


    Je ne crois pas qu'il y ait de sérieux débats sur la question "est ce que javascript est un problème ?", à peu près tout le monde s'entend là dessus...
    si une vraie bonne solution était proposée, pourquoi est ce que ça ne serait pas adopté en natif par tous les autres navigateurs ?

  2. #162
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 657
    Points : 1 237
    Points
    1 237
    Par défaut
    @Code62
    je suis globalement d'accords avec ce que tu racontes , le problème on, le connait tous , et c'est le même cas de figure que pour l'adoption ECMASCRIPT 4.
    Certains ont juste dit non , non pas parce que ce n'était pas un bon projet , mais pour des raisons purement politiques.

  3. #163
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 621
    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 621
    Points : 15 704
    Points
    15 704
    Par défaut
    Citation Envoyé par mekal Voir le message
    de la facon dont tu l'ecrit on est dans le contexte global il est donc tout a fait normale que l'on puisse avoir accès a abs

    si on de cette facon il n'y a aucuns soucis car abs se trouve dans un contexte local
    Le problème est plutôt là:if(absolu==3){var abs=6;}. Ca ne choque peut-être pas les habitués de Javascript, mais pour moi c'est aberrant qu'une variable déclarée a l'intérieur d'un bloc soit visible à l'extérieur.

    Citation Envoyé par camus3 Voir le message
    Sauf que pour faire du Dart , il faut de toute façon comprendre comment fonctionne javascript, puisque Dart ne sera jamais intégré en natif autre part que dans Chrome.
    Google espère que non, moi aussi. C'est possible que cela ne sorte jamais de Chrome, mais je pense vraiment que tout le monde aurait a y gagner de prendre en charge Dart, d'autant plus qu'il n'y a pas de contrainte gênante comme des brevets ou un manque de portabilité. Mozilla a bien fini par implémenter SPDY, alors pourquoi pas Dart?
    Dommage que Google ait fait ça dans son coin dans un premier temps sans essayer de se mettre d'accord avec d'autres navigateurs, cela aurait clairement facilité l'adoption.

    Citation Envoyé par camus3 Voir le message
    Utiliser un compilateur n’empêche pas d'avoir des bugs à l’exécution,et même si du débugging pourra être fait dans Chrome en natif, il n'est pas 100% certain qu'un script Dart compilé vers javascript qui fonctionne dans Chrome fonctionnera correctement dans tout les autres navigateurs.
    Si leur compilateur Dart->Javascript ne génère pas de code buggé, ca ne devrait pas poser de problème. Une erreur Javascript devrait avoir une correspondance exacte dans le code Dart, et il devrait pouvoir y avoir des outils qui la font automatiquement.

    Citation Envoyé par camus3 Voir le message
    Personnellement , je trouve que la solution Coffeescript a un meilleurs ratio avantages / inconvénients que Dart, puisque Coffeescript n'est qu'une nouvelle syntaxe et n'introduit pas de nouvelles fonctionnalitées, tout en corrigeant certain problèmes grossiers de javascript , et en simplifiant la création de classes et de sous classes. Mais coffeescript ne crée pas 2 mondes incompatibles l'un avec l'autre comme le fait Dart.
    CoffeeScript étant lui aussi compilé, il souffre au contraire des problèmes que tu cites si dessus, sans justement apporter de nouvelles fonctionnalités. Pour moi, c'est au contraire les inconvénients de Dart sans les avantages.

  4. #164
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 657
    Points : 1 237
    Points
    1 237
    Par défaut
    CoffeeScript étant lui aussi compilé, il souffre au contraire des problèmes que tu cites si dessus, sans justement apporter de nouvelles fonctionnalités. Pour moi, c'est au contraire les inconvénients de Dart sans les avantages.
    On peut utiliser jQuery ou n'importe quelle autre bibliothèque js avec Coffeescript , ce qui n'est pas le cas de Dart.

    Et surtout , pour moi le principale avantage de Coffeescript , c'est qu'on écrit 2 fois moins de code que l'équivalent en Js.

    Coffeescript apporte des fonctionnalités au sens syntaxique.

    par exemple

    Code : 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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
     
    class MaSuperClasse
     
      monChamps: "valeur"
     
      maMethode:->
        domElement.onclick=(e)=>
          # la fonction est toujours executée dans le contexte de MaSuperClasse
          # donc access à mon champs sans écrire _this = this.
          alert(@monChamps) unless @monChamps is null
     
     
    class MaSousClasse extends MaSuperClasse
     
      constructor:(obj={param1:1,param2:2})-> # définit des valeurs par défaut pour param1 et param2
        {@param1,@param2} = obj # extrait param1 et param2 de obj
     
      maMethode:->
        super() # execute la maMethode de MaSuperClasse
        # autres opérations
        console?.log @param2 # execute console.log() si console est défini
     
      monAutreMethode:->
        domElement.onmouseover = do -> #closure , fonction auto executée
          # opérations
          i = 0
          return (e)->
            # opérations
            console?.log ++i
     
    App?= # n'écrase pas App si App est défini
      instanceMaSuperClasse : new MaSuperClasse()
      instanceMaSousClasse : new MaSousClasse({param1:3,param2:4})
     
    App.instanceMaSousClasse.maMethode() # alert et log 4
    Pour réaliser toutes les opérations effectuées ci - dessus en javascript , il faut au moins écrire 2 fois plus de code , et du code bien moins lisible. Qui dit code lisible dit moins d'erreurs de logique et moins de temps passé à débugger un script. Utiliser les classes de Coffeescript permet déja d'améliorer l'organisation des scripts , etc...
    Pas de points virgules , de var , etc ...
    Quand on écrit un script de 200 "classes" , c'est quand même bien pratique.

  5. #165
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Le problème est plutôt là:if(absolu==3){var abs=6;}. Ca ne choque peut-être pas les habitués de Javascript, mais pour moi c'est aberrant qu'une variable déclarée a l'intérieur d'un bloc soit visible à l'extérieur.
    j'ai du mal a comprendre l'utilisation du mot aberrant qui me parait execessif ?

  6. #166
    Membre éclairé Avatar de unknow0
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 452
    Points : 676
    Points
    676
    Par défaut
    Citation Envoyé par mekal Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Le problème est plutôt là:if(absolu==3){var abs=6;}. Ca ne choque peut-être pas les habitués de Javascript, mais pour moi c'est aberrant qu'une variable déclarée a l'intérieur d'un bloc soit visible à l'extérieur.
    j'ai du mal a comprendre l'utilisation du mot aberrant qui me parait execessif ?
    pas excessif pour toute personne venant de java/c/c++/a-peu-pres-tous-les-languages se que tu declare dans un bloc n'ai pas visible ailleurs et le contraire serais une violation d'une des regles de base du language et donc aberrant

  7. #167
    Membre chevronné
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Points : 2 015
    Points
    2 015
    Par défaut
    C'est juste un principe de portée différent. Dans ce cas, tu peux aussi être choqué qu'il n'y a pas de classe à proprement parler, ni d'interface et que tout est objet. Ou encore que tu peux instancier un objet en appliquant un new sur une simple fonction ou sur un autre objet (pratique normale).

    Ce n'est pas aberrant, c'est juste une autre approche.

  8. #168
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 621
    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 621
    Points : 15 704
    Points
    15 704
    Par défaut
    Citation Envoyé par camus3 Voir le message
    On peut utiliser jQuery ou n'importe quelle autre bibliothèque js avec Coffeescript , ce qui n'est pas le cas de Dart.

    Et surtout , pour moi le principale avantage de Coffeescript , c'est qu'on écrit 2 fois moins de code que l'équivalent en Js.
    Le fait de ne pas pouvoir utiliser de bibliothèque JS est en effet une limitation, ceci dit si Dart réussi a percer, il y aura certainement des bibliothèque Dart autrement plus agréables a utiliser.
    Diminuer le nombre de ligne de code, quand ça ne nuit pas a la lisibilité (ce qui est plutôt le cas dans coffescript), c'est bien mais c'est un peu juste pour me convaincre de changer de langage, et de passer par un compilateur intermédiaire.

    Citation Envoyé par mekal
    j'ai du mal a comprendre l'utilisation du mot aberrant qui me parait execessif ?
    Comme je l'ai dit, ca ne parait certainement pas anormal pour des habitués Javascript. Mais n'importe qui, venant de n'importe quel langage à crochets risque de ce faire piéger. Je ne connait pas d'autre langage du style ou les déclaration a l'interieur d'un bloc sont visibles a l'exterieur. Ca présente un sarcé risque d'ecraser la valeur d'une variable par une autre.

    Citation Envoyé par gwinyam
    C'est juste un principe de portée différent. Dans ce cas, tu peux aussi être choqué qu'il n'y a pas de classe à proprement parler, ni d'interface et que tout est objet. Ou encore que tu peux instancier un objet en appliquant un new sur une simple fonction ou sur un autre objet (pratique normale).

    Ce n'est pas aberrant, c'est juste une autre approche.
    Je suis d'accord que c'est une approche différente mais cette approche va a l'encontre d'une programmation propre et compartimentée qui est clairement un énorme atout quand on en arrive a de vrai programmes complexes.

    Plus j'en apprend sur Javascript, plus je me dis : "mais quelle horreur". Dernière en date, j'ai testé une amélioration de l'exemple de abriotde.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      var test=9;
      if (true){
        var test=5;
      }
      document.write(test);
    Ca retourne bien 5, sans le moindre message d'avertissement. Si ça vous parait naturel, c'est que c'est moi qui ai un problème.

  9. #169
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 657
    Points : 1 237
    Points
    1 237
    Par défaut
    Envoyé par camus3
    j'ai du mal a comprendre l'utilisation du mot aberrant qui me parait execessif ?
    @Uther
    Je ne suis pas sur d'avoir dit ce que tu cites :

    Coffeescript est javascript , son créateur dont j'ai oublié le nom est l'auteur de 2 autres librairies connues , backbonejs un framework MVC et underscore , une librairie de fonctions inspirées de prototype ( sans pour autant toucher au prototype Object de base ). Coffeescript a été "adoubé" par le créateur de Javascript et beaucoup de ses fonctionnalités , comme les Splats , Array compréhensions et Destructurors vont se retrouver dans la prochaine version de Javascript. C'est donc aussi l'occasion d'utiliser les futures fonctionnalités de javascript dès maintenant , tout en produisant un code extrêmement propre et tient compte du comportement différent entre les versions d'IE inférieur à 9 et la plupart des autres navigateurs ( problème de variable "hoisting" ). Enfin le code généré ne produit pas d'erreur à travers un Linter.

    pour info , voici les code généré par le compilateur :

    Code : 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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    var MaSousClasse, MaSuperClasse,
      __hasProp = Object.prototype.hasOwnProperty,
      __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor; child.__super__ = parent.prototype; return child; };
     
    MaSuperClasse = (function() {
     
      function MaSuperClasse() {}
     
      MaSuperClasse.prototype.monChamps = "valeur";
     
      MaSuperClasse.prototype.maMethode = function() {
        var _this = this;
        return domElement.onclick = function(e) {
          if (_this.monChamps !== null) return alert(_this.monChamps);
        };
      };
     
      return MaSuperClasse;
     
    })();
     
    MaSousClasse = (function(_super) {
     
      __extends(MaSousClasse, _super);
     
      function MaSousClasse(obj) {
        if (obj == null) {
          obj = {
            param1: 1,
            param2: 2
          };
        }
        this.param1 = obj.param1, this.param2 = obj.param2;
      }
     
      MaSousClasse.prototype.maMethode = function() {
        MaSousClasse.__super__.maMethode.call(this);
        return typeof console !== "undefined" && console !== null ? console.log(this.param2) : void 0;
      };
     
      MaSousClasse.prototype.monAutreMethode = function() {
        return domElement.onmouseover = (function() {
          var i;
          i = 0;
          return function(e) {
            return typeof console !== "undefined" && console !== null ? console.log(++i) : void 0;
          };
        })();
      };
     
      return MaSousClasse;
     
    })(MaSuperClasse);
     
    if (typeof App === "undefined" || App === null) {
      App = {
        instanceMaSuperClasse: new MaSuperClasse(),
        instanceMaSousClasse: new MaSousClasse({
          param1: 3,
          param2: 4
        })
      };
    }
     
    App.instanceMaSousClasse.maMethode();
    Ca reste quand même très lisible et permet même d'apprendre quelques bonnes pratiques par la même.

  10. #170
    Membre extrêmement actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2011
    Messages
    749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 749
    Points : 2 878
    Points
    2 878
    Par défaut
    Je ne suis pas sur d'avoir dit ce que tu cites :
    Il l'a pourtant fait. Et comme lui, je trouve complètement aberrant qu'une variable déclarée dans un bloc ait une portée de variable globale. C'est juste idiot, et une source d'erreurs qui était pourtant aisément évitable. Pour quelqu'un qui vient d'un langage bien foutu (/taunt), une telle possibilité est à se taper la tête contre les murs.

    Ca reste quand même très lisible et permet même d'apprendre quelques bonnes pratiques par la même.
    Lisible, oui. Mais combien vont relire le code compilé et y trouver matière à apprendre quoi que ce soit ? Le dev de base, il va plutot reprendre son code et bosser dessus plutot que de relire un truc "compilé".

  11. #171
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 621
    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 621
    Points : 15 704
    Points
    15 704
    Par défaut
    Citation Envoyé par DevTroglodyte
    Il l'a pourtant fait.
    Non il y avait vraiment une erreur de personne citée, c'est mekal qui avait dit la phrase en question. J'ai édité pour corriger.

  12. #172
    Membre extrêmement actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2011
    Messages
    749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 749
    Points : 2 878
    Points
    2 878
    Par défaut
    au temps pour moi, vu que c'est le meme discours, j'ai confondu

  13. #173
    Expert éminent
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 418
    Points : 7 296
    Points
    7 296
    Par défaut
    Je trouve l'initiative louable, ainsi que la compatibilité avec javascript.

    J'attends de voir ce que mozilla et opera vont en faire... Il y a en effet peu de chance que microsoft adoube le projet sans broncher... encore que, a travers un échange de bon procédés entre "grands" ou une participation dans Dart, ca serait pas une première.

    Qu'un seul navigateur extérieur a la firme l'intègre et on va voir très vite le mouvement se mettre en marche.

    Et pour ce qui est de jquery, et autre librairie javascript, elles n'existent que parce que javascript est une bouse. Si on pond un nouveau langage propre, pourquoi les garder ?

    il faut juste recoder les fonctions sympathique(slide up, down, calendar, validation, etc...) dans DART ou les intégrer dans des librairies optionnelles.
    Dans 6 mois ca existe si dart se popularise...

  14. #174
    Invité
    Invité(e)
    Par défaut
    Et comme lui, je trouve complètement aberrant qu'une variable déclarée dans un bloc ait une portée de variable globale. C'est juste idiot, et une source d'erreurs qui était pourtant aisément évitable.
    pour moi en javascript on ne travaille jamais dans le contexte global pour la simple et bonne raison que plusieurs programmes peuvent se côtoyer dans une page web (scoop de variables, fonctions) et pour moi un bloc tel une condition se trouve automatiquement dans une fonction et reste donc local on prendra juste soin de declarer la variable avec le mot var sinon elle devient global, j'utilise les variables global uniquement pour mes espace de nom (espace de travaille) et c'est la meme chose avec les fonctions qui dans le contexte global servent a créé des pseudos class après je n'est jamais perçu cette histoire de variable déclare dans un bloc et visible hors du bloc comme réellement gênant.

  15. #175
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 621
    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 621
    Points : 15 704
    Points
    15 704
    Par défaut
    Citation Envoyé par mekal
    pour moi en javascript on ne travaille jamais dans le contexte global pour la simple et bonne raison que plusieurs programmes peuvent se côtoyer dans une page web (scoop de variables, fonctions) et pour moi un bloc tel une condition se trouve automatiquement dans une fonction et reste donc local.
    D'accord la dessus. D'ailleurs quelque soit le langages, il faut faire attention avec tout ce qu'on met en global.

    Ceci dit le problème du petit bout de code que je cite plus haut se produit tout aussi bien s'il est à l'intérieur d'une fonction. La seconde déclaration est traitée comme une affectation, c'est quand même assez déroutant.

    Citation Envoyé par mekal
    on prendra juste soin de déclarer la variable avec le mot var sinon elle devient global
    Là se situe déjà 2 gros problèmes pour moi:
    - une variable globale ne devrait pouvoir être déclaré que dans la partie globale
    - la déclaration globale automatique sans mot clé fait qu'on a vite fait de transformer une affectation en déclaration par erreur.

    Citation Envoyé par mekal
    je n'est jamais perçu cette histoire de variable déclare dans un bloc et visible hors du bloc comme réellement gênant.
    Ce n'est pas forcément gênant, surtout dans les cas d'utilisation classique du javascript où on a rarement des fonctions complexes.
    Mais c'est clairement ce genre de problèmes accumulés qui font que le langage ne me parais pas adapté à des applications lourdes.

  16. #176
    Membre chevronné
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Points : 2 015
    Points
    2 015
    Par défaut
    Ce langage a, comme tout les langages sans exception, ses défauts. Ce que vous qualifiez de défaut majeur, ici la question de la portée des variables, est facilement une plaie pour le développeur qui n'a pas l'habitude de travailler avec. Cependant, et à l'instar de Smalltalk qui pouvait presque se réécrire/re-compiler à la volée, JavaScript offre une puissance incroyable dûe à sa souplesse difficilement égalable.

    Alors certes, il a des défauts, qui peuvent être parfois critiques mais qui offrent une capacité incroyable d'évolutions de travail. Essayez de voir plus loin que vos habitudes et vous devriez vite vous rendre compte que c'est vraiment un langage à fort potentiel.

  17. #177
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 621
    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 621
    Points : 15 704
    Points
    15 704
    Par défaut
    Citation Envoyé par gwinyam
    JavaScript offre une puissance incroyable dûe à sa souplesse difficilement égalable.
    C'est justement là le cœur du sujet : la souplesse est ce que l'on attend d'un langage de script, dans ce domaine JavaScript est en effet très bon même si sa syntaxe est perfectible (coffescript règle bien ça).

    Mais ce que l'on attend d'un langage de développement d'application lourde (et ce qu'apporte Dart), c'est justement de la rigidité : qu'on ne soit pas encouragé a faire n'importe quoi n'importe comment. Pour avoir un code, des outils et des docs facile à prendre en main.

  18. #178
    Invité
    Invité(e)
    Par défaut
    J'ai commencé à apprendre Dart depuis la sortie de cette version de chromium avec vm intégrée.

    Je suis en ce moment en train de développer un système d'application multi-fenêtre en Javascript, je trouvais cela assez déroutant. Chaque fenêtre est représenté/gérer par une class Frame possédant un id unique etc...

    Depuis le Week end Dernier, j'ai commencé à développer ce système, mais cette fois-ci en Dart.
    Bon, bien évidement, il y a le temps d'apprentissage qui est à prendre en compte, et l'api publié sur Dartlang est actuellement le seul support que nous ayons pour cela. Mais il faut le reconnaître, la simple notions d'objet, le typage et l'api de base (Hashtable et j'en passe), rend le code et l'application bien plus stable et plus simple.

    Javascript a beaucoup d'avantages, simplicité, souplesse, ce qui est très bien adapté pour 90% des sites web aujourd'hui.
    Cependant, quand cela concerne des applications plus complexe, plus lourde, la gestion d'un code structuré devient une nécessité, et le typage offre plus de garantie et de robustesse à l'ensemble.

  19. #179
    Membre chevronné
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Points : 2 015
    Points
    2 015
    Par défaut
    Retour intéressant, tu saurais en raconter plus? Les pièges dans lesquels t'es tombé ?

  20. #180
    OPi
    OPi est déconnecté
    Membre actif
    Avatar de OPi
    Homme Profil pro
    en recherche d'emploi
    Inscrit en
    Août 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : en recherche d'emploi
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2005
    Messages : 74
    Points : 245
    Points
    245
    Par défaut
    Citation Envoyé par Uther
    Comme je l'ai dit, ca ne parait certainement pas anormal pour des habitués Javascript. Mais n'importe qui, venant de n'importe quel langage à crochets risque de ce faire piéger. Je ne connait pas d'autre langage du style ou les déclaration a l'interieur d'un bloc sont visibles a l'exterieur.
    En PHP aussi la portée des variables est une portée de fonction et non une portée de bloc ! Même si PHP n'est pas une référence

Discussions similaires

  1. [OpenSource][C++] Eplith: Un nouveau langage de programmation
    Par Quent42340 dans le forum Mon programme
    Réponses: 2
    Dernier message: 02/06/2012, 22h32
  2. Réponses: 130
    Dernier message: 04/02/2011, 10h11
  3. Choix d'un nouveau langage de programmation
    Par ProgVal dans le forum Langages de programmation
    Réponses: 9
    Dernier message: 09/01/2010, 15h20
  4. Comment rajouter un nouveau langage de programmation ?
    Par Acropole dans le forum Eclipse
    Réponses: 2
    Dernier message: 12/11/2009, 15h40
  5. Nouveau langage de programmation : le langage G
    Par G-FACTION dans le forum Autres langages
    Réponses: 10
    Dernier message: 19/07/2009, 19h58

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