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 :

Faut-il migrer de JavaScript vers PureScript ? Oui


Sujet :

JavaScript

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Dirigeant
    Inscrit en
    Juin 2016
    Messages
    3 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Dirigeant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2016
    Messages : 3 160
    Points : 66 256
    Points
    66 256
    Par défaut Faut-il migrer de JavaScript vers PureScript ? Oui
    Faut-il migrer de JavaScript vers PureScript ? Oui,
    car, JavaScript serait très limité pour la programmation fonctionnelle, selon Alex Kelley

    Pourquoi les programmeurs semblent-ils détester JavaScript ? Dans un sondage effectué récemment au sein du club, un peu plus de 52 % des développeurs ont désigné le JavaScript comme le langage de programmation qu’ils détestent le plus en 2019. Les avis étaient divers, la plupart évoquant un débogage difficile avec le langage, sa forme non typée, une façon « stupide » de gérer l’orientée objet et le fait que ce dernier permet d’ajouter facilement des bogues à son programme. Le JavaScript commence-t-il donc à être déprécié de tous ?

    En se basant sur un autre aspect de la programmation, la programmation fonctionnelle (PF), Alex Kelley, développeur Web, a expliqué cette semaine que le JavaScript est très limité sur ce point et donc, qu’il faudrait penser à migrer vers un autre langage, PureScript. Selon lui, bien que le JavaScript reprenne assez bien certaines abstractions de la programmation fonctionnelle, ce dernier n’est pas du tout adapté pour cette architecture de travail. Si vous décidez quand même de faire de la programmation fonctionnelle avec le JavaScript, vous vous rendrez vite compte, dit-il, qu’il est facile de s’égarer, puis vous retrouvez vos habitudes anciennes et impératives.

    Mais pourquoi parle-t-il de la programmation fonctionnelle ? Selon lui et beaucoup d’autres, la programmation fonctionnelle est en train de devenir la nouvelle tendance chez les programmeurs. Il s’agit en effet d’un paradigme de la programmation de type déclaratif qui considère le calcul en tant qu'évaluation de fonctions mathématiques. Comme le changement d'état et la mutation des données ne peuvent pas être représentés par des évaluations de fonctions, la programmation fonctionnelle ne les admet pas, au contraire elle met en avant l'application des fonctions, contrairement au modèle de programmation impérative qui met en avant les changements d'état. La programmation fonctionnelle s'affranchit de façon radicale des effets secondaires (ou effets de bord) en interdisant toute opération d'affectation.

    Nom : z1.png
Affichages : 21927
Taille : 34,8 Ko

    Ainsi, un langage fonctionnel est donc un langage de programmation dont la syntaxe et les caractéristiques encouragent la programmation fonctionnelle. Alors que l'origine de la programmation fonctionnelle peut être trouvée dans le lambda-calcul, on estime que le langage fonctionnel le plus ancien est Lisp, créé en 1958 par McCarthy. Lisp a donné naissance à des variantes telles que Scheme (1975) et Common Lisp (1984) qui, comme Lisp, ne sont pas ou peu typées. Des langages fonctionnels plus récents tels ML (1973), Haskell (1987), OCaml, Erlang, Clean et Oz, CDuce, Scala (2003) ou F# sont fortement typés. Le langage PureScript s'inscrit également dans cette dynamique.

    De plus, le site Web du langage lui loue les avantages suivants : il offre la possibilité de compiler en JavaScript lisible et permet de réutiliser facilement le code JavaScript existant, il possède une vaste collection de bibliothèques pour le développement, il vous permet de construire des applications du monde réel en utilisant des techniques fonctionnelles et des types expressifs (tels que les types de données algébriques et correspondance de modèles, un polymorphisme de lignes et enregistrements extensibles, un polymorphisme de rang supérieur). Alors, cela fait-il du langage PureScript un remplaçant du JavaScript sur tous les points ou seulement du point de vue fonctionnel ?

    « PureScript me tient vraiment à cœur et il est devenu mon langage fonctionnel préféré au cours des six derniers mois. Cela ressemble vraiment à une construction faite à la base avec Haskell avec certaines améliorations modernes (traitement des chaînes, enregistrements, compilation en JavaScript lisible). Vous pouvez facilement gérer les dépendances afin d’incorporer l’ensemble absolument minimal de packages nécessaires à l’exécution de votre projet, et je pense que sa sécurité est inégalée », a déclaré un utilisateur pour répondre à la question.

    Néanmoins, Alex Kelley reconnaît que le JavaScript prend en charge certaines des fonctionnalités les plus importantes de FP, notamment les fonctions et les fermetures de première classe et anonymes. Toutefois, a-t-il continué, JavaScript doit desservir plusieurs maîtres, y compris la programmation impérative et orientée objet. En conséquence, l'utilisation de JavaScript pour la PF est soumise à des limitations et à des compromis. En particulier, il manque un système de types statique, une pureté forcée et une immuabilité.

    Certaines de ces lacunes peuvent être atténuées en ajoutant un vérificateur de type statique comme Flux, des collections immuables et des bibliothèques d'abstraction. Cela signifie que la programmation fonctionnelle en JavaScript est principalement réalisée par convention, souvent pavée avec les « pansements » sus-cités. Un programmeur JavaScript fonctionnel doit rester vigilant à tout moment pour créer des fonctions pures qui évitent les effets secondaires, ce qui met trop de charges cognitives sur le programmeur et finit par gêner le codage de votre application. C’est à ce moment qu’intervient PureScript, a-t-il souligné.

    Le langage PureScript vous offre des applications côté client et côté serveur. Selon Alex Kelley, vous y trouverez également une représentation de toutes les constructions de langage FP que vous avez probablement déjà entendues ou lues, y compris la curryfication (currying), la correspondance de modèle, l’optimisation des appels de queue et les types d'ordre supérieur et élevé. Il faut noter qu’en informatique et plus précisément en programmation fonctionnelle, la curryfication est la transformation d'une fonction à plusieurs arguments en une fonction à un argument qui retourne une fonction sur le reste des arguments.

    La curryfication permet de créer des fonctions pures. L'opération inverse est possible et s'appelle la décurryfication. Le terme vient du nom du mathématicien américain Haskell Curry, bien que cette opération ait été introduite pour la première fois par Moses Schönfinkel. Enfin, a décrit Alex Kelley, PureScript n'a pas de système d'exécution pour ajouter à votre empreinte de téléchargement et en plus, il existe un FFI (foreign function interface) simple et très performant pour JavaScript. Donc, si vous ne trouvez pas encore de support pour les fonctions de votre module JavaScript préféré, il n’est pas difficile de les inclure vous-même, a-t-il conclu dans sa description.

    Quelqu’un d’autre ajoute que le JavaScript n’est pas un langage sûr, car il compile directement sur la machine de l’utilisateur donc il peut être utilisé pour de mauvaises intentions. Il souligne également son manque d’instabilité et son manque d’efficacité. Dans le premier cas, il estime que JavaScript est interprété et lu différemment par les différents moteurs JS et en retour, vous avez autant de lectures que de moteurs. Dans le deuxième cas, il explique que tous les types de variables peuvent être stockés dans une seule et même variable et les points-virgule sont obligatoires, mais inutiles. « D’autres langages existent et sont nettement mieux que le JavaScript », a-t-il conclu.

    Cela dit, d’autres par contre ne sont pas favorables à laisser tomber le JavaScript. « Le JavaScript est le langage le plus connu et le plus utilisé. Du coup, statistiquement c’est celui qui fait le plus parler de lui. Cela traduirait peut-être le fait que la plupart des développeurs ne sont pas aussi bons que ça. Et tous les autres arguments anti-JS sont exactement dans le même genre, a chaque fois c’est issue d’un anti-pattern, d’une mauvaise utilisation », déclaré l’un d’entre eux.

    Source : Billet de blog

    Et vous ?

    JavaScript ou PureScript, lequel des deux langages choisissez-vous ? Pourquoi ?
    PureScript pourra-t-il remplacer le JavaScript ?
    Connaissez-vous une autre alternative au PureScript pour la programmation fonctionnelle ?

    Voir aussi

    Sondage : quels sont les langages de programmation que vous détestez le plus en 2019 ? Pourquoi ?

    Le langage JavaScript est-il responsable de la lenteur des sites Web de nos jours ? Oui selon un expert

    AlaSQL.js, une base de données SQL JavaScript pour le navigateur et Node.js, est désormais disponible. Il serait rapide et très flexible
    Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et Rédigez des actualités

  2. #2
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Mai 2014
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Arménie

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2014
    Messages : 388
    Points : 578
    Points
    578
    Par défaut
    Bonjour,

    Il est écrit :
    Pourquoi les programmeurs semblent-ils détester JavaScript ?
    Le JavaScript laisse rarement indifférent : Bien souvent, on l'adore ou on le déteste. Bien des programmeurs trouvent ce langage merveilleux.

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut
    Allez petit pari sur l'avenir ...
    Comme toutes les autres tentatives de remplacement de JS... flop dans 6 mois ..
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre éprouvé Avatar de Drowan
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2014
    Messages
    460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2014
    Messages : 460
    Points : 1 014
    Points
    1 014
    Par défaut
    Le vrai problème de ce genre de sondage est qu'il révèle surtout quels languages sont les plus populaires et c'est un peu tout.
    Javascript étant un des language les plus connus et les plus pratiqué, il est logique qu'il possède le plus de programmeurs mécontents et de programmeurs contents.
    En prenant le sondage, On pourrait se dire que Haskell est aimé puisque peu de gens on voté pour dire qu'il ne l'aimait pas, mais je soupçonne plutôt que peu de gens le connaisse et donc n'ont pas voter pour lui faute de pouvoir émettre un avis.

    Il faudrait pouvoir répondre par Aime, n'aime pas, ne connait pas. Pour pouvoir plutôt présenté la proportion de programmeur connaissant un langage mais ne l'appréciant pas.
    "On sera toujours mieux installé assis en 1ère que debout en 2nde", un illustre inconnu


    Avant de poser une question vérifiez si elle n'a pas déjà une réponse dans les cours et tutoriels
    Si votre problème est pensez à marquer la conversation comme telle
    Si un message est utile, pertinent, et/ou vous êtes d'accord avec, pensez à à l'inverse s'il est inutile, faux ou que vous n'êtes pas d'accord, pensez à

  5. #5
    Membre émérite
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    Janvier 2011
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur touche à tout

    Informations forums :
    Inscription : Janvier 2011
    Messages : 695
    Points : 2 434
    Points
    2 434
    Par défaut
    Ma question peut paraître naïve, mais vu qu'à ma connaissance seul le javascript permet de scripter les pages web, peut-être il serait judicieux de permettre au navigateur d'interpréter d'autres langages ?
    À partir du moment ou ce remplaçant sait manipuler le DOM et d'autres APIs, et qu'il tourne dans une sandbox, ça doit être jouable ?
    Ça permettrait de programmer en Typescript, en Python ou autre.
    Et ça serait plus constructif que cet éternel débat sur la valeur du javascript.
    Je fais appel aux esprits de Ritchie, Kernighan, Stroustrup et Alexandrescu
    Donnez moi la force, donnez moi le courage de coder proprement !

    « Ça marche pas » n'est PAS une réponse convenable, merci de détailler le souci en fournissant l’environnement, le code source, les commandes et les messages d'erreur.

    Ce club possède également un clavardage, on y trouve quelques perles entre deux sessions d'entraides.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 498
    Points : 1 148
    Points
    1 148
    Par défaut
    Je croyais qu'on avait déjà la réponse avec Web Assembly. Juste une question de temps, non.

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur backend junior - Symfony
    Inscrit en
    Janvier 2018
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Développeur backend junior - Symfony
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2018
    Messages : 325
    Points : 804
    Points
    804
    Par défaut
    "Nieu nieu nieu, je suis nul en JS alors c'est forcément un langage à haïr" est l'argument le plus fréquent que j'ai vu à ce jour avec les développeurs.

    Au départ, je supportais pas ce langage, j'ai mis le nez dedans par la force et au final, j'adore : c'est ultra intéressant de développer en JS Vanilla (à mort jQuery !) bien que j'admets qu'il souffre d'une lourdeur importante par moment (m'enfin, il y a des astuces pour ça).

    J'avoue que la notion de Prototype est pas évidente mais quand même, vous pouvez pas dire que c'est "nul" et "insupportable" si vous avez pas au moins fait du forcing et pondu un système AJAX & gestion formulaire en JS Vanilla via Prototype à mes yeux (c'est un exemple parmi d'autres possibles évidemment).

    Il faut désormais que je vois la question de l'injection de modules dans un JS Vanilla pour avoir quelque chose de très intéressant (modulation selon la librairie CSS utilisée parce que les classes entre Bootstrap, Fondation & Materialize (c'est des exemples) ne sont hélas pas les mêmes).

  8. #8
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 4
    Points : 23
    Points
    23
    Par défaut
    le problème de JavaScript est que le typage est extrêmement faible, on peut tout mettre dans une variable, d'un int à une fonction en passant par un objet.
    on ne peu pas se reposer sur le compilateur pour voir les erreurs.

    cela demande donc une hygiène de dev implacable.

  9. #9
    Membre confirmé Avatar de KsassPeuk
    Homme Profil pro
    Ingénieur Chercheur
    Inscrit en
    Juillet 2013
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Chercheur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 138
    Points : 635
    Points
    635
    Par défaut
    Citation Envoyé par imag1 Voir le message
    le problème de JavaScript est que le typage est extrêmement faible, on peut tout mettre dans une variable, d'un int à une fonction en passant par un objet.
    Oui, c'est l'extreme late binding of everything cher à Kay. Ça a ses avantages et ses inconvénients.

  10. #10
    Membre extrêmement actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2016
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2016
    Messages : 223
    Points : 561
    Points
    561
    Par défaut
    pourquoi pas..... Dans son argumentaire je n'ai pas trouvé de justifications certaines que le pure fonctionnel produira moins de bug... Mais pourquoi pas le passer sous les fourches caudines de plusieurs centaines de milliers de dév qu'on soit fixé une bonne foi pour toutes.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 17
    Points : 73
    Points
    73
    Par défaut
    peut-être pour faire de la programmation fonctionnelle, sinon non

  12. #12
    Membre habitué
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2019
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2019
    Messages : 91
    Points : 153
    Points
    153
    Par défaut
    TypeScript et son alternative Babel + flow existe, pas besoin de plus.


    Purescript, ReasonML, Coffescript... c'est juste pour briller à l apero en fin de meetup

  13. #13
    Membre éclairé

    Femme Profil pro
    Experte JS / Conseillère en best practices / Chercheuse en programmation
    Inscrit en
    Octobre 2007
    Messages
    741
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Experte JS / Conseillère en best practices / Chercheuse en programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 741
    Points : 808
    Points
    808
    Par défaut
    Citation Envoyé par imag1 Voir le message
    cela demande donc une hygiène de dev implacable.
    C'est surtout cela, qui pose problème aux détracteurs du JS... après, à mon sens, que le langage soit strict ou non, le dev qui l'utilise devrait, de base, toujours avoir cette une hygiène de dev implacable, du coup, osef que le langage le soit ou non.
    Afin d'obtenir plus facilement de l'aide, n'hésitez pas à poster votre code de carte bancaire

    Mon GitHub

    Une alternative à jQuery, Angular, Vue.js, React, ... ? Testez anticore, en quelques secondes à peine !
    (Contributions bienvenues)

  14. #14
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2015
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juin 2015
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Mouais, ce ne sont que de mauvais programmeurs qui veulent encore tout simplifier. JavaScript est un outil extrêmement puissant, le problème est que pour en faire le tour, ça prend des années. Non seulement ça prend des années mais en plus, il faut coder proprement pour faire une bonne appli. C'est ça qui les ennuie, certainement, eux veulent le beurre et l'argent du beurre, un langage de programmation qui fait tout à leur place.
    C'est à cause de ces fainéants qu'il y a de plus en plus de code sale sur internet et que les sites web rament la mort. Il faut fuir comme la peste ces pseudo-langages de programmation qui ne sont en fait que des librairies très lourdes pour le client et totalement inutilisables seules.

  15. #15
    Expert confirmé Avatar de AoCannaille
    Inscrit en
    Juin 2009
    Messages
    1 413
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 1 413
    Points : 4 734
    Points
    4 734
    Par défaut
    Citation Envoyé par Lcf.vs Voir le message
    C'est surtout cela, qui pose problème aux détracteurs du JS... après, à mon sens, que le langage soit strict ou non, le dev qui l'utilise devrait, de base, toujours avoir cette une hygiène de dev implacable, du coup, osef que le langage le soit ou non.


    Errare humanum est

    Une erreur ça peut arriver. Et dans un environnement correct ça ne se transforme pas en bug systématiquement.

  16. #16
    Membre éclairé

    Femme Profil pro
    Experte JS / Conseillère en best practices / Chercheuse en programmation
    Inscrit en
    Octobre 2007
    Messages
    741
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Experte JS / Conseillère en best practices / Chercheuse en programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 741
    Points : 808
    Points
    808
    Par défaut
    En effet, c'est pour ça qu'on centralise sa validation, qu'on place des garde-fous, ... c'est juste une question de méthodologie que tu devrais avoir quel que soit le langage, le langage en question pouvant accessoirement juste réduire les contrôles à faire.
    Afin d'obtenir plus facilement de l'aide, n'hésitez pas à poster votre code de carte bancaire

    Mon GitHub

    Une alternative à jQuery, Angular, Vue.js, React, ... ? Testez anticore, en quelques secondes à peine !
    (Contributions bienvenues)

  17. #17
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    Par défaut
    JS est détesté pour tout un tas de raisons. Les mauvais aspects du langage sont dûs à son histoire, et plus précisément à sa dépendance à l’Histoire. Par exemple, on ne peut pas supprimer document.write() parce que des sites web utilisent encore cette fonction aujourd’hui. On ne peut pas réparer typeof null === "object" parce que des scripts tiennent compte de ce résultat. Etc.

    Je suis prêt à adopter n’importe quel langage de remplacement s’il est nativement pris en charge par les principaux navigateurs. (Et s’il n’est pas conçu avec des moufles.) Mais ça n’arrivera pas demain…
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  18. #18
    Membre éclairé

    Femme Profil pro
    Experte JS / Conseillère en best practices / Chercheuse en programmation
    Inscrit en
    Octobre 2007
    Messages
    741
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Experte JS / Conseillère en best practices / Chercheuse en programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 741
    Points : 808
    Points
    808
    Par défaut
    Citation Envoyé par Watilin Voir le message
    JS est détesté pour tout un tas de raisons. Les mauvais aspects du langage sont dûs à son histoire, et plus précisément à sa dépendance à l’Histoire. Par exemple, on ne peut pas supprimer document.write() parce que des sites web utilisent encore cette fonction aujourd’hui.
    Hum, le problème n'est pas document.write() mais ce qu'on en fait... j'avais fait un article, il y a quelques années, concernant un usage légitime de cette fonction : la création de documents virtuels, avec un autre window que le window courant... il n'existe pas d'autre moyen de le faire (hormis jouer avec des iframes, mais c'est un peu trop bricolage)

    Je serais curieux de savoir, d'après toi, pourquoi il faudrait carrément supprimer la fonctionnalité.

    Puis ce n'est pas propre au JS mais à l'implémentation, ça, DOM, qui plus est.
    Afin d'obtenir plus facilement de l'aide, n'hésitez pas à poster votre code de carte bancaire

    Mon GitHub

    Une alternative à jQuery, Angular, Vue.js, React, ... ? Testez anticore, en quelques secondes à peine !
    (Contributions bienvenues)

  19. #19
    Expert confirmé Avatar de AoCannaille
    Inscrit en
    Juin 2009
    Messages
    1 413
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 1 413
    Points : 4 734
    Points
    4 734
    Par défaut
    Citation Envoyé par Lcf.vs Voir le message
    En effet, c'est pour ça qu'on centralise sa validation, qu'on place des garde-fous, ... c'est juste une question de méthodologie que tu devrais avoir quel que soit le langage, le langage en question pouvant accessoirement juste réduire les contrôles à faire.
    évidement. Mais tout ça n'est qu'une question de pognon.

    Quand tu suis le cycle en V (et on le fait tous, tout le temps, il n'existe pas d'autre méthode, l'agilité étant juste des cycle en V sur des scopes minuscules), sâche que plus une erreur est détecté tôt, moins elle coûte cher à corriger.

    Avec un langage compilé , toutes les erreurs de syntaxes sont repérées à l'étape de développement, alors qu'avec un langage interprété, certaines peuvent être repérées pendant les TU (éventuellement toutes si les tests couvrent 100% du code), puis certaines peuvent être repérées pendant les tests composants puis certaines peuvent être repérées pendant les tests d'intégration, puis certaines peuvent être repérées pendant les test de validation, et enfin certaines peuvent être repérées en production.

    Là, je ne parle que de syntaxe (genre une typo dans un nom de variable et baaaam undefined reference) et pas d'erreur de typage.

    en ça, d'un point de vue industriel, professionnel, un langage interprété sera toujours inférieur à un langage compilé. Dans le cas particulier du JS, il y a beaucoup trop d'erreur de typages possible provoquant coup sur coup des bugs.

    Et a ma connaissance, pas des 'ptits bugs hein, des scripts entiers qui s'arrêtent net, pas des exceptions catchable et dont on peut se dépatouiller...

    Le coût de ta méthodologie réduit si tu supprimes cette contrainte, et avec le même budget tu peux faire des choses plus avancées en terme d'IVV.

    Le succès de Javascript tient effectivement à son monopole forcé sur navigateur.

  20. #20
    Membre éclairé
    Homme Profil pro
    Développeur backend junior - Symfony
    Inscrit en
    Janvier 2018
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Développeur backend junior - Symfony
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2018
    Messages : 325
    Points : 804
    Points
    804
    Par défaut
    je n'avais pas vu ça dans ce sens pour la question du coût des langages interprétés.

    Donc, en dehors d'ASP.NET, Python et Java, il y a pas d'alternative réelle et sérieuse à ce défaut qu'on les langages comme JavaScript, PHP & cie (je ne suis pas expert dans les langages compilés, désolé) ?

    Pour la question de la dominance de Javascript, je pense que c'est aussi parce qu'on a pas trouvé mieux pour le travail demander ... Si, éventuellement Kotlin mais je pense qu'il ne fait que compiler en JS le code quand on l'utilise en web (enfin, je dis bien "je suppose" car je ne suis pas sûr à 100%).

Discussions similaires

  1. Faut il migrer de Java vers Kotlin ?
    Par young077 dans le forum Kotlin
    Réponses: 26
    Dernier message: 21/11/2018, 11h59
  2. [Prototype] Faut-il migrer vers Prototype UI ?
    Par guy on luck dans le forum Bibliothèques & Frameworks
    Réponses: 5
    Dernier message: 26/10/2009, 09h38
  3. [PHP-JS] lien javascript vers php
    Par guttts dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/08/2005, 23h00
  4. Migrer de MySQL vers PostgreSQL
    Par Acti dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 25/02/2005, 14h20
  5. Migrer de kmail vers Thunderbird
    Par calfater dans le forum Applications et environnements graphiques
    Réponses: 5
    Dernier message: 13/07/2004, 14h23

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