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

Affichage des résultats du sondage: Quels sont les langages de programmation que vous détestez le plus en 2019 ? Pourquoi ?

Votants
311. Vous ne pouvez pas participer à ce sondage.
  • Assembleur

    24 7,72%
  • C

    19 6,11%
  • C#

    27 8,68%
  • C++

    35 11,25%
  • Cobol

    31 9,97%
  • Dart

    6 1,93%
  • Delphi

    13 4,18%
  • Fortran

    8 2,57%
  • Go

    21 6,75%
  • Haskell

    5 1,61%
  • Java

    56 18,01%
  • JavaScript

    161 51,77%
  • Kotlin

    10 3,22%
  • Lisp

    8 2,57%
  • MATLAB

    14 4,50%
  • Objective-c

    22 7,07%
  • Pascal

    5 1,61%
  • Perl

    9 2,89%
  • PHP

    47 15,11%
  • Python

    40 12,86%
  • R

    14 4,50%
  • Ruby

    11 3,54%
  • Rust

    4 1,29%
  • Scala

    12 3,86%
  • Swift

    10 3,22%
  • TypeScript

    20 6,43%
  • VBA

    83 26,69%
  • WLangage (WinDev)

    72 23,15%
  • Autres, merci de préciser

    4 1,29%
  • Sans avis

    10 3,22%
Sondage à choix multiple
Langages de programmation Discussion :

Quels sont les langages de programmation que vous détestez le plus en 2019 ? Pourquoi ? Partagez vos avis


Sujet :

Langages de programmation

  1. #101
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Points : 2 161
    Points
    2 161
    Par défaut
    Citation Envoyé par Sodium Voir le message
    JavaScript est bien orienté objet par contre, il a juste sa façon très personnelle de le faire, et par très personnelle je veux dire stupide.
    C'est l'histoire d'un charpentier qui rencontre un électricien qui se sert d'un tournevis ; le charpentier obtus ne peut s'empêcher de se moquer de l'électricien et de son tournevis, car cet outil est absolument nul pour enfoncer des clous de façon efficace.

    Même chose ici: les 'haters' du JS sont avant tout des développeurs obtus qui ne connaissent que l'OO basé sur le principe de classes ; en se moquant du JS, il ne font que trahir leur méconaissance profonde de l'OO prototypal, et montrent leur incapacité manifeste à enlever les oeillères qu'ils se sont forgées avec le temps.

    La répartie préférée des fanatiques de JS c'est qu'on ne l'aime pas parce qu'on ne le comprend pas. Très bien, mais pourquoi n'a-t-on pas la même relations avec tous les autres langages alors ?
    Tu as maintenant ta réponse: l'immense majorité des développeurs ont été biberonnés aux langage OO basés sur des classes, des interfaces, de l'héritage. Ils sont incapables de penser autrement, faute de pouvoir prendre du recul sur leurs propres outils.

    Et puis il y en a quelques autres, souvent ceux qui sont tombés dans la marmite de l'informatique à ses prémices, et avant l'hégémonie des langages style Java, C++). Ceux-là sont capables de prendre plus de recul, de comprendre que les classes c'est pas la seule façon d'aborder le sujet de l'OO (ou du dev. en général), et sont aptes à comprendre un approche différente, qui a elle aussi ses atouts.
    Mon projet du moment: BounceBox, un jeu multijoueurs sur Freebox, sur PC et depuis peu sur smartphone/tablette Android.

  2. #102
    Membre chevronné

    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Février 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Février 2004
    Messages : 758
    Points : 2 084
    Points
    2 084
    Par défaut
    Citation Envoyé par nouknouk Voir le message
    Même chose ici: les 'haters' du JS sont avant tout des développeurs obtus qui ne connaissent que l'OO basé sur le principe de classes ; en se moquant du JS, il ne font que trahir leur méconaissance profonde de l'OO prototypal, et montrent leur incapacité manifeste à enlever les oeillères qu'ils se sont forgées avec le temps.

    Tu as maintenant ta réponse: l'immense majorité des développeurs ont été biberonnés aux langage OO basés sur des classes, des interfaces, de l'héritage. Ils sont incapables de penser autrement, faute de pouvoir prendre du recul sur leurs propres outils.

    Et puis il y en a quelques autres, souvent ceux qui sont tombés dans la marmite de l'informatique à ses prémices, et avant l'hégémonie des langages style Java, C++). Ceux-là sont capables de prendre plus de recul, de comprendre que les classes c'est pas la seule façon d'aborder le sujet de l'OO (ou du dev. en général), et sont aptes à comprendre un approche différente, qui a elle aussi ses atouts.
    Je n'aurais pas dit mieux, bravo. Il y a beaucoup de manières différentes d'approcher la POO dans un langage, avec ses avantages et ses inconvénients.

    Seulement de nos jours, beaucoup de développeurs n'ont appris qu'une seule (POO mono-héritage), et ne jure que par cela sans vouloir réfléchir plus loin.

  3. #103
    Invité
    Invité(e)
    Par défaut
    Si on omet la guéguerre JS/anti-JS, les réponses suivantes sont assez intéressantes pour le monde du web en comparaison avec le dernier sondage il y a 2 ans.

    Dans les flops, Python passe de 6% à 14%, TypeScript de 1.9% à 8.5%.
    Dans les tops, Java passe de 25% à 16%, PHP de 21% à 14%.

    A noter l'apparition de Windev dans la liste qui polarise 20% des votes, même dans le cadre d'un vote à choix multiple avoir une mauvaise techno (selon l'avis des votants contre Windev) dans la liste valorise positivement les autres technos. Difficile de savoir quel est l'impact réel de ce nouveau choix, mais il me semble que c'est facile de se dire "Java/PHP bof mais à côté de Windev c'est ok" et donc ne pas voter contre, ce qui explique une partie des gaps non-négligeables entre les 2 sondages.

    Il y a une montée du typage fort ces dernières années et c'est à priori globalement apprécié. PHP est désormais presque fortement typé (PHP7.4 devrait achever cette transition), c'est optionnel mais ça fait parti du langage contrairement a Python (un script Python fortement typé n'est pas exécutable par Python alors que l'équivalent PHP l'est). Plusieurs personnes dans mon entourage se sont même remotivées à aller voir du côté de Java pour du backend web, et de mon petit cercle non-représentatif l'avis est unanime : c'est ok mais le système de licence et d'update est vomitif, puis ils vont voir vers Go et même Rust.

    Python pour le web semble en déclin (ma constatation personnelle + des lectures sur la toile). Il y a encore 3-4 ans (pré-PHP7) il y avait une véritable fuite des dev. PHP vers Python pour plusieurs raisons : langage plus propre et plus respecté et PHP n'avait aucun argument pour lui hormis le monde du travail en France. Aujourd'hui les gens qui quittent PHP se dirigent plutôt vers JavaScript et même certains reviennent à PHP.

    Du coup je ne comprend pas trop la montée négative de TypeScript, qui est dans cette veine du typage fort pour les langages interprétés. Peut être que la mouvance JavaScript n'est pas encore atteinte par ce phénomène.


    EDIT : TypeScript était peut être très peu utilisé il y à 2 ans, ce qui pourrait expliquer cette différence.
    Dernière modification par Invité ; 24/05/2019 à 01h00.

  4. #104
    Expert éminent
    Avatar de Pyramidev
    Homme Profil pro
    Développeur
    Inscrit en
    Avril 2016
    Messages
    1 470
    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 470
    Points : 6 107
    Points
    6 107
    Par défaut
    Il n'y a pas que les fans de la POO version Java (ou C++) qui n'aiment pas la programmation orientée prototype version JavaScript.
    Par exemple, en ce qui me concerne, je n'aime pas l'héritage, même si je l'utilise quand un langage ne me propose rien de mieux. Et pourtant, je trouve que, la programmation orientée prototype version JavaScript, c'est globalement de la merde.
    Je vais détailler un peu.

    L'héritage de la POO version Java a les inconvénients suivants :
    • On mélange deux concepts qui auraient dû être séparés : les mixins et le polymorphisme. Pour rappel, conceptuellement, un mixin, c'est une sorte d'héritage sans sous-typage : si une classe A utilise un mixin B, alors A récupère automatiquement tout le contenu de B, mais l'utilisateur de A ne sait pas que ce contenu vient de B. B ne sert qu'à factoriser du code. Les mixins sont moins verbeux que l'encapsulation. On peut les utiliser avec parcimonie. Il ne faut pas en abuser, sinon, on se retrouve avec des classes qui ont une longue liste de méthodes éparpillées dans plein de fichiers différents, dont des méthodes qu'elles n'auraient pas dû avoir. Les mixins risquent de rigidifier le code, donc ce concept n'aurait pas dû être mélangé à du sous-typage qui rigidifie le code encore plus.
    • La POO version Java impose que, dans le code d'une classe ou d'une interface, il faut connaître la liste exhaustive des types parents. L'une des conséquences est que cela empêche de combiner deux types abstraits a posteriori : il faut soit éditer le code de ces deux types abstraits pour qu'ils dérivent d'un même nouveau type, soit passer par des wrappers.
    • La POO version Java a un polymorphisme qui repose sur le sous-typage, ce qui affaiblit le typage et limite les possibilités d'effectuer des contrôles rigoureux lors de l'analyse statique du code.
      Par exemple, si une fonction prend deux paramètres et retourne une valeur, en pure POO, on ne peut pas restreindre à la compilation le type du deuxième paramètre en fonction du premier et on ne peut pas restreindre le type de retour en fonction des deux autres types. On peut en programmation générique, mais pas en pure POO.
      Autre exemple : si un langage contrôle à la compilation quels types d'erreurs une fonction peut retourner et si une fonction est pure, alors, quand on écrit du code réutilisable avec des callbacks, on a rapidement besoin de pouvoir faire ce genre de chose : soit f une fonction qui prend en paramètre une callback et qui ne peut pas avoir d'effets de bord autres que ceux de la callback. Quand on sait que la callback est pure alors on sait que l'appel de f pour cette callback-là est pur. Et quand on sait que la callback peut lancer des erreurs X et Y, alors on sait que l'appel de f pour cette callback-là pourra lancer des erreurs X et Y. Java n'a pas été conçu pour que le compilateur sache propager ce genre de contrôle dans un contexte de polymorphisme. C'est pourquoi les checked exceptions sont un échec en Java et qu'il n'y aura probablement jamais de contrôles sur les fonctions pures dans les futures versions du langage.


    La POO version Java a au moins un avantage : il n'y a pas de polymorphisme accidentel. Quand on veut modifier le code, on sait différencier assez facilement les fonctions spécifiques à une classe des fonctions liées à d'autres classes par un type parent commun. Ce n'est pas comme le duck typing avec lequel il est parfois périlleux de renommer une méthode.

    Mais il n'y a pas besoin de la POO pour avoir cet avantage. Avec les typeclasses de Haskell et les traits du Rust, on évite aussi le polymorphisme accidentel et on n'a aucun des 3 inconvénients cités ci-dessus.

    Concernant la programmation orientée prototype version JavaScript, ça revient à combiner des mixins avec une sorte de polymorphisme non typé (ce qui est un oxymore) et sans restrictions sur les redéfinitions. On a très peu de garanties sur le code, ce qui entrave les possibilités de raisonner localement sur le code : si on fait tel changement dans tel bout de code, quelles seront les conséquences ? Est-ce que ça va péter ailleurs ?

    Hélas, mon message manque d'exemples. Mais il est déjà long.

  5. #105
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par nouknouk Voir le message
    Même chose ici: les 'haters' du JS sont avant tout des développeurs obtus qui ne connaissent que l'OO basé sur le principe de classes ; en se moquant du JS, il ne font que trahir leur méconaissance profonde de l'OO prototypal, et montrent leur incapacité manifeste à enlever les oeillères qu'ils se sont forgées avec le temps.
    Tandis que les 'lovers' du JS sont avant tout des développeurs ouverts qui s'intéressent aussi aux langages fonctionnels fortement typés comme PureScript...

  6. #106
    Membre extrêmement actif Avatar de darklinux
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2005
    Messages
    570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2005
    Messages : 570
    Points : 1 023
    Points
    1 023
    Par défaut
    Citation Envoyé par redcurve Voir le message
    Ah python le truc qui bouffe 225000 instructions pour faire 1+1 ? Le bidule avec un méga verrou globale de gogole ?

    Python est juste une bouse mais à la mode.
    Il faut considérer python comme un BASIC 2.0 avec des morceaux de Perl , sinon cela fait plus de vingt ans qu ' il est à la mode , c 'est donc un classique , comme " les variations Goldberg " par Glenn Gould un incontournable et oui , la rédaction est foutraque , mais permet de faire plein de choses intérréssantes .

  7. #107
    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
    Citation Envoyé par redcurve Voir le message
    Arrête j'ai appris Perl au collège j'adore ce truc 😱. J'avais même codé tout un moteur de recherche avec lol, robot, indexeur, indexeur etc.
    Et oui on s y est tous intéressé. ( enfin je parle pour les séniors)
    Et tu as du au moins écrire plus de documentation que de code.
    Avec un web crawler qui tient sur une ligne...

    Perl c est le spring break a cancun, l auberge espagnole qui ferait passer l inventeur de JS pour un nobel.( si si...)
    Absolument tout est permis. Il y a des fans.
    Des mongueurs qui disent. Des fous.

  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
    Citation Envoyé par nouknouk Voir le message
    C'est l'histoire d'un charpentier qui rencontre un électricien qui se sert d'un tournevis ; le charpentier obtus ne peut s'empêcher de se moquer de l'électricien et de son tournevis, car cet outil est absolument nul pour enfoncer des clous de façon efficace.

    Même chose ici: les 'haters' du JS sont avant tout des développeurs obtus qui ne connaissent que l'OO basé sur le principe de classes ; en se moquant du JS, il ne font que trahir leur méconaissance profonde de l'OO prototypal, et montrent leur incapacité manifeste à enlever les oeillères qu'ils se sont forgées avec le temps.

    Tu as maintenant ta réponse: l'immense majorité des développeurs ont été biberonnés aux langage OO basés sur des classes, des interfaces, de l'héritage. Ils sont incapables de penser autrement, faute de pouvoir prendre du recul sur leurs propres outils.

    Et puis il y en a quelques autres, souvent ceux qui sont tombés dans la marmite de l'informatique à ses prémices, et avant l'hégémonie des langages style Java, C++). Ceux-là sont capables de prendre plus de recul, de comprendre que les classes c'est pas la seule façon d'aborder le sujet de l'OO (ou du dev. en général), et sont aptes à comprendre un approche différente, qui a elle aussi ses atouts.
    L'oeuf et la poule encore une fois, le modèle basés sur les classes est dominant parce que c'est celui qui fonctionne le mieux.... un peu comme la roue ronde s'est imposée contre la roue carrée.

    C'est assez incroyable ce manque d'humilité, cet élitisme, ce manque de recul : "NOUS on a compris, NOUS on sait, les AUTRES sont des ignares !"

  9. #109
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 630
    Points : 10 556
    Points
    10 556
    Par défaut
    Citation Envoyé par Sodium Voir le message
    L'oeuf et la poule encore une fois, le modèle basés sur les classes est dominant parce que c'est celui qui fonctionne le mieux.... un peu comme la roue ronde s'est imposée contre la roue carrée.
    C'est bidon ce que tu dis

    Parce que la POO avec l'héritage est une forme de polymorphisme : elle s'est imposée rien du tout.
    Pour le cas du JavaScript le but est de s'approprier et de modifier des objets (du contexte, ajout et suppression de méthodes) facilement et à l'exécution.

  10. #110
    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
    Citation Envoyé par foetus Voir le message
    C'est bidon ce que tu dis

    Parce que la POO avec l'héritage est une forme de polymorphisme : elle s'est imposée rien du tout.
    Pour le cas du JavaScript le but est de s'approprier et de modifier des objets (du contexte, ajout et suppression de méthodes) facilement et à l'exécution.
    Ah ben oui, ajouter des méthodes à un objet à l'exécution ça sent bon la programmation robuste et maintenable

  11. #111
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Points : 2 161
    Points
    2 161
    Par défaut
    Citation Envoyé par Sodium Voir le message
    le modèle basés sur les classes est dominant parce que c'est celui qui fonctionne le mieux
    Tu fais deux erreurs fondamentales dans ta réflexion:

    1- tu a une vue dichotomique des choses: il n'y a pas une solution qui serait 'le bien', l'autre 'le mal'.

    Les technos sont complémentaires et addressent des problématiques et des besoins différents. Un marteau en ferraille est super pour planter des clous mais n'égalera jamais un maillet quand on pose du carrelage. De la même fçaon, le JS n'est pas adapté pour écrire le driver d'un GPU, pas plus que l'assembleur n'est adpaté pour coder une page web.

    2- d'autre part tu occultes complètement le fait que l'informatique n'est en rien un monde figé ; il évolue énormément, très vite, et les outils (dont les langages) avec lui.

    Les lambda, la généralisation des appels asynchrones avec des callbacks, les promises (parmi d'autres choses) sont des exemples de concepts qui existaient depuis 40 ans (tu ne devais pas être né), mais que le JS a mis sur le devant de la scène parce que ça répond à un besoin de plus en plus courant, alors qu'il était marginal il y a quelques temps. Parce que l'informatique et les besoins évoluent, tout simplement. Et donc les outils avec.

    Il y a 20 ou 30 ans, un programme était un monolithe qui vivait en relative autarcie ; l'overhead d'un code managé consommait en proportion une très large partie de la puissance de calcul disponible ; la mémoire disponible était une ressource relativement rare et limitée et on devait en optimiser sont usage, etc...

    De nos jours, la plupart des logiciels sont pensés pour interagir avec l'extérieur , ils ont des besoins forts en traitements asynchrones, doivent être souple quant à la forme des données en input qui peut provenir de différentes sources, les développeurs veulent des outils qui résolvent les dépendances en allant les chercher eux-même sur des repositories sur le net, etc...
    A contrario, l'évolution exponentielle de la puissance de calcul disponible rend l'overhead d'un code managé quasi négligeable pour la plupart des besoins, la RAM est disponible en quantité, etc...


    Bref, tes réflexions manquent cruellement de mise en perspective et de pondération (peut-être as-tu une relative jeunesse comme excuse ?). Je te conseille vivement de ré-évaluer tes "certitudes". Pars du principe que s'il n'y avait qu'une seule solution parfaite à tous les problèmes et en tous temps, il n'y aurait qu'un seul langage qui conviendrait à tout le monde, ce qui n'est évidemment pas le cas.

    La diversité des langages et autres outils n'est que le reflet d'une diversité des besoins, des projets, et qui évolue par ailleurs au cours du temps.
    Mon projet du moment: BounceBox, un jeu multijoueurs sur Freebox, sur PC et depuis peu sur smartphone/tablette Android.

  12. #112
    Membre éclairé
    Avatar de Paleo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2013
    Messages : 242
    Points : 661
    Points
    661
    Par défaut
    Citation Envoyé par Pyramidev Voir le message
    en ce qui me concerne, je n'aime pas l'héritage, même si je l'utilise quand un langage ne me propose rien de mieux.
    Deux commentaires :
    - En JavaScript, un objet hérite toujours d'un autre objet, ce dernier lui servant de classe ;
    - Au sujet de l'héritage entre classes que vous évoquez ici, en JavaScript il est justement aisé de s'en passer.

    Citation Envoyé par Mrsky Voir le message
    TypeScript de 1.9% à 8.5%.
    Ce sont des développeurs JavaScript plus ou moins contraints de l'utiliser, notamment ceux d'Angular.

    Citation Envoyé par Sodium Voir le message
    Ah ben oui, ajouter des méthodes à un objet à l'exécution ça sent bon la programmation robuste et maintenable
    En JavaScript on peut fabriquer un objet de multiples manières, y compris en plusieurs étapes dans une fonction servant de factory. Cela ne veut pas dire que changer ensuite le type d'un objet serait une bonne pratique. Mais durant l'étape de création, pourquoi pas ? Les constructeurs des classes ne sont pas la seule manière de créer des objets.

  13. #113
    Expert éminent
    Avatar de Pyramidev
    Homme Profil pro
    Développeur
    Inscrit en
    Avril 2016
    Messages
    1 470
    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 470
    Points : 6 107
    Points
    6 107
    Par défaut
    Citation Envoyé par nouknouk Voir le message
    La diversité des langages et autres outils n'est que le reflet d'une diversité des besoins, des projets, et qui évolue par ailleurs au cours du temps.
    Pas seulement. C'est aussi le reflet du fait que la conception des langages et des outils progresse par essais et erreurs.
    Par exemple, en langage C, stocker un code d'erreur dans une variable globale (errno), ce n'était pas adapté aux besoins de l'époque. C'était une erreur de conception.
    Il y a plusieurs solutions pour répondre à un même besoin dans un même contexte, et ce n'est pas toujours la meilleure qui est choisie.

  14. #114
    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
    Citation Envoyé par nouknouk Voir le message
    Les technos sont complémentaires et addressent des problématiques et des besoins différents. Un marteau en ferraille est super pour planter des clous mais n'égalera jamais un maillet quand on pose du carrelage. De la même fçaon, le JS n'est pas adapté pour écrire le driver d'un GPU, pas plus que l'assembleur n'est adpaté pour coder une page web.
    Il faut arrêter le n'importe quoi, on plante les mêmes clous avec JavaScript qu'avec les autres langages, c'est juste le que le marteau de JavaScript est cabossé et mal foutu. La manière dont JavaScript fonctionne n'est pas là pour répondre à un besoin particulier (qui a l'époque était de faire clignoter un texte sur une page web) mais un effet de bord du temps ridiculement court consacré à sa création. Ben oui, même un génie quand on lui demande de créer un nouveau langage en dix jours il aura forcément des tares à la sortie.

  15. #115
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 61
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par Sodium Voir le message
    JavaScript fonctionne n'est pas là pour répondre à un besoin particulier (qui a l'époque était de faire clignoter un texte sur une page web)
    On avait déjà la balise <blink> pour ça

  16. #116
    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
    Citation Envoyé par Pyramidev Voir le message
    Pas seulement. C'est aussi le reflet du fait que la conception des langages et des outils progresse par essais et erreurs.
    Par exemple, en langage C, stocker un code d'erreur dans une variable globale (errno), ce n'était pas adapté aux besoins de l'époque. C'était une erreur de conception.
    Il y a plusieurs solutions pour répondre à un même besoin dans un même contexte, et ce n'est pas toujours la meilleure qui est choisie.
    ahah , tu n' as pas essayé le langage Go alors
    mais bon c'est une erreur de conception google....çà passe crême.
    comme dirais le fameux philosophe F.Ribery "la roue tourne va vite tourner "

  17. #117
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 969
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 969
    Points : 3 375
    Points
    3 375
    Par défaut
    Citation Envoyé par Sodium Voir le message
    JavaScript bien évidemment, what else

    JavaScript est bien orienté objet par contre, il a juste sa façon très personnelle de le faire, et par très personnelle je veux dire stupide.

    Il y a des classes en JavaScript depuis récemment. Par contre toujours pas de typage strict... peut-être pour 2025 ?
    C'est un autre type de langage, va falloir l'accepter au lieu de râler...

    Si vous n'aimez pas javascript, faites autre chose.

    Est-ce que les programmeurs en assembleur ou en C, pinallaient autant?!
    Si la réponse vous a aidé, pensez à cliquer sur +1

  18. #118
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 969
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 969
    Points : 3 375
    Points
    3 375
    Par défaut
    Citation Envoyé par Sodium Voir le message
    Il faut arrêter le n'importe quoi, on plante les mêmes clous avec JavaScript qu'avec les autres langages, c'est juste le que le marteau de JavaScript est cabossé et mal foutu.
    Non, tu as différentes tailles de clous...

    Si tu trouves que le JS est un marteau cabossé, peut-être n'es-tu tout simplement pas habile avec ce type de marteau.
    Si la réponse vous a aidé, pensez à cliquer sur +1

  19. #119
    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
    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    const reasonsToHateJavascript = [
        'Object model is stupid',
        'No strict typing',
        'Absurd opperation results',
        'You need 200mo of dependencies to do any work',
        // ...
    ];
     
    for (const reason of reasonsToHateJavascript) {
        console.log('YOU ONLY SAY THAT BECAUSE YOU\'RE TO DUMB TO GET IT!!!!'); 
    }

  20. #120
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Points : 2 161
    Points
    2 161
    Par défaut
    Citation Envoyé par Sodium Voir le message
    ...
    je pense qu'on a atteint le niveau zéro de l'argumentation.

    Manifestement les chances qu'il en ressorte quelque chose de constructif sont à peu près nulles ; bon vent à toi et toutes tes certitudes.
    Mon projet du moment: BounceBox, un jeu multijoueurs sur Freebox, sur PC et depuis peu sur smartphone/tablette Android.

Discussions similaires

  1. Quels sont les langages de programmation que vous voulez apprendre en 2019 ?
    Par Michael Guilloux dans le forum Langages de programmation
    Réponses: 52
    Dernier message: 20/10/2019, 02h05
  2. Réponses: 140
    Dernier message: 06/12/2018, 15h54
  3. Quels sont les langages de programmation que vous détestez le plus, et pourquoi ?
    Par Community Management dans le forum Langages de programmation
    Réponses: 214
    Dernier message: 31/08/2017, 10h38
  4. Sondage : quels sont les langages de programmation que vous maîtrisez ?
    Par Michael Guilloux dans le forum Débats sur le développement - Le Best Of
    Réponses: 81
    Dernier message: 27/03/2017, 09h33

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