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

  1. #21
    Membre éclairé
    Citation Envoyé par AoCannaille Voir le message

    Vu le nombre de questions pour Javascript et liés dans stackoverflow (ici : data.stackexchange.com/stackoverflow/query/172362/get-all-tags ), on peut se poser des question.

    Sur les 50 premiers resultats* de nombre de question par tag, Javascript et ses amis (JQuery, node, angular) présentent 20% des questions, java et ses copain (Android et Spring) est à 14%, C++ à 3% (sans copain, le pauvre)
    Ce n'est pas la symptomatique du JS mais bien du fait qu'avec des jQuery & Co, n'importe qui a commencé à faire du JS sans vouloir apprendre quoi que ce soit...

    + il y aura d'imbéciles qui utiliseront des technologies sans chercher à les comprendre, plus les bugs et demandes d'aide sur cette technologie apparaîtront... ce ne sont que des stats.
    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)

  2. #22
    Membre émérite
    Citation Envoyé par Lcf.vs Voir le message
    Ce que j'adore toujours, avec ce genre d'arguments, c'est qu'il faut quand même sacrément être de mauvaise foi, pour se servir d'exemples pareils...

    On additionne pas des pommes et des poires, les opérations décrites ci-dessus n'ont juste aucune raison d'être.

    Dans un langage à typage strict, t'aurais simplement une exception ou un plantage de compilation... le JS n'en soulève pas, ok... mais osef, un dev un minimum pas trop crétin ne fait pas ce genre de choses ^^'
    Exactement, on additionne pas des pommes et des poires. Sauf que le langage ne permet pas de les différencier. Pire, il permet d'en faire des trucs dans un sens et pas dans l'autre ! '5' +3 et '5'-3 étant pour moi les meilleurs exemples.

    les premiers exemples sont en effet de mauvaise fois. dés que tu te fais avoir une fois, tu oublis le == et passe au === sinon c'est l'enfer...

    On en revient toujours à son défaut principal : il n'est pas typé, et il est interprété. Tu n'aurais un crash que quand tu passeras effectivement dans le bout de code. pour éviter ça, il te faut des TU avec une couverture de 100%. Je sais pas vous, mais le mieux que j'ai croisé en entreprise, c'était en Avionique : ~97% environ, les 3 dernier pourcent étant démontrés mathématiquement comme inatteignable... Sinon j'oscille entre pas de test ou entre 20% et 50%

    Citation Envoyé par Lcf.vs Voir le message
    C'est aussi le cas du JS... Il y a 5 ans d'ici, on estimait qu'il fallait environ 7 ans pour bien comprendre toutes les petites subtilités du JS... et vu comme il a évolué depuis, le total doit donc être encore supérieur.
    Du coup, ça revient à ce que je dis, le language permet bien moins de choses que du C++ ou du Java et demande beaucoup plus de travail pour le maitriser. Accuser les développeurs d'être mal formés ou fénéants d'apprendre les subtilités est un peu simpliste selon moi, le language a bien ses responsabilités.

    Citation Envoyé par Lcf.vs Voir le message
    Ce n'est pas la symptomatique du JS mais bien du fait qu'avec des jQuery & Co, n'importe qui a commencé à faire du JS sans vouloir apprendre quoi que ce soit...

    + il y aura d'imbéciles qui utiliseront des technologies sans chercher à les comprendre, plus les bugs et demandes d'aide sur cette technologie apparaîtront... ce ne sont que des stats.
    Oui et non. Tu peux mettre un imbécile devant un compilateur Ada, la plupart de ses erreurs de débutants ou ses imbécilités ne passeront jamais l'étape de compilation.
    Je dirais même que pour faire une imbécilité en Ada, il faut être sacrément intelligent

    Comme dit plus haut, le langage a sa responsabilité. La majorité des problèmes vient du fait qu'il soit interprété, ensuite qu'il ne soit pas typé, et enfin de toutes les subtilités énoncés dans le post d'exemples de mauvaise fois ci-dessus.

  3. #23
    Expert éminent sénior
    Citation Envoyé par Lcf.vs Voir le message
    mais osef, un dev un minimum pas trop crétin ne fait pas ce genre de choses ^^'
    je ne parierai pas ma chemise dessus vois-tu

  4. #24
    Membre éclairé
    Citation Envoyé par Sodium Voir le message
    Justement, un bon langage ne te laisse pas additionner des pommes et des poires. Un langage faiblement typé il te fait de la compote. JavaScript lui tu lui donnes des pommes et des poires et il te fait un faisan, un ballon dirigeable, une tour de babel ou un nénuphar.
    Mais t'as qu'à juste pas faire n'importe quoi... après, ouais, si t'as besoin que ton langage te tape sur les doigts pour avoir un semblant de qualité...
    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)

  5. #25
    Membre éclairé
    Citation Envoyé par PhilippeGibault Voir le message
    Attention, ceci a réellement existé dans un vrai langage , et peut-être que ça existe encore

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ''        ==   '0'           // false
    0         ==   ''            // true
    0         ==   '0'           // true
    false     ==   'false'       // false
    false     ==   '0'           // true
    false     ==   undefined     // false
    false     ==   null          // false
    null      ==   undefined     // true
    " \t\r\n" ==   0
    C'est pour ça qu'on appel les "==" les evil twins et que l'on est censé utiliser les triples égales.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    > {} + {} // Ceci n'est effectivement PAS un nombre
    NaN
    Oui, et c'est normal, puisque l'opération qui à échouée à la base était une addition.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    > '5' + 3
    '53'
    > '5' - 3
    2
    > "Vous en étiez à... peau de couilles je crois ?" + 1
    'Vous en étiez à... peau de couilles je crois ?1'
    > "Vous en étiez à... peau de couilles je crois ?" - 1
    NaN
    Bah c'est logique à tous les niveaux là, et dans pas mal de langages on se retrouve avec des résultats similaire, comme le python...

    Et puis bon, ça c'est juste du copié/collé d'articles tout pétés qui ont 5 ans et dont le but était de troller...

    Si vraiment on veut etre de mauvaise foi en JAVA on à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public class Testing { 
        public static void main(String[] args) 
         { 
             // the line below this gives an output 
             // \u000d System.out.println("comment executed"); 
         } 
    }
    WOW mais si c'est vl'a pas les conséquences de mes propres actions ? Je déteste donc JAVA maintenant

  6. #26
    Membre éclairé
    Citation Envoyé par AoCannaille Voir le message
    Sauf que le langage ne permet pas de les différencier.
    Hum, il faudra quand même que tu m'expliques, alors, surtout vu qu'il y a justement des fans de TS, dans ce fil : comment fait le TS pour faire sa validation de types qui est si chère à ses fans ?
    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)

  7. #27
    Membre extrêmement actif
    Citation Envoyé par Lcf.vs Voir le message
    Mais t'as qu'à juste pas faire n'importe quoi... après, ouais, si t'as besoin que ton langage te tape sur les doigts pour avoir un semblant de qualité...
    Ah mais oui, ne pas faire d'erreurs en codant, même quand il y a 4 conversations dans le bureau qui mixent travail, recettes de cuisine, bagnoles et dernier épisode de Game of thrones, pourquoi n'y ais-je jamais pensé, c'est pourtant tout bête
    Citation Envoyé par Un expert en programmation
    D'ailleurs il croit toujours que le JS c'est de la POO

  8. #28
    Membre actif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    > '5' + 3
    '53'
    > '5' - 3
    2
    Dans un Langage normal, on aurait une erreur à la compilation et/ou à l'exécution, pas un résultat...

  9. #29
    Membre éclairé
    D'ailleurs il est possible de faire du typage en JS, mais bon hein comme c'est ça doit être de l'initiative personnelle et que ça demande d’être rigoureux sans que le langage mâche tout le travail ou que le soucis soit relevé à la compilation comme garde fou, c'est forcement la faute du langage...

    Et quand bien même il serait mauvais, deal with it, on entend pas les rageux

  10. #30
    Membre émérite
    Citation Envoyé par Lcf.vs Voir le message
    Hum, il faudra quand même que tu m'expliques, alors, surtout vu qu'il y a justement des fans de TS, dans ce fil : comment fait le TS pour faire sa validation de types qui est si chère à ses fans ?


    tout va trop vite ici, j'ai écrit une réponse, pendant que je l'écrivait 2 personnes m'on cités, j'ai édité ma réponse et voilà qu'il y a une réponse à ma réponse non édité.

    Typescript est rustine au langage comme peut l'être valgrind sur C/C++ qui permet de detecter les fuites mémoires.
    Typescript ne fait que prouver qu'il manque qqch au langage.

  11. #31
    Membre éclairé
    Citation Envoyé par PhilippeGibault Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    > '5' + 3
    '53'
    > '5' - 3
    2
    Dans un Langage normal, on aurait une erreur à la compilation et/ou à l'exécution, pas un résultat...
    Le python aussi est donc pas un language normal ?

    En fait, dès que ça sort de notre zone de confort, c'est plus un langage normal si j'ai bien compris.

  12. #32
    Membre actif
    Je ne connais pas le Python. Donc, je n'ai pas d'avis.

  13. #33
    Membre éclairé
    Citation Envoyé par AoCannaille Voir le message
    tout va trop vite ici, j'ai écrit une réponse, pendant que je l'écrivait 2 personnes m'on cités, j'ai édité ma réponse et voilà qu'il y a une réponse à ma réponse non édité.

    Typescript est rustine au langage comme peut l'être valgrind sur C/C++ qui permet de detecter les fuites mémoires.
    Typescript ne fait que prouver qu'il manque qqch au langage.
    Cela prouve juste que certains devs ont besoin d'une béquille pour avancer... doit y avoir une épidémie de TDA chez les développeurs
    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. #34
    Membre éclairé
    Citation Envoyé par AoCannaille Voir le message
    tout va trop vite ici, j'ai écrit une réponse, pendant que je l'écrivait 2 personnes m'on cités, j'ai édité ma réponse et voilà qu'il y a une réponse à ma réponse non édité.

    Typescript est rustine au langage comme peut l'être valgrind sur C/C++ qui permet de detecter les fuites mémoires.
    Typescript ne fait que prouver qu'il manque qqch au langage.
    Si on part de se principe tous les frameworks et les librairies prouvent qu'il manque des méthodes de base aux langages ?

    D'ailleurs je voudrais revenir sur GWT, à la base hein GWT c'est pour fournir du JS à partir du java donc c'était aussi une rustine et ça à été tué dans l’œuf principalement parce-que c'était ultra verbeux et immonde.

  15. #35
    Membre émérite
    Citation Envoyé par Lcf.vs Voir le message
    Cela prouve juste que certains devs ont besoin d'une béquille pour avancer... doit y avoir une épidémie de TDA chez les développeurs
    Développer ne devrait pas être une torture, sinon on serait resté à l'assembleur! (quoi que, même si la syntaxe est immonde, avec les jeux d'instructions si réduit, on peut vraiment tout maitriser assez vite!)

    Le fait est qu'on nous laisse jamais le temps de faire bien les choses. Donc penser à tous les pièges syntaxique du langage avant de pousser en prod, c'est compliqué. S'il y a des outils qui peuvent alléger cette charge mentale, je prend!

    Développer n'est pas une fin en soit, on développe quelque chose pour un métier, une application. Notre temps et nos compétence doivent être au service de ce métier, pas à rester dans notre monde de dev.

    L'important, c'est de connaitre les faiblesses d'un langage et d'y porter une attention suffisante pour éviter les catastrophe. Limiter cette attention est un objectif en soit.

  16. #36
    Membre éclairé
    'fin, dans tous les cas, le JS me convient très bien, au point que j'viens d'abandonner un arsenal de 10 ans de création d'outils en PHP, pour ne plus faire QUE du JS et pouvoir enfin utiliser les mêmes outils en front/back et écrire mon front/back exactement de la même façon.
    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. #37
    Membre actif
    J'ai désigné trois language que j'utilise (utilisais ou tenter d'utiliser)

    1 - Javascript
    Sous sa forme native n'a pas de souci, associé aux outils qui gravitent autour, ça devient une usine à gaz pour quelqu'un qui veut développer de petits outils.
    2 - Typescript
    Pour dire vrai, je n'ai pas vraiment eu le temps de me pencher deçu.
    3- Obligé de l'utiliser dans les milieux professionnels, MS ne faire rien pour l'améliorer( Interface, EDI, autocomplétion,...), bref pas pro. Se sentant obliger, ça m'énerve encore plus.

  18. #38
    Membre émérite
    Citation Envoyé par L33tige Voir le message
    Si on part de se principe tous les frameworks et les librairies prouvent qu'il manque des méthodes de base aux langages ?
    ça dépend des librairies. Quand il s'agit que de types simple ,comme RogueWave a pu le faire avant l'arrivée de la stl, ou comme JODAtime pour gérer proprement les dates en java avant java 8, alors oui.

    Quand il s'agit de code métier, genre Luciad, qui permet d'avoir une plue value incroyable dans la gestion de la cartographie, alors non.

  19. #39
    Membre éclairé
    Citation Envoyé par AoCannaille Voir le message
    Développer ne devrait pas être une torture, sinon on serait resté à l'assembleur! (quoi que, même si la syntaxe est immonde, avec les jeux d'instructions si réduit, on peut vraiment tout maitriser assez vite!)

    Le fait est qu'on nous laisse jamais le temps de faire bien les choses. Donc penser à tous les pièges syntaxique du langage avant de pousser en prod, c'est compliqué. S'il y a des outils qui peuvent alléger cette charge mentale, je prend!

    Développer n'est pas une fin en soit, on développe quelque chose pour un métier, une application. Notre temps et nos compétence doivent être au service de ce métier, pas à rester dans notre monde de dev.

    L'important, c'est de connaitre les faiblesses d'un langage et d'y porter une attention suffisante pour éviter les catastrophe. Limiter cette attention est un objectif en soit.
    Ah, enfin de l'argumentaire avec un peu de contenu...

    L'aspect "on ne nous laisse pas assez de temps", je suis désolé mais c'est à toi à le prendre... et si ce n'est pas accepté par tes supérieurs, change de boite ou lance-toi à ton compte... Ton employeur actuel n'a visiblement pas assez de considération de l'importance de pouvoir faire correctement les choses, ni de ton envie/besoin de les faire correctement, préserver ta santé mentale et t'épanouir dans ton boulot.

    Sur l'aspect de pouvoir réduire son attention sur diverses tâches, tout en faisant quelque chose de robuste, on est d'accord, c'est un requis indéniable... mais ce n'est qu'une question de méthodologie, il y a plein de façons de rendre son code très strict et même de le typer, en JS ou pas.

    Évidemment, cela demande de bien comprendre le langage en question, de faire des recherches concernant les diverses approches, les outils existants, ... sans reposer uniquement sur le langage, ton arsenal va croître tout naturellement et ton expérience conceptuelle aussi, de par toutes ces subtilités que t'auras dû apprendre à appréhender.
    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)

  20. #40
    Membre émérite
    Citation Envoyé par Lcf.vs Voir le message

    L'aspect "on ne nous laisse pas assez de temps", je suis désolé mais c'est à toi à le prendre... et si ce n'est pas accepté par tes supérieurs, change de boite ou lance-toi à ton compte... Ton employeur actuel n'a visiblement pas assez de considération de l'importance de pouvoir faire correctement les choses, ni de ton envie/besoin de les faire correctement, préserver ta santé mentale et t'épanouir dans ton boulot.
    Etre à mon compte n'y changerais rien, si je peux gagner du temps avec un meilleurs langage ou des outils, je prendrais les même décisions que mes chefs actuels!

    D'autant plus qu'on ne peux pas toujours "être à son compte". ça, ça ne marche que pour le web et les applis de téléphone. Dans le militaire, si tu n'as pas une boite qui a un minimum de 5milions d'euro de chiffre d'affaire, tu ne peux même pas postuler aux appels d'offres.


    Sur l'aspect de pouvoir réduire son attention sur diverses tâches, tout en faisant quelque chose de robuste, on est d'accord, c'est un requis indéniable... mais ce n'est qu'une question de méthodologie, il y a plein de façons de rendre son code très strict et même de le typer, en JS ou pas.
    Et ces façons sont : réinventer la roue et essayer de forcer un paradigme "objet" à un langage de paradigme "prototype" ou d'utiliser les rustines déjà citées, genre typescript. Dans tout les cas le langage est en cause.

###raw>template_hook.ano_emploi###