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

JavaScript Discussion :

Microsoft serait en train de réécrire certains de ses outils et logiciels en JavaScript ? ou pas ?


Sujet :

JavaScript

  1. #101
    Membre expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Points : 3 543
    Points
    3 543
    Par défaut
    Allez, je rentre dans la mêlée

    Citation Envoyé par Marco46 Voir le message
    C'est une mauvaise pratique que de faire faire autre chose à un constructeur que de l'assignation de valeurs. Pour plein de raisons à commencer par une toute simple, c'est que le code ne fait pas strictement ce qu'il dit. Comment je sais à la lecture d'un tel code const url = new Url('http://www.domain.tld') que je suis entrain de vérifier la validité de l'url ? C'est écrit explicitement où ? Qu'est-ce qui me garanti que je ne fais que ça et pas autre chose ?
    C'est une mauvaise connaissance de la POO que de croire que le but du constructeur est de ne faire que de l'assignation de valeurs. Le but d'un constructeur est, comme son nom l'indique, la construction de l'objet. Et un objet est considéré comme construit quand il est valide. Dans l'exemple qui nous occupe, un objet valide représente une url valide et donc il est normale que la vérification ait lieu dans le constructeur.


    Citation Envoyé par Marco46 Voir le message
    Je ne vois pas en quoi les tests sont inutiles, il faut bien tester la logique de vérification de l'url. Que tu implémentes la vérification dans ton constructeur ou que tu passes par une fonction n'y change rien. Ou bien tu envisages de ne pas tester ta logique de vérification ?
    Il n'est pas dit ici que les tests sont inutiles, mais juste que l'intérêt d'utiliser des types du genre Url est que les tests de vérification / validation / etc. ont été effectués par le concepteur de la classe et que donc pas besoin de les refaire.



    Pour en revenir au débat plus global, je trouve ça amusant.. Chaque langage, chaque paradigme a ses forces et ses faiblesses.. mais venir dire le JS c'est dégueulasse parce que je sais pas écrire du C++ en JS ou inversément, c'est comme si on venait à dire le français, c'est dégueulasse parce que je ne peux pas utiliser la même construction grammaticale qu'en allemand ou en néerlandais !!

    Mais bon, le problème avec des langages qui prennent subitement un coup de projecteur, c'est le même qu'avec un marteau.. Quand on en trouve un beau, on voit des clous partout !
    Si ton problème a une solution, rien ne sert de t'inquiéter..
    Si il n'en a pas, t'inquiéter ne sert à rien


  2. #102
    Membre émérite
    Profil pro
    retraité
    Inscrit en
    Décembre 2010
    Messages
    806
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2010
    Messages : 806
    Points : 2 310
    Points
    2 310
    Par défaut
    Citation Envoyé par grunk Voir le message
    Peros j'ai déjà eu à écrire des UI en :
    - HTML/CSS/JS
    - QT
    - MFC
    - Swing
    - JavaFx
    - Android

    et très clairement le combo html/css est le plus facile à mettre en oeuvre dès qu'on à besoin de personnaliser son UI. On peut aller très loin sans difficulté particulière , là ou d'autre demanderais des surcharge de classe et autre joyeuseté.

    Pas étonnant donc que l'accent soit mit sur cette techno quand c'est possible pour réaliser des UI.
    Je dirais qu'en QML est encore plus simple à écrire

  3. #103
    Expert éminent
    Avatar de Pyramidev
    Homme Profil pro
    Développeur
    Inscrit en
    Avril 2016
    Messages
    1 471
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Avril 2016
    Messages : 1 471
    Points : 6 109
    Points
    6 109
    Par défaut
    Citation Envoyé par Marco46 Voir le message
    Mais pourquoi tu me sors du C++ alors qu'on parlait de l'utilité de la POO en JavaScript ?!?
    Parce que je ne maîtrise pas le JavaScript. Mais, peu importe le langage. La programmation par contrats, c'est très général.
    D'ailleurs, en JavaScript, quelle est la manière la plus courante de faire de la programmation par contrats ? contract-js ? babel-plugin-contracts ? autre chose ?

  4. #104
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    Avril 2014
    Messages
    2 324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : Avril 2014
    Messages : 2 324
    Points : 2 006
    Points
    2 006
    Billets dans le blog
    1
    Par défaut
    Pour en revenir au débat plus global, je trouve ça amusant.. Chaque langage, chaque paradigme a ses forces et ses faiblesses.. mais venir dire le JS c'est dégueulasse parce que je sais pas écrire du C++ en JS ou inversément, c'est comme si on venait à dire le français, c'est dégueulasse parce que je ne peux pas utiliser la même construction grammaticale qu'en allemand ou en néerlandais !
    JavaScript est dégueulasse car il s'agit à la base d'un langage bidouillé pour faire clignoter des textes sur une page ou ouvrir des popups.
    Alors certes il a évolué, mais beaucoup moins que PHP qui est lui devenu un langage très complet.
    A titre d'exemple, je ne vois pas l'intérêt d'avoir ajouté le support des classes mais d'avoir omis la possibilité de déclarer des propriétés dans ces classes en dehors d'une méthode.

  5. #105
    Membre expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Points : 3 543
    Points
    3 543
    Par défaut
    Citation Envoyé par Sodium Voir le message
    A titre d'exemple, je ne vois pas l'intérêt d'avoir ajouté le support des classes mais d'avoir omis la possibilité de déclarer des propriétés dans ces classes en dehors d'une méthode.
    Extrait de https://developer.mozilla.org/fr/doc...erence/Classes

    Les classes JavaScript ont été introduites avec ECMAScript 2015. Elles sont un « sucre syntaxique » par rapport à l'héritage prototypal. En effet, cette syntaxe n'introduit pas un nouveau modèle d'héritage dans JavaScript ! Elle fournit uniquement une syntaxe plus simple pour créer des objets et manipuler l'héritage.
    Et pour moi, c'est juste pour répondre à une demande absurde de ceux qui veulent que ce soit le langage qui s'adapter à leur façon de travailler plutôt que l'inverse…
    Si ton problème a une solution, rien ne sert de t'inquiéter..
    Si il n'en a pas, t'inquiéter ne sert à rien


  6. #106
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 562
    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 562
    Points : 15 493
    Points
    15 493
    Par défaut
    Citation Envoyé par Pongten Voir le message
    Et pour moi, c'est juste pour répondre à une demande absurde de ceux qui veulent que ce soit le langage qui s'adapter à leur façon de travailler plutôt que l'inverse…
    Pour moi, ça n'est pas absurde : la nouvelle syntaxe est quand même plus claire que l'ancienne. Il faut juste être conscient du fait qu'une classe en JavaScript, ça n'est pas exactement la même chose qu'en Java, ni qu'en C++.

  7. #107
    Membre expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Points : 3 543
    Points
    3 543
    Par défaut
    Citation Envoyé par Uther Voir le message
    Pour moi, ça n'est pas absurde : la nouvelle syntaxe est quand même plus claire que l'ancienne. Il faut juste être conscient du fait qu'une classe en JavaScript, ça n'est pas exactement la même chose qu'en Java, ni qu'en C++.
    Justement, c'est en ça que je trouve ça absurde.. parce que la plupart est habituée à voir de classes, ils ont cédé à la pression en introduisant le mot clé, alors que derrière le concept n'est pas le même.. C'est donc normal que ça entraine des confusions.
    Si ton problème a une solution, rien ne sert de t'inquiéter..
    Si il n'en a pas, t'inquiéter ne sert à rien


  8. #108
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    Avril 2014
    Messages
    2 324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : Avril 2014
    Messages : 2 324
    Points : 2 006
    Points
    2 006
    Billets dans le blog
    1
    Par défaut
    Et pour moi, c'est juste pour répondre à une demande absurde de ceux qui veulent que ce soit le langage qui s'adapter à leur façon de travailler plutôt que l'inverse…
    Si tous les développeurs qui ne sont pas des fanboys de JavaScript se plaignent de sa syntaxe, c'est qu'il y a un problème avec le langage, pas avec les utilisateurs.

  9. #109
    Membre expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Points : 3 543
    Points
    3 543
    Par défaut
    Citation Envoyé par Sodium Voir le message
    Si tous les développeurs qui ne sont pas des fanboys de JavaScript se plaignent de sa syntaxe, c'est qu'il y a un problème avec le langage, pas avec les utilisateurs.
    Je suis loin d'être un Fanboy javascript (je dirais même plutôt que je suis un fanboy .NET C#), mais je ne me plains pas de la syntaxe javascript.. tout comme je ne me plaindrais pas de la syntaxe python, ruby, etc... c'est juste que ce sont des langages différents, si je souhaite m'y intéresser, je l'apprend, comment il s'écrit, comment il s'architecture.. et je commence pas à râler parce que LINQ n'existe pas en JS !

    Pour moi un langage, c'est comme une langue étrangère.. c'est toi qui apprend comment la parler, tu ne demandes pas à la langue de s'adapter à ta langue maternelle...
    Si ton problème a une solution, rien ne sert de t'inquiéter..
    Si il n'en a pas, t'inquiéter ne sert à rien


  10. #110
    Membre régulier
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2011
    Messages : 76
    Points : 86
    Points
    86
    Par défaut
    Citation Envoyé par Sodium Voir le message
    Si tous les développeurs qui ne sont pas des fanboys de JavaScript se plaignent de sa syntaxe, c'est qu'il y a un problème avec le langage, pas avec les utilisateurs.
    Désolé si toi et d'autres membres de se forums êtes trop stupides que pour changer de schéma pensée... Je fais autant de C# que Javascript et je n'ai aucun mal de passer de l'un à l'autre. J'a même tendance à préférer le Javascript pour sa grande flexibilité, par rapport à C# que je trouve un peu trop rigide du au fait qu'il s'appuie sur les classes. Dans les deux cas je trouve que ce sont des langages fantastiques et complémentaires.

    Mais je me rappelle l'époque ou j'étais fanboy M$ et je dénigrais javascript en le traitant de tout les noms... Et puis un jour j'ai décidé de m'y mettre et d'aborder le langage sans me référer à mes connaissances liées au C# et là ce fut une réelle découverte.

    Tenez je vous fait un cadeau : https://www.barbarianmeetscoding.com...rp-developers/ : Object oriented language javascript for C# developer, ça va peut-être vous permettre d'enfin ouvrir les yeux et de sortir des vos idées de mecs butés, entêtés et frustrés de l'incomprhension d'un langage qui aujourd'hui est entrain de prendre sa revanche sur tous ses détracteurs qui le critiquent depuis bientôt 20 longues années.

    Citation Envoyé par Pongten Voir le message
    Je suis loin d'être un Fanboy javascript (je dirais même plutôt que je suis un fanboy .NET C#), mais je ne me plains pas de la syntaxe javascript.. tout comme je ne me plaindrais pas de la syntaxe python, ruby, etc... c'est juste que ce sont des langages différents, si je souhaite m'y intéresser, je l'apprend, comment il s'écrit, comment il s'architecture.. et je commence pas à râler parce que LINQ n'existe pas en JS !
    C# : Linq -> Javascript : Lodash

  11. #111
    Membre expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Points : 3 543
    Points
    3 543
    Par défaut
    Citation Envoyé par crodilus Voir le message
    C# : Linq -> Javascript : Lodash
    Excellent Je note
    Si ton problème a une solution, rien ne sert de t'inquiéter..
    Si il n'en a pas, t'inquiéter ne sert à rien


  12. #112
    Membre régulier
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2011
    Messages : 76
    Points : 86
    Points
    86
    Par défaut
    Citation Envoyé par Pongten Voir le message
    Excellent Je note
    Tu ne t'en passeras plus, j'écris quasiment tout mon code à l'aide de cette librairie. Elle respecte le "receive object Return object", elle aussi permet de rendre le code plus fonctionnel -> c'est un juste un régal. Il y aussi UnderscoreJS mais ma préférence va à Lodash.

  13. #113
    Expert éminent
    Avatar de Pyramidev
    Homme Profil pro
    Développeur
    Inscrit en
    Avril 2016
    Messages
    1 471
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Avril 2016
    Messages : 1 471
    Points : 6 109
    Points
    6 109
    Par défaut
    C'est le festival des insultes, ce fil.
    • « Quand on tient ce genre de discours, on est soit très vieux et dépassé, soit très jeune et inexpérimenté, soit juste incompétent. »
    • « Je n'ai jamais vu un Troll pareil dans un forum informatique. Tu sors de quelle planète franchement ? »
    • « stupides »
    • « mecs butés, entêtés et frustrés »

  14. #114
    Membre régulier
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2011
    Messages : 76
    Points : 86
    Points
    86
    Par défaut
    Citation Envoyé par Pyramidev Voir le message
    C'est le festival des insultes, ce fil.
    • « Quand on tient ce genre de discours, on est soit très vieux et dépassé, soit très jeune et inexpérimenté, soit juste incompétent. »
    • « Je n'ai jamais vu un Troll pareil dans un forum informatique. Tu sors de quelle planète franchement ? »
    • « stupides »
    • « mecs butés, entêtés et frustrés »
    Je ne vois aucune insultes dans ces 4 citations ou alors on a pas la même définition du mot insulte ... Pour moi ce sont des défauts récurent que l'on retrouve chez une certaine partie des développeurs.. Enfin ce ci n'est pas l'objet du débat.

  15. #115
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    Avril 2014
    Messages
    2 324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : Avril 2014
    Messages : 2 324
    Points : 2 006
    Points
    2 006
    Billets dans le blog
    1
    Par défaut
    Désolé si toi et d'autres membres de se forums êtes trop stupides que pour changer de schéma pensée...
    Oui bien entendu, ça fait 10 ans que je fais du JavaScript, j'ai lu je ne sais combien de bouquins sur le langage et ses librairies / frameworks, j'ai codé un bon paquet d'applications web avec mais oui, je déteste JavaScript parce que je ne connais pas bien le langage

  16. #116
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    1 616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 616
    Points : 3 965
    Points
    3 965
    Par défaut
    Citation Envoyé par Sodium Voir le message
    JavaScript est dégueulasse car il s'agit à la base d'un langage bidouillé pour faire clignoter des textes sur une page ou ouvrir des popups.
    Alors certes il a évolué, mais beaucoup moins que PHP qui est lui devenu un langage très complet.
    A titre d'exemple, je ne vois pas l'intérêt d'avoir ajouté le support des classes mais d'avoir omis la possibilité de déclarer des propriétés dans ces classes en dehors d'une méthode.
    Non il n'a pas été fait dans cet esprit mais dans l'idée d'embarquer un langage de programmation accessible tant au pro qu'à l'amateur dans le navigateur, donc offrant les concepts de POO tout en promouvant l'aisance des scripts.
    Et je crois fort que ça emmerde beaucoup de "pros"

    Le gars qui a conçu ce langage avait des idées dans la tête, il voulait s'inspirer de Scheme et de Self, et ce qui fait le succès de Javascript aujourd'hui ce sont bien ses choix :

    I’m not proud, but I’m happy that I chose Scheme-ish first-class functions and Self-ish (albeit singular) prototypes as the main ingredients. The Java influences, especially y2k Date bugs but also the primitive vs. object distinction (e.g., string vs. String), were unfortunate.
    https://brendaneich.com/2010/07/a-br...of-javascript/


    Citation Envoyé par Sodium Voir le message
    Si tous les développeurs qui ne sont pas des fanboys de JavaScript se plaignent de sa syntaxe, c'est qu'il y a un problème avec le langage, pas avec les utilisateurs.
    C'est toi qui a un problème avec le langage, toutes les statistiques le prouvent, c''est probablement le langage le plus utilisé au monde. Peut être mal, mais de toute façon la réalité te donne tord.
    Alors tu peux gloser, mais c'est comme si tu étais dans le royaume des aveugles et que ces fanboys que tu étiquettes avec mépris étaient les borgnes.

    Microsoft est et reste la première boite de software, de logiciels au monde. Ses choix ne sont pas toujours heureux, mais cette boite se respecte.
    Moi je respecte, parce que dans mes premiers bouquins d'informatiques, quand j'étais môme, j'ai eu le premier Science et Vie Micro (!!!), il y avait des pubs pour Multiplan, l’ancêtre d'excel, et c'était déjà Microsoft.
    Javascript a été l'une de leur brique dès le départ, peu de temps après Netscape, ils n'ont pas toujours suivi, la mort de Netscape les a endormis, mais ne s'acharnent pas dans leurs erreurs, donc ils ont depuis longtemps rattrapé leur retard et Edge ou Typescript le prouvent une fois encore.
    Et si il y a des boites où il y a des développeurs, et où on connait le développement logiciel, ainsi que tous ces paradigmes, c'est bien chez Microsoft, qui vous offre des plate-formes de dev où l'on peut faire aussi bien du C++, du C#, du basic, du Jscript...

    Après vous vous écharpez sur des détails, qui au passage moi m'échappent complètement.

    La vitalité d'un écosystème c'est sa diversité. Tous les langages en font partie.

    Un langage c'est un outil pour exprimer la pensée. Ca apporte plus ou moins de facilités, de richesses de vocabulaires, de "poésie" ou d'esthétique, mais c'est vrai de tous les langages.

    Et la grande force de JavaScript, c'est l’extrême richesse de ses possibilités d'expression, tout en restant sur des bases somme toutes anciennes. Cela prouve plutôt à quel point les choix étaient bon.

    Pour ma part je n'arrive pas à penser en objet, de la manière classique telle qu'elle est souvent évoquée ici.
    Pour moi qui n'a pas eu droit au bourrage de crane scolaire, l'approche fonctionnelle ou bien procédurale est bien plus intuitive.
    Elle n'exclut pas l'objet, mais ces objets sont l'objet justement de traitements qui correspondent à des fonctions. On peut chainer ces traitements sans que ceux-ci dussent répondre forcément d'appartenir à une classe et tout le bataclan bien lourdingue de la POO.
    C'est juste comme la réalité de la plupart des productions humaines, on prend des matières, on les transforme, on les combine, on les assemble, et on en sort des objets finis. Aucun de ces objets dans la vraie vie, pas plus que les matières ou les objets intermédiaires qui vont composer l'objet final ne portent les fonctions qui permettent ces transformations, combinaisons, compositions...

    Javascript permet de penser comme ça, et de l'exprimer, sans devoir absolument encapsuler le moindre traitement dans une classe ou une instance.
    Javascript permet de penser simplement et de le réaliser, et de plein de manières différentes, quasi systématiquement.

    Mais Javascript permet aussi de penser de cette autre manière que je trouve tellement tarabiscotée, complexe, lourde, contre-nature...

    Et cette richesse d'expression va jusqu'à autoriser de reproduire les éléments tant réclamés par certains, à l'image de Typescript.

    Je vais passer pour un gros fanboy mais je m'en fiche.

    La vitalité du web, du WWW est indéniable, alors comment prétendre qu'il y a un problème avec le langage.

    Vous pouvez lire l'article de Brendan Eich, au début il y avait de la concurrence, Flash et ActionScript, Java et les applets.
    Je me souviens bien moi des applets, mais ça fait un bail que je n'en vois plus sur les sites.

    Alors quoi ? Java c'est pas le paradis de la POO et du typage statique ? Pourquoi ça ne marche pas ?
    C'est la faute à pas de bol ? 23 ans de pas de bol ?

    Ou bien les devs sont nuls ? (pas taper ... )
    Émotion
    Infantilisation
    Culpabilisation

    Christophe Alévèque - 18 Mars 2021

  17. #117
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    Avril 2014
    Messages
    2 324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : Avril 2014
    Messages : 2 324
    Points : 2 006
    Points
    2 006
    Billets dans le blog
    1
    Par défaut
    Tiens d'ailleurs les gens de Microsoft sont eux aussi tellement nuls et incapables de changer de paradigme qu'ils ont développé TypeScript par dessus pour avoir des classes, du typage strict et tout le tralala, bref, des trucs totalement inutiles réclamés uniquement par des ignorants.

    Ah, et les gens de chez Google sont eux aussi tellement nuls qu'ils ont décidé de faire de TypeScript le langage officiel d'Angular dès la version 2 au lieu de JavaScript, renommant par la même occasion AngularJs en Angular.

    Bref, pauvre monde rempli d'ignares qui ne comprennent rien à rien.

    Il faut arrêter de croire qu'on est automatiquement un visionnaire parce qu'on ne fait rien comme tout le monde. Comme le disait Jerry Seinfeld, "Sometimes the road less traveled is less traveled for a reason".

  18. #118
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Citation Envoyé par Pyramidev Voir le message
    Parce que je ne maîtrise pas le JavaScript. Mais, peu importe le langage. La programmation par contrats, c'est très général.
    D'ailleurs, en JavaScript, quelle est la manière la plus courante de faire de la programmation par contrats ? contract-js ? babel-plugin-contracts ? autre chose ?
    A ma connaissance c'est peu ou pas utilisé.

    Citation Envoyé par Pongten
    Dans l'exemple qui nous occupe, un objet valide représente une url valide et donc il est normale que la vérification ait lieu dans le constructeur.
    Je ne suis pas d'accord.

    Si tu veux représenter une url valide tu te fais une classe ValidUrl. Tu pourrais très bien vouloir manipuler une url invalide pour x raisons. En proposant implicitement que l'url doit être valide tu masques le comportement réel de ton constructeur et tu fais des suppositions.

    Deuxième problème comment tu définis valide ? Sur quels critères ? Pour moi tout ça nécessite un mécanisme à part, séparé et explicite.

    Citation Envoyé par Pongten
    C'est une mauvaise connaissance de la POO que de croire que le but du constructeur est de ne faire que de l'assignation de valeurs.
    C'est pas aussi clair que tu le prétends. Il y a beaucoup de développeurs qui recommandent de se limiter à l'assignation de valeurs. Le plus connu ça doit être l'article de Misko Hevery (l'auteur initial d'AngularJS) mais il y en a beaucoup d'autres.

    Citation Envoyé par Pongten
    Il n'est pas dit ici que les tests sont inutiles, mais juste que l'intérêt d'utiliser des types du genre Url est que les tests de vérification / validation / etc. ont été effectués par le concepteur de la classe et que donc pas besoin de les refaire.
    J'avais mal compris désolé. Mais du coup je ne vois toujours pas l'utilité d'une classe, surtout si vous commencez à m'écrire de la logique dans les constructeurs, ça donne plutôt envie d'interdire l'usage des keywords new et class.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  19. #119
    Membre expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Points : 3 543
    Points
    3 543
    Par défaut
    Citation Envoyé par Sodium Voir le message
    Tiens d'ailleurs les gens de Microsoft sont eux aussi tellement nuls et incapables de changer de paradigme qu'ils ont développé TypeScript par dessus pour avoir des classes, du typage strict et tout le tralala, bref, des trucs totalement inutiles réclamés uniquement par des ignorants.
    Pour info, le TypeScript a été conçu pour deux raisons :

    1. Apporter la possibilité du typage statique
    2. Apporter les fonctionnalités futures de JS au éditions actuelles de JS

    En gros, TypeScript est (excepté par rapport à la possibilité du typage) juste une anticipation de JS..
    Si ton problème a une solution, rien ne sert de t'inquiéter..
    Si il n'en a pas, t'inquiéter ne sert à rien


  20. #120
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    Avril 2014
    Messages
    2 324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : Avril 2014
    Messages : 2 324
    Points : 2 006
    Points
    2 006
    Billets dans le blog
    1
    Par défaut
    En gros, TypeScript est (excepté par rapport à la possibilité du typage) juste une anticipation de JS..
    Un chantier a beau être une "anticipation" de building de standing, je ne voudrais pas vivre sur un chantier.

    Pour la programmation c'est pareil, je n'ai pas envie de m'acharner sur un langage qui peut-être dans 15 ans sera au niveau de la concurrence, je préfère passer directement à autre chose de réellement abouti, et à ce niveau TypeScript fait toujours bien le job, même s'il manque encore des choses comme de véritables tableaux associatifs par exemple.

Discussions similaires

  1. Réponses: 132
    Dernier message: 17/04/2020, 09h22
  2. Réponses: 20
    Dernier message: 04/03/2013, 09h20
  3. Réponses: 2
    Dernier message: 19/10/2011, 14h08
  4. Réponses: 56
    Dernier message: 14/03/2011, 20h40
  5. Réponses: 1
    Dernier message: 09/11/2009, 22h31

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