Assembleur
C
C#
C++
Cobol
Dart
Delphi
Fortran
Go
Haskell
Java
JavaScript
Kotlin
Lisp
MATLAB
Objective-c
Pascal
Perl
PHP
Python
R
Ruby
Rust
Scala
Swift
TypeScript
VBA
WLangage (WinDev)
Autres, merci de préciser
Sans avis
Tiens, je tombe sur un exemple précis de ce qui est (entre autre) pénible en JavaScript. Je veux que ma fonction me renvoie une copie d'un objet et non une référence.
En PHP j'aurais utilisé la fonction clone. En JavaScript ben non.
Manière stupide : Transformer l'objet en JSON puis re en object
Manière un peu moins stupide mais quand-même stupide : const copy = Object.assign({}, source);
En soi ça n'a rien de compliqué, mais ce genre de trucs accumulés font que lire du code JavaScript est une horreur. Il faut en permanence avoir un filtre détecteur : ah il a fait ça ... ahhh mais oui c'est pour pallier à l'absence de telle fonction native.
Pareil pour générer un entier aléatoire : "Math.floor(Math.random()*(max-min+1)+min)"... sans déconner c'était trop compliqué de faire une fonction randomInt ou autre ?
Le code JavaScript est tout à fait ça... du code. Là où l'on conseille dans les autres langages d'écrire du code source au plus proche du langage humain, ici on a l'exact inverse.
Sans doute un égo élitiste à satisfaire quelque part, ça serait tout de même dommage que n'importe quel développeur puisse comprendre grossièrement ce que fait un bout de code...
Attention car pour faire une copie en profondeur, passer par du JSON ne fonctionne… que sur des objets JSON. Mais le web ne manque pas de fonctions qui font ce job plus élégamment.
Pour faire une shallow copy (ton deuxième code) tu peux écrire ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part const copy = { ...source };
Ah mon avis on a tous bien compris, je pense que tu peux arrêter d'en rajouter. JS c'est une belle bouse. Malheureusement comme on ne peut pas faire sans quand on veut programmer un truc web côté client ben on fait avec et certains avec plus de facilités (ou plus de plaisirs) que d'autres.
Le plus amusant (ou triste ça dépend comment on voit la chose) c'est que j'ai été contacté par un patron de boite qui me connaissait avant qu'il monte sa boite et qui veut peut-être me proposer un poste chez-lui. Sauf que chez-lui c'est du JS. Bon c'est pas encore fait mais si ça doit se concrétiser (probablement d'ici décembre), je vais me retrouver devant un choix difficile...
Si on a tous bien compris pourquoi y a-t-il encore autant de gens ici même qui prétendent que JavaScript est formidable ?
Ben justement, il me semble que depuis quelques posts, ces gens là ne sont plus revenus se manifester. C'était pour ça...
Salut à tous.
Cela ne sert à rien d'argumenter si vous ne faites pas l'effort de comprendre.Envoyé par Sodium
Ben oui, comme vous ! Alors que la grande majorité dit que c'est un langage pourri.Envoyé par Sodium
Je ne suis pas revenu car j'avais l'impression de discuter dans le vide, surtout avec Sodium. Et je constate qu'il a reçu plein de '-1'.Envoyé par Sve@r
@+
Pfiu, tu ne peux même pas imaginer à quel point les -1 de personnes navrantes m'indiffèrent
Windev, c'est du 100% proprio (y compris format des fichiers sources), l'édition 'Express' est plus que limitée (eg: durée maximale d'utilisation 1h par session), aucun chiffre pour les limitations (ex: Nombre de champs par fenêtre: 5000 dans la version complète, 'Limité' (çà veut dire quoi: 5, 10, 50 ?).
Le code est exécuté dans une machine virtuelle (du bytecode interprété donc)
Autant les commentaires sont bons, autant le sondage en lui-même ne vaut rien.
Le classement correspond peu ou prou à l'utilisation effective des langages par les membres de developpez.com.
A croire que tous les langages sont détestés!
Je trouve que les trop nombreux commentaires non constructifs sont mauvais aussi... mais bon, dès qu'on aborde un sujet polémique, on a ce genre de résultat.
C'est comme sur les réseaux sociaux, un plus grand nombre de cracheurs de venin s'expriment, décourageant ceux qui voudraient construire une réflexion...
En ce qui concerne le débat, parmi les langages que je connais bien (java, javascript, c/c++, pascal, cobol, rpg, mi), il n'y en a aucun que je déteste, ils ont tous des avantages et des inconvénients, tout dépend de ce qu'on veut faire et sur quel environnement.
Il va de soi que le MI en dehors d'un iSeries (AS/400), ça va être difficile... le RPG en dehors d'un système IBM, pareil...
Donc, si on limite à ce qui est plus largement exploitable, faire un programme de gestion avec du C n'est de loin pas la meilleure solution et de l'autre côté, faire un driver en java... bon courage...
Maintenant, le débat sur "langage typé" ou "non typé"... bof... je ne vois pas trop où est le problème du langage non typé... j'aime bien javascript pour faire ce pourquoi il a été conçu, il suffit d'apprendre ses spécificités (et ceci est vrai pour toutes les technos).
Ce qui m'énerve le plus ce sont ces nouveaux langages qui apparaissent et qui n'apportent qu'un sucre syntaxique et rien de fondamental, comme si la valeur d'un programme se mesurait au nombre de lignes de code, moins il y en a, meilleur il est... alors que bien souvent, c'est le contraire
Alors soit tu ne sais pas lire, soit tu n'as pas pris le temps de lire... dans tous les cas, je ne fais la morale à personne, j'exprime mon point de vue et pour ce qui est de la justification, si "ces nouveaux langages qui apparaissent et qui n'apportent qu'un sucre syntaxique et rien de fondamental" ne te suffit pas comme justification, je ne peux rien pour toi
Si je ne rentre pas plus dans le détail, c'est parce qu'il est fort à parier qu'il y aura une personne pour affirmer haut et fort ses convictions contraires et on se retrouvera, comme d'habitude, dans une discussion de gamin genre :
- SI...
- NON....
- J'te dis que SI
- etc...
-> ce que je qualifie de "non constructif"... à bon entendeur... salut.
C'est vrai que si Kotlin est du "sucre syntaxique" pour la VM de Java, alors le C++ est du sucre syntaxique pour le code machine.
Alors ce genre de commentaire ne démontre qu'une seule chose c'est ta totale méconnaissance du C++ ou du code machine, ou une aptitude à exagérer outrageusement les choses...
Comparer des instructions machine, forcément limitées en nombre et en fonctionnalités, à l'un des plus puissant langage objet... bof...
A ce jeu là, on peut dire que n'importe quel langage de programmation est un sucre syntaxique du code machine, kotlin compris.
Maintenant, entre java et kotlin, explique nous ce qu'il y a de transcendant dans kotilin qu'on n'a pas en java, la question est bien là.
Je ne dis pas que kotlin est un mauvais langage, il est aussi bon que java, ni plus, ni moins...
Quelqu'un qui ne connais ni l'un ni l'autre peut raisonnablement se poser la question duquel apprendre, là, les tendances du moment pourront l'influencer... mais pour quelqu'un qui connaît bien java, quel serait l'intérêt de passer à kotlin ?
Mais Kotlin ne se compile pas en Java. Kotlin se compile en bytecode Java, tout comme Java. De la même manière, C++ se compile en langage machine, et il est pourtant différent de, mettons, Go, qui se compile également en langage machine. Ce n'est pas parce qu'un langage utilise le bytecode conçu pour un autre langage, qu'il serait du sucre syntaxique pour le premier.
Je ne peux pas faire la comparaison entre Java et Kotlin, je ne pratique pas les deux. Mais je fais confiance à l'équipe de Jetbrains et s'il fallait que je me remette à produire des programmes pour VM Java j'essaierais sûrement Kotlin.
Partager