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

Votants
229. Vous ne pouvez pas participer à ce sondage.
  • JavaScript

    99 43,23%
  • Java

    57 24,89%
  • PHP

    53 23,14%
  • Kotlin

    3 1,31%
  • VBA

    60 26,20%
  • Perl

    16 6,99%
  • Delphi

    9 3,93%
  • Cobol

    31 13,54%
  • Assembleur

    15 6,55%
  • C#

    8 3,49%
  • Python

    12 5,24%
  • C

    13 5,68%
  • Haskell

    3 1,31%
  • Pascal

    7 3,06%
  • R

    7 3,06%
  • MATLAB

    13 5,68%
  • Scala

    3 1,31%
  • Rust

    1 0,44%
  • TypeScript

    5 2,18%
  • Go

    8 3,49%
  • Swift

    6 2,62%
  • Fortran

    13 5,68%
  • Objective-c

    19 8,30%
  • Ruby

    11 4,80%
  • C++

    24 10,48%
  • Lisp

    15 6,55%
  • Autres, merci de les préciser

    9 3,93%
Sondage à choix multiple
+ Répondre à la discussion Actualité déjà publiée
Page 5 sur 5 PremièrePremière 12345
  1. #81
    Membre émérite
    Avatar de Chauve souris
    Homme Profil pro
    amateur (éclairé ?)
    Inscrit en
    novembre 2005
    Messages
    1 158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Paraguay

    Informations professionnelles :
    Activité : amateur (éclairé ?)

    Informations forums :
    Inscription : novembre 2005
    Messages : 1 158
    Points : 2 888
    Points
    2 888

    Par défaut

    Citation Envoyé par Mat.M Voir le message
    le langage assembleur en lui-même n'est pas prohibé ; dans Visual Studio en C/C++ je peux faire de l'assembleur inline grâce à asm{}
    Ce qui est prohibé ce sont les interruptions avec l'instruction assembleur INT
    OK, j'ai compris ! En tout cas, dans les langages de Visual Studio, je n'y ai jamais vu un macro assembleur comme au temps emmaissedossiens de Borland.
    "Toute l'histoire de l'informatique n'a été que l'histoire des systèmes d'exploitations" (Le Manifeste du PC)

  2. #82
    Membre expérimenté
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    mars 2005
    Messages
    1 019
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2005
    Messages : 1 019
    Points : 1 571
    Points
    1 571

    Par défaut

    Personnellement, le pire langage que j'ai pratiqué c'est le javascript. Encore un, je sais.
    Pour les raisons, je crois que Sve@r en a fait un bon résumé.
    Sinon, l'absence de typage fort est un frein considérable pour moi.
    Si ce n'était que cela, rien n'empêche dans une variable de mettre une chaine dans une ligne et un entier dans l'autre, c'est perturbant.
    Rien n'empêche des les d'additionner non plus.
    Dans un tout autre registre, je préfère largement un code compilé plutôt qu'un code interprété.
    Lorsque tu fait une erreur, tu ne le sais qu'au moment de l'exécution et encore il faut avoir un bon outil pour voir où est réellement l'erreur.
    J'ai un gars au boulot qui adore le javascript. C'est super puissant et très simple selon lui.
    Un jour, je lui ai lancé le défi de réaliser une tâche (routinière pour lui) sans toutes ses librairies.
    Il m'a dit que ça lui prendrai seulement une petite demi-heure de plus.
    Il a passé tout l'après-midi dessus et n'a pas réussi.
    Bref tout ça pour dire que le javascript pur n'est pas aussi plaisant qu'on le croit.

    Y'a juste Python, impossible à me faire à cette foutu syntaxe basée sur l'indentation. Je trouve ça illisible...
    hotcryx a répondu à ça et je suis et je suis entièrement d'accord. L'indentation de python, c'est justement ce qui est appréciable.
    Je ne l'ai pas mis dans les choix car bien qu'il ne soit pas typé et qu'il soit interprété, il est beaucoup plus complet que JS de manière native (sans tout plein de librairies).
    On a pas la possibilité d'effectuer des opération contre nature comme additionner une chaine et un booléen.

    Par contre j'ai mis Java.
    Il est fortement typé et j'adore ça. Et il est compilé ce que j'apprécie également beaucoup.
    Ce que je lui reproche, c'est ça complexité.
    - Certes, c'est très documenté. Mais c'est le fouillis complet (c'était en 2006 et je l'ai fui comme la peste depuis, ça a peut-être changé depuis).
    - Certes, il est cross-plateforme avec le même code (c'est ce qu'on m'a dit, je ne l'ai pas vérifié) mais la moindre opération basique avec d'autres langage prends un temps fou à coder.
    OK, il existe de nombreuses librairies simplifiant les choses mais encore une fois, multiplier les librairies n'est pas une solution pour moi.
    Eclipse est également complexe à maitriser.

    Mon langage de prédilection serait le Delphi.
    Outre la gestion des chaîne un peu bizarre, il est forment typé, permet de faire de la POO sans trop de difficultés et il est compilé.
    Il n'est pas nécessaire de faire appel à des librairies pour réaliser en très peu de temps des opérations basique puisqu'il est assez complet.

    Mon langage préféré serait le C#.
    C'est le même gars qui a créée Delphi et C# et ça se ressent.
    Il a d'ailleurs réglé tous les petit défauts que je trouvais à Delphi.

  3. #83
    Membre averti Avatar de Aizen64
    Profil pro
    Inscrit en
    mai 2007
    Messages
    493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2007
    Messages : 493
    Points : 384
    Points
    384

    Par défaut

    Citation Envoyé par Uther Voir le message
    Alors si il y a un système de classe qui a été introduit dans la dernière version de la norme. Mais bon comme il faut gérer la compatibilité avec l'existant, ça reste une surcouche au système de prototype.


    Alors le fait que la bibliothèque standard soit légère a aussi des avantages. Ça permet notamment de s'éviter un héritage trop lourd que l'on ne peut plus faire évoluer à cause de la compatibilité. Une maxime bien connue de la communauté Phyton est que la bibliothèque standard est là ou les modules vont mourir.
    Point par point :
    - oui, créer des classes est possible en 2017, cela étant, ce n'est pas tout à fait réalisable du fait que tous les navigateurs ne le prennent pas tous en charge et que tous les utilisateurs ne gardent pas à jour leur navigateur.

    - effectivement, avoir une blibliothèque standard légère pour un navigateur porte son sens. Difficile de demander à des utilisateurs de télécharger 300 Mo pour un navigateur pour qu'il contienne une bibliothèque standard.

    Ce qui ne m'inspire pas confiance avec JS au delà du langage, vient du fait que je ne saisis pas trop quelle est la structure de l'objet que je manipule et donc ses propriétés/méthodes, ses frameworks qui poussent comme des champignons, des outils comme Webpack qui sont très utiles mais qui consomme beaucoup de CPU pour compiler du JS/CSS à la volée avec son nombre incalculable de dépendances.

    Autre exemple, Angular, quel est le rythme des MAJ majeures ? 6 mois ? En matière de pérennité c'est discutable non ?
    Exprimer une différence d'opinion vaut mieux que :

  4. #84
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    février 2006
    Messages
    5 893
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : février 2006
    Messages : 5 893
    Points : 16 262
    Points
    16 262
    Billets dans le blog
    1

    Par défaut

    Citation Envoyé par LSMetag Voir le message
    Résumé intéressant, en plus des problèmes pour savoir sur quel élément on travaille. Je te le pique !
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site

  5. #85
    Membre éprouvé
    Avatar de EpiTouille
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2009
    Messages
    370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2009
    Messages : 370
    Points : 909
    Points
    909

    Par défaut

    Alors pour le javascript, il faudrait nuancer. Parce que maintenant, quand on dit "javascript", on parle souvent d'es6 voir es7, et plus de d'es5.

    Ce qui ne m'inspire pas confiance avec JS au delà du langage, vient du fait que je ne saisis pas trop quelle est la structure de l'objet que je manipule et donc ses propriétés/méthodes, ses frameworks qui poussent comme des champignons, des outils comme Webpack qui sont très utiles mais qui consomme beaucoup de CPU pour compiler du JS/CSS à la volée avec son nombre incalculable de dépendances.
    Webpack ne compile pas à la volée, et n'inclue pas de dépendances. Il "bundle" ton code javascript. C'est le développeur qui inclue des dépendances, et forcément webpack les inclues pour que ça puisse fonctionner. Pareil, webpack ne compile pas du CSS. Par contre, il a un système de plugin très complet qui permet d'étendre les fonctionnalitées (genre transpiler du scss vers du css, transpiler du ES6 vers ES5 etc...). Chaque developpeur choisit ce qu'il veut faire ou pas, mais c'est surement pas de la faute de webpack quand les gens ont des output à 20Mo.

  6. #86
    Expert éminent Avatar de Uther
    Homme Profil pro
    Inscrit en
    avril 2002
    Messages
    3 545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2002
    Messages : 3 545
    Points : 8 301
    Points
    8 301

    Par défaut

    Citation Envoyé par EpiTouille
    Alors pour le javascript, il faudrait nuancer. Parce que maintenant, quand on dit "javascript", on parle souvent d'es6 voir es7, et plus de d'es5.
    Pour moi la plupart des problèmes que j'ai avec le JavaScript sont intrinsèques au langage : typage dynamique, opérations surprenantes, portée des variables, ... bref des choses qui ne pourront de toute façon pas être corrigé a moins de casser la compatibilité avec l'existant.

  7. #87
    Membre averti Avatar de Aizen64
    Profil pro
    Inscrit en
    mai 2007
    Messages
    493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2007
    Messages : 493
    Points : 384
    Points
    384

    Par défaut

    @Uther oui, le côté ultra dynaique de JS est pour moi un problème.
    Le nombre de fois où je me pose des questions sur les méthodes d'un objet que l'utilise, s'il est instancié ou non, s'il est accessible dans la portée actuelle.

    Y a t-il vraiment des gens qui apprécient vraiment le langage ? JS c'est une malédiction plutôt, un langage dont tout le monde est d'accord pour dire qu'il n'a pas été très bien conçu mais dont personne ne peut se passer pour du web. Personne, il est donc, malgré ses défauts, incontournable.

    J'irai même dire que je préfère utiliser PHP, avec un framework et des espaces de noms/autoload/PHPDoc pour de l'autocomplétition. J'admet choisir la facilité et ne pas hésiter à utiliser des points d'arrêts.
    Exprimer une différence d'opinion vaut mieux que :

  8. #88
    Membre éclairé
    Homme Profil pro
    chomeur
    Inscrit en
    avril 2015
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : chomeur
    Secteur : Distribution

    Informations forums :
    Inscription : avril 2015
    Messages : 389
    Points : 769
    Points
    769

    Par défaut

    @Uther oui, le côté ultra dynaique de JS est pour moi un problème.
    Le nombre de fois où je me pose des questions sur les méthodes d'un objet que l'utilise, s'il est instancié ou non, s'il est accessible dans la portée actuelle.
    sa resemble plus a un probleme de compréhention du garbage collector

  9. #89
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    juillet 2013
    Messages
    2 153
    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 : 2 153
    Points : 4 786
    Points
    4 786

    Par défaut

    Citation Envoyé par melka one Voir le message
    sa resemble plus a un probleme de compréhention du garbage collector
    Non, il a raison .

    Même la notion de "this" est dynamique : c'est soit l'objet courant soit le gros objet global (window pour les navigateurs)
    Et en plus, lorsque tu fais une référence de méthode, JS se troue totalement sur le "this" et le dév. peut corriger l'erreur en utilisant les méthodes "call"/ "apply"/ "bind".

    Mais bon les experts JavaScript n'arrêtent pas de me dire "il faut connaitre un langage pour l'utiliser et tout cela c'est normal".
    Pas si normal que cela parce que JavaScript est quand même le seul langage avec ces spécificités (on peut rajouter la notion de portée fonction, la notion de chaîne de prototypes et que c'est au dév. de devoir la parcourir pour savoir si c'est la classe mère si c'est la classe fille. Même isPrototypeOf et/ ou instanceof se troue sur certains cas)
    Et ce n'est pas normal non plus que la nouvelle version du langage ES6-ES7 et ces implémentations (typescript par exemple) cachent toutes les "spécificités de JavaScript " sous une couche langage qu'on retrouve dans les autres langages (notion de classe, notion de bloc) voire même encourage l'abandon de certaines "spécificités" (par exemple le mot clef var au profit de let et __proto__)

  10. #90
    Membre averti
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    juin 2004
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Alimentation

    Informations forums :
    Inscription : juin 2004
    Messages : 332
    Points : 323
    Points
    323

    Par défaut

    En premier Java. Je crois que les inventeurs de ce langage prenaient des paries pour savoir savoir qui inventerait la méthode et la classe avec le le plus de caractères. Un langage idéal pour les tendinites.

    PHP, le langage plus inconstant qu'il existe. Ils essaient de corriger le coup en copiant les classes de Ruby en PHP. Malheureusement en programmation-objet, le gain de vitesse qui attiraient les gens disparaît.

  11. #91
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    juillet 2013
    Messages
    2 153
    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 : 2 153
    Points : 4 786
    Points
    4 786

    Par défaut

    Moi, c'est le C++ moderne (C+11, C+14, C+17, C++19, ...)

    Pour l'instant je n'y arrive pas à m'y mettre

    C'est vrai que le C++03 était relativement simple à apprendre, mais dangereux (mais c'est sa force et l'héritage du C), difficile à coder correctement et qu'on avait tendance à se concentrer sur le comment faire au lieu du "ce qu'il faut faire.

    Mais le C++ moderne a désambiguifié tout cela et à tout surcharger : on passe du big 3 au big 5, on a maintenant 4 ou 5 pointeurs intelligents, ....
    J'ai l'impression que maintenant on se prend la tête sur la possession/ l'appartenance et si on fait une copie profonde ou pas.

    Et en plus, on a pléthore d'outils mais il faut savoir les utiliser . Par exemple, les pointeurs intelligents partagés restent quand même des pointeurs avec un compteur (et donc on retombe sur toutes les critiques qui ont commencé avec les objets COM en 1996-1997).

    L'autre truc, ce sont les templates. Depuis Boost (2005, il me semble) je n'arrive pas à programmer avec les techniques de calcul/ d'optimisation lors de la compilation (traits, templates partielles, ...). Les grands gourous C++ raffolent de cela et le C++ moderne ce n'est que cela.
    Le peu de j'ai essayé d'en coder, j'ai une impression d'une double conception : une première fois pour faire du code spécifique et une deuxième fois avec une généralisation et des templates

    Et enfin, il y a les promesses non tenues : un remplaçant aux macros, un remplaçant au include, le fameux export des templates que personne ne veut. Certains trucs vont arriver en 2022.

    Et pour finir, il y a un éloignement avec le C : programmation défensive avec les exceptions/ RAII, programmation service (on utilise des objets dont la seule chose qu'on sait c'est ce qu'ils font. R.A.F. du comment), les trucs modernes (fermetures/ closures, fonctions anonymes/ lambdas, ...), et j'ai vu passer la programmation par contrat.


    Et pour troller , pourquoi faire 5 - 6 versions, c'était trop compliqué d'en faire 2 versions complètes (le C++11 est déjà obsolète)

  12. #92
    Membre expert

    Homme Profil pro
    Ingénieur Etudes et Développements Junior
    Inscrit en
    juillet 2009
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Etudes et Développements Junior
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : juillet 2009
    Messages : 942
    Points : 3 766
    Points
    3 766

    Par défaut

    Citation Envoyé par foetus Voir le message
    Moi, c'est le C++ moderne (C+11, C+14, C+17, C++19, ...)

    Pour l'instant je n'y arrive pas à m'y mettre

    C'est vrai que le C++03 était relativement simple à apprendre, mais dangereux (mais c'est sa force et l'héritage du C), difficile à coder correctement et qu'on avait tendance à se concentrer sur le comment faire au lieu du "ce qu'il faut faire.

    Mais le C++ moderne a désambiguifié tout cela et à tout surcharger : on passe du big 3 au big 5, on a maintenant 4 ou 5 pointeurs intelligents, ....
    J'ai l'impression que maintenant on se prend la tête sur la possession/ l'appartenance et si on fait une copie profonde ou pas.

    Et en plus, on a pléthore d'outils mais il faut savoir les utiliser . Par exemple, les pointeurs intelligents partagés restent quand même des pointeurs avec un compteur (et donc on retombe sur toutes les critiques qui ont commencé avec les objets COM en 1996-1997).

    L'autre truc, ce sont les templates. Depuis Boost (2005, il me semble) je n'arrive pas à programmer avec les techniques de calcul/ d'optimisation lors de la compilation (traits, templates partielles, ...). Les grands gourous C++ raffolent de cela et le C++ moderne ce n'est que cela.
    Le peu de j'ai essayé d'en coder, j'ai une impression d'une double conception : une première fois pour faire du code spécifique et une deuxième fois avec une généralisation et des templates

    Et enfin, il y a les promesses non tenues : un remplaçant aux macros, un remplaçant au include, le fameux export des templates que personne ne veut. Certains trucs vont arriver en 2022.

    Et pour finir, il y a un éloignement avec le C : programmation défensive avec les exceptions/ RAII, programmation service (on utilise des objets dont la seule chose qu'on sait c'est ce qu'ils font. R.A.F. du comment), les trucs modernes (fermetures/ closures, fonctions anonymes/ lambdas, ...), et j'ai vu passer la programmation par contrat.


    Et pour troller , pourquoi faire 5 - 6 versions, c'était trop compliqué d'en faire 2 versions complètes (le C++11 est déjà obsolète)
    En gros ton problème est plus un problème de migration vers quelque chose qui s'éloigne du C, que de désaffection/désaveux du langage proprement dit.

Discussions similaires

  1. Quels sont les langages de programmation que vous détestez le plus, et pourquoi ?
    Par Siguillaume dans le forum Langages de programmation
    Réponses: 214
    Dernier message: 31/08/2017, 11h38
  2. 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, 10h33
  3. Réponses: 1
    Dernier message: 10/12/2015, 13h48
  4. Les langages de programmation que vous détestez
    Par Neuromancien2 dans le forum Débats sur le développement - Le Best Of
    Réponses: 385
    Dernier message: 13/05/2011, 09h46

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