Je me pose pas mal de questions sur l'avenir du JavaScript.
JavaScript n'est pas près de disparaître car:
Il a aujourd'hui une énorme communauté de développeurs
C'est un langage définit par un standard
C'est le soldat qui a gagné la "guerre" des RPCs, des standards comme CORBA n'existent plus qu'à l'état de niche, et le JSON/HTTP s'est établi comme standard de facto dans le monde des RPCs. Bien-sûr on peut utiliser JSON/HTTP sans JavaScript, mais beaucoup de services proposes des APIs JavaScript pour interagir avec eux via JSON/HTTP.
Les interpréteurs de JavaScript sont à la pointe de la technologie en raison de l'attention qu'ils ont reçue dans les dernières années à cause de la compétition acharnée entre les navigateurs. Sans cette compétition très tendue en arrière plan, il y a peu de chance qu'on voie apparaître des interpréteurs aussi performants pour des langages plus confidentiels.
JavaScript n'est pas resté immobile. On a vu apparaître les Promise, puis certains ont détourné les générateurs. On parle beaucoup d'async/await. Il n'empêche, on est toujours dans un bourbier, coincé entre des API qui utilisent parfois des callbacks, parfois des promises.
Ce n'est pas un très gros problème. En pratique c'est presque toujours mieux de programmer
avec des promise (style monadique) qu'avec des callback (style spaghetti). Losqu'on doit
utiliser une bibliothèque qui utilise des callback c'est utile (ou nécessaire) d'adapter son interface
en style promise.
Le typage statique est également très intéressant pour détecter des erreurs.
Programmeur OCaml chevronné, je trouve que le typage statique brille tout particulièrement pendant les refactorings car les gros changements d'organisation dans un programme amènent leur lot d'erreur. Pour des programmes équivalents, un refactoring JavaScript me prend 4-5 fois plus de temps qu'avec OCaml.
Dernier point, avec ES6 et les versions futures, je trouve le langage de plus en plus complexe. [...]
Je partage ton avis. Pour être honnête, je n'ai jamais beaucoup aimé JavaScript jusqu'au jour
où j'ai lu et apprécié le livre de Douglas Crockford *JavaScript – The Good Parts" qui propose
une méthodique de programmation très simple, cohérente, et claire. Quel contraste avec le côté
bidouille et fouillis qu'on voit dans la plupart des programmes qu'on peut lire!
Et vous, quels sont vos langages du moment ? Et que font-ils mieux que JavaScript ?
Mon langage du moment est – depuis 1999 – le OCaml. Son adoption dans l'industrie se solidifie d'année en année. Ce qui pourrait t'intéresser, c'est la présence d'un compilateur js_of_ocaml qui permet de compiler
son programme OCaml en JavaScript. Écrire des bindings pour utiliser ses bibliothèques JavaScript sur
avec ses programmes OCaml est très facile quand on a pris le tour de main – mais en général il faut
un peu plus de travail pour avoir une interface "OCaml-ienne". Mais ça marche superbement!
# Il ne reste qu'à essayer OCaml
Posté par Michaël (site web personnel) . En réponse au journal Et si JavaScript allait droit dans le mur ?. Évalué à 10.
JavaScript n'est pas près de disparaître car:
Il a aujourd'hui une énorme communauté de développeurs
C'est un langage définit par un standard
C'est le soldat qui a gagné la "guerre" des RPCs, des standards comme CORBA n'existent plus qu'à l'état de niche, et le JSON/HTTP s'est établi comme standard de facto dans le monde des RPCs. Bien-sûr on peut utiliser JSON/HTTP sans JavaScript, mais beaucoup de services proposes des APIs JavaScript pour interagir avec eux via JSON/HTTP.
Les interpréteurs de JavaScript sont à la pointe de la technologie en raison de l'attention qu'ils ont reçue dans les dernières années à cause de la compétition acharnée entre les navigateurs. Sans cette compétition très tendue en arrière plan, il y a peu de chance qu'on voie apparaître des interpréteurs aussi performants pour des langages plus confidentiels.
Ce n'est pas un très gros problème. En pratique c'est presque toujours mieux de programmer
avec des promise (style monadique) qu'avec des callback (style spaghetti). Losqu'on doit
utiliser une bibliothèque qui utilise des callback c'est utile (ou nécessaire) d'adapter son interface
en style promise.
Programmeur OCaml chevronné, je trouve que le typage statique brille tout particulièrement pendant les refactorings car les gros changements d'organisation dans un programme amènent leur lot d'erreur. Pour des programmes équivalents, un refactoring JavaScript me prend 4-5 fois plus de temps qu'avec OCaml.
Je partage ton avis. Pour être honnête, je n'ai jamais beaucoup aimé JavaScript jusqu'au jour
où j'ai lu et apprécié le livre de Douglas Crockford *JavaScript – The Good Parts" qui propose
une méthodique de programmation très simple, cohérente, et claire. Quel contraste avec le côté
bidouille et fouillis qu'on voit dans la plupart des programmes qu'on peut lire!
Mon langage du moment est – depuis 1999 – le OCaml. Son adoption dans l'industrie se solidifie d'année en année. Ce qui pourrait t'intéresser, c'est la présence d'un compilateur
js_of_ocamlqui permet de compilerson programme OCaml en JavaScript. Écrire des bindings pour utiliser ses bibliothèques JavaScript sur
avec ses programmes OCaml est très facile quand on a pris le tour de main – mais en général il faut
un peu plus de travail pour avoir une interface "OCaml-ienne". Mais ça marche superbement!