Це відео не доступне.
Перепрошуємо.
Pourquoi "JavaScript c'est nul"
Вставка
- Опубліковано 18 сер 2024
- Article ► grafikart.fr/t...
Abonnez-vous ► bit.ly/Grafika...
Dans cette vidéo je vous propose de passer en revue les critiques faites à l'égart du JavaScript pour mieux les comprendre et voir si elles sont justifiées.
00:00 Introduction
00:18 La popularité
01:57 Ça a été fait en 10 jours
03:13 On est obligé de l'utiliser :(
04:32 Runtime imprévisible
06:02 Trop de modules
07:00 La lourdeur de node_modules
10:50 Accident left-pad
12:28 Trop de librairies / frameworks
14:14 Callback hell
15:22 JavaScript est bizarre
17:07 Pas de typage
18:30 Injection de dépendance
20:29 Single thread
23:00 Conclusion
Soutenez Grafikart:
Devenez premium ► grafikart.fr/p...
Donnez via Utip ► utip.io/grafikart
Retrouvez Grafikart sur:
Le site ► grafikart.fr
Twitter ► / grafikart_fr
Discord ► grafikart.fr/t...
comme la plus part des devs, pendant mes études, j'ai fait du java, dans mes premiers jobs aussi, ensuite j'ai découvert js, puis le MEAN stack (mongo, express, angular, node) et je suis devenu une MACHINE à développer des apps/api, c'est d'une efficacité redoutable, jamais je ne reviendrais sur java.
JavaScript > ALL ❤ Tu peux tout faire. Serveur, Client, Moteur physique, Moteur 3D, Mobile, IA, VR, etc. Tu peux aussi faire de la POO
Tu peux aussi faire des apps desktop (electron, neutralino ) ET tu peux aussi contrôler le GPIO d'un raspberry pi avec node.js !!! La on est complet je crois.
c++ peut en dire autant
Merci beaucoup pour cette vidéo. SVP quel outil utilisez-vous pour les slides?
Les flèches en bas à droite me font penser à RevealJS
Peux tu faire une vidéo NodeJS vs PHP en backend ?
Y'n a pas mal qui oublie qu'au début de la programmation web, il n'y avait que le HTML. Quand les CGI et JS/VB script sont arrivés ça été une bouffée d'oxygène et ça a donné le web qu'ils connaissent maintenant sans Ajax.
Je ne vous raconte pas quand j'ai commencé à faire du Javascript et qu'il fallait faire du code compatible avec Netscape / Internet Explorer / Opera / etc... Quelle galère. Maintenant franchement avec webpack et tous les polyfill c'est devenu quand même bien transparent.
et VBscript pour explorer ^^
c'est pour ça jquery a existé à l'époque
Le Javascript est un très bon langage qui convient au plus grand nombre.
Les débutants peuvent facilement en comprendre les bases et programmer des choses simples qui fonctionnent.
Les programmeurs aguerris pourront trouver leur bonheur en utilisant les fonctionnalités plus avancées.
Ceux qui le critiquent ne l'ont probablement jamais essayé.
Ceux qui critiquent sont surtout ceux qui connaissent d autres langages 🤣
Merci pour cette vidéo et pour toutes les autres d'ailleurs ;)
Je sais pas si tu as eu l'idée ou l'envie de le faire mais … je pense qu'il serait intéressant de parler de ton expérience. Je m'explique ^^ :
Chaque technologie a ses avantages, ses inconvénient. Pareil pour le choix des librairies, certaines serait mieux adaptées que d'autres (pour des questions de légèretés, de fonctionnalités.. peu importe!). Je pense qu'il serait intéressant qu'un jour, tu puisse nous parler des choix possibles (librairie, framework, language) pour un projet, et que tu t'es plutôt lancé dans "ce choix la" parce que ...
Bref, ce n'est qu'une idée qui me plairait de voir dans ta chaine.
Merci encore pour tout ! t'es top !
Super la vidéo ! Avez-vous regardé les avancées de Phoenix Liveview (Elixir) ?
oooo mais il y a quelqu'un de bien dans les commentaire !!!
extrement interressant, perso je suis debutant dans le dev, mais justement je m'interroger au niveau framework, html css et javascript, je me demandait si au final il ne serait pas mieux de tout coder en dur ? ecrire le prog de a à z pour eviter pas mal de problemes sur les mise a jours de framework. Je sais maintenant que oui c'est beaucoup plus chronophage et techniquement ennuyeux, mais de ma jeune experience cela me semble beaucoup plus stable, et si le code est bien commenter et lisible. qu'en pense tu ?
C'est vrai que parfois il faut éviter de réinventer la roue. Mais moi je code un peu comme toi. Sur mes projets perso, c'est du HTML, CSS, JavaScript pur.
J'utilise des librairies ou des Frameworks quand j'y suis contraint
"Soyez critiques vis à vis des critiques" 👏👏
Je suis dev js depuis 3 ans et je me limite uniquement à React / Next et du Fastify ou Strapi pour le back selon le besoin. Si on commence à s'éparpiller on s'en sort plus, donc j'essais de prendre ce qui se fait de "mieux".
Mec du fais du React sans typescript??? As-tu entièrement perdu la raison?
🤝
@@monsieurouxx Parce que faut encore le préciser ? Je croyais que c'était d'usage la norme.
@@thehelldesk5463 ton commentaire n'était pas clair pour moi, j'ai cru que tu écrivais que les choses auxquelles tu te limitais incluaient JavaScript.
@@monsieurouxx Le sujet de la vidéo c'est JS donc je parlais des techno JS auxquelles je me limite. TS en fait parti mais c'est normal aujourd'hui je pense ?
Merci pour ce que tu fais pour la commu, je suis en reconversion et je viens de commencer à prendre un compte premium sur ton site vu tous tes tuto gratuit que j'ai avaler j'ai trouvé que c'était le minimum 🙏
Je ne suis pas un programmeur, donc, pas frapper ;) Au début que je me suis mis au javascript, je ne comprenais rien, je n'avais pas saisi que beaucoup d'exemple étaient en jquery ( mais pas toujours bien indiqué ), la prise de tête. Maintenant, mon approche est très simple, vanilla javascript.
D'autant que jQuery.... meurt lentement et ne présente plus du tout ses intérêts du début : l'interopérabilité du code entre les différents navigateurs. End. Il faut coder en JS. Bootstrap qui a toujours implémenter jQuery, s'en est débarasser sur sa derniere version pour revenir au pur JS. Good decision ;)
Très intéressant ! Pourquoi ? Parce qu'il reprend toutes les critiques sur JS d'une part et qu'il les analyse.
En faisant ce travail de prise de recul, il montre en filigrane comment prendre en compte les critiques vis-à-vis de n'importe quel langage et met en lumière la dimension bruit autour de la plupart des critiques, amplifiées par le buzz et les réseaux sociaux.
Le fond de la vidéo ne dit pas que JS est nul mais met en perspectives les atouts et limites du langage en lien avec une analyse de la pertinence des critiques les plus entendues.
Bravo pour ce travail, très intéressant pour une personne qui veut gagner du temps dans sa progression en tant que dev.
je suis d'accord avec ce que tu dis. Tout dépend des besoins généralement. Je suis dev php depuis 15 ans, mais j'ai codé plusieurs fois aussi en javascript parce que j'en avais besoin.
Le seul truc sur lequel je suis pas entièrement d'accord, c'est la justification du nombre de librairies. Effectivement c'est chouette d'avoir une grosse communauté qui dev et qui veut s'améliorer et améliorer le language et les librairies. Seulement, j'ai beaucoup plus la sensation que c'est "pour avoir son truc à soi" et que c'est plus une histoire d'égo plus qu'autre chose.
Pourquoi ne pas se mettre sur une librairie qui fonctionne et l'améliorer tout simplement ? Au lieu de faire son truc de son côté.
Concrètement, j'ai déjà bossé dans des équipes où les fronts adoraient changer de techno tous les 6 mois avant de se rendre compte que c'était de la merde et qu'il n'y avait finalement pas tous les outils demandés... pour faire tourner les projets qu'on avait c'était horrible parce qu'on devait switch d'environnement parce qu'ils l'avaient décidé. Et ca provoquait des problèmes de configuration, ca ralentissait notre travail, sans compter qu'on devait également faire du front parfois aussi..
Tout ca pour dire, c'est génial d'avoir des devs front critiquent et qui remettent en question les choses. Mais si c'est juste pour dire "c'est mon truc à moi" puis laisser tomber la maintenance même pas 6 mois plus tard, ca n'en vaut tout simplement pas la peine. Qu'ils essaient plutôt à ce moment là de compléter justement sur des grosses technos qui sont déjà bien implentées. Sinon, pour mon prochain job, je vais devoir me taper les 10 librairies différentes utilisées parce que l'employeur le demande parce que le dernier front ne savait pas se cantonner à une seule librairie.
mais l'ego est tout le problème de ce monde...
par contre la coopération peut être aussi bloquée par celui qui a déjà fait sa librairie et ne veut pas remettre trop tout en cause...
Je suis d'accord avec vous, Grafikart. C'est surtout le fait que ce soit un langage imposé côté front-end et qu'il n'ait pas une base fiable de runtime ensuite, ainsi que l'apologie des jeunes développeurs qui ne jurent que par JS, alors que dans la pratique, cela dépend de la tâche à accomplir.
Tu pourrais préciser ce que tu veux dire, quand tu dis que "TS ne va pas vérifier que nos types fonctionnent à l'exécution" ?
Il a "vérifié que nos types fonctionnent" à la compilation, donc par quel miracle nos types ne fonctionneraient pas a l'exécution ?
Tu fais un fetch() par exemple et tu donne un type au retour (car typescript ne peut connaitre le type du retour serveur). Tout le reste du code partira du principe que le serveur répondra correctement. Tu peux aussi avoir le problème avec des librairies tiers où le fichier de déclaration n'est pas en accord avec les signatures des méthodes.
@@grafikart si t'as pas de fortes garanties sur le type de retour du fetch et que tu castes, ben c'est pas la faute du langage...
Les types ne fonctionneront pas à l'exécution parce que ils ont été tout simplement retirés du code, comme tout le reste du Typescript présent. Typescript n'est qu'un outil visant à augmenter l'organisation, le professionnalisme, et l'expérience développeur. Seul ton code transpilé (convertit en JS) sera placé sur ton serveur et exécuté soit en NodeJS, soit côté client en Javascript. Le seul moyen de vérifier des types au runtime est en Javascript et avec (par exemple) l'opérateur typeof.
@@_Greenflag_ euh ben non typeof n'est pas le seul moyen, par ex. const f = (x: unknown) => { if (x === 42) { /* ici le type de x est 42 */ }
Le fait que le language ne soit pas typé le rend tres mauvais pour un projet au moins de taille moyenne. Typescript s'est bien imposé, mais essayez de faire du multi-threading avec, c'est immonde. De plus, bcp de devs, meme seniors, l'utilisent mal et type de façon pauvre.
On est au balbutiement de wasm mais avec des nouveaux framework comme yew, il y a un espoir dans l'effondrement du monopole de JS pour le front-end. Il est aussi possible que le JS soit remplacé par AssemblyScript a terme.
Wasm, Yew
On dirait des sons bizarres que crierait un mourant 😄
En effet, peut-être que le salut viendra de WASM... j'espère en tout cas
@@MrJohAA wasm prend de plus en plus de l'ampleur, avec Rust le langage super trendy
@@ylcsl4378 Tu me parles chinois là.
Il y a encore 6ans c'était simple. Javascript pour le front et Php pour le back. Le front a connu un réel essort avec les frameworks Angular et react puis ont émergé tout un tas d'autres langages.
Aujour'dhui ça devient de plus en plus compliqué de s'y retrouver j'ai l'impression. Et vu la demande des entreprises qui cherchent toujours le cheval à 15 pattes je me pose des questions pour le développement web
@@MrJohAA Sauf que le front ne peut pas rester sur place car si tu héberges toute la logique côté backend avec du MVC (et un front dont le Js fait que des animations) le serveur va coûter cher. C'est pour cela que sont apparus ces frameworks pour faire des SPA qui relaient une partie de traitement au frontend (pour envoyer du json concrètement depuis le serveur)
ce qui me dérange en js c'est les variables qui sont super globals, du coup ça casse le principe de l'algo
exemple
*const a*
*toto()*
*function toto() {*
*console.log(a) // marche ...*
*}*
du coup, pas besoin de paramètre...
@JE C'est pas une solution simple
@@oklm2109 tout ce blabla pour dire n'importe quoi
Une fonction prend des paramètres et c'est pas pour rien.
La faut faire autrement dans ce pseudo langage pour respecter ce que tout les langages font...
C'est d'ailleurs pour ça que tu ne vois jamais ou très rarement
Alors bien sûr tu peux faire de la merde pour le justifier mais bon, ton code n'en sera pas mieux pour autant.
Utiliser des super globals fait de la merde car ce n'est pas ta fonction qui le gère les valeurs mais n'importe quoi ou qui...
Ahah
Comment il me parle ...
@@oklm2109
On peut le faire mais c'est quasiment jamais utilisé du fait qu'on peut faire de la meree
@@oklm2109 oklm
C'est un pseudo pour les autres mais pas pour toi ? 🤪😂
@@oklm2109 il est où ton GitHub qu'on puisse vérifier ton code mon grand ?
Tu as regardé les évènements sur JS dans la Doc mozilla ?
Il me semble qu'on ne peut plus unpublish ne serait-ce qu'une version d'un package npm si d'autres packages en dépendent, même avant la limite de 72h. Et ça peut aller assez vite : un Code Sandbox anonyme par exemple va mettre un lock sur une version même s'il s'agit de code jetable
Je rajoute qu'en plus du back et de front, il y a aussi les packages ReactNative, Electron et j'en passe, ce qui explique le nombre de paquets sur npm.
Super interessant, beaucoup de sagesse. Sinon, est ce web assembly va remplacer JS ?
Non
Il faut du javascript pour manipuler le DOM
@@soniablanche5672 salut je fais du php poo mvc et twa
@@pro_stat1993 php laravel et node js
@@soniablanche5672 pourquoi sonia blanche5672, c'est vachement précis pour être aléatoire.
Cette vidéo tombe pile poil après celle de MikeCodeur, qui globalement dis totalement l'inverse. C'est... comment dire... intéressant d'avoir les deux points de vus 😅
Mike codeur en même temps... 🤯
Javascript à la plage ! aouh tchatchatcha 😂
En même temps c'est pas étonnant. Tu compares un mec qui dit des bullshits h24 pour vendre ses formations à un mec qui dev par passion depuis plus de 20 ans... 🤣
@@MyPokemon76 pas faux haha ! Je le suis pas habituellement mais j'ai vu passer sa vidéo dans mes recommandations et dcp je l'ai regardé, mais c'est vrai qu'on sent qu'il raconte un peu de la m* (il a comparé java et JS ☠️)
@@anttonchev vendeur de tapis qui promet merveille et richesses comme beaucoup de UA-camur qui vendent des formations alors que la réalités est bien différente à la dif d'ici qui comme les plus grands n'as plus rien à prouvez j ai plus de confiance ici perso pas de blabla que du bon taf 😘
Comment se fait-il que je rêve d'être un développeur sans " lacunes", alors qu'il y a encore 4 mois j'ai jamais eu l'idée de m'y intéressé
Pour ce qui est des calculs lourds, il paraît que worker_threads peut aider.
Je n'ai pas encore testé, mais JavaScript devient de plus en plus polyvalent.
C'est pas d'hier qu'on peut faire tourner plusieurs thread, notemment côté front avec les PWA. JS est plyvalent depuis un bail. Tu le retrouves, dans le backend, le front-end, des moteurs de jeu, et pour illustrer, ça fait tres longtemps qu'il est utilisé sur des simulateurs d'aviation tels qu'Airbus et même militaire comme Rafale (la fusée de Musk aussi :) ). JS c'est pas juste pour faire un click sur une page web comme je l'entends souvent 🤣 c'est absolument partout sur nos app web. Et côté PWA, tu peux totalement créer une app et la distribuer sur les store desktop (windows/mac) et les store mobile (Ionic, React Native, etc...). On le voit même dans l'IOT avec des lib comme JohnyFive :)
Merci pour ca c’ est cool d’ avoir une « critique» comme celle-ci. Javascript n’ est pas parfait. Mais comme beaucoup de language, Js peut faire tout et n’importe quoi. On a bien fait des Site web complet avec Java. on pourrait toujours le faire juste que ce n’ est pas la fonctionnalité principale de ce language bref . Comme tu le dis si bien mais ceci ne s’ applique pas UNIQUEMENT sur ce theme, arrêtons de prendre pour argent comptant une critique (positive ou negative) comme Seule vérité . Il faut un contexte, un environnement, une application... Une réponse peut varier selon beeeeeaucoup de facteurs. bonne continuation a toi :)
Salut, comment est-il possible d'avoir en css une font-size qui agisse ainsi : plus l'écran est petit, plus la typo est grande et inversement ?
Lorsque on utilise juste par exemple "font-size : 7vw;", cela fait augmenter la taille de la typo à mesure que celle de l'écran augmente. Je recherche un comportement croisé : plus l'écran est petit, plus la typo est grande ; et plus l'écran est grand, plus la typo est petite. Merci !
le mieux c'est de la faire en JS mais si tu veux un truc un similaire en css tu peux toujours t'amuser avec des media queries
C'est pas vraiment le sujet de la vidéo, mais tu peux faire un truc dans ce style : font-size: calc(-2vw + 50px);
@@shadeez9762 Merci ! Je recherchais une méthode purement en css sans points de cassure.
Oh ! Super ! C'est tout à fait ce que je briguais - d'où l'audacieux hors sujet sous une vidéo récente d'une sympathique communauté 😁. Merci @@Scootty !
Je dois etre le seul sur terre a detester le framework Laravel
Super video tres instructive j aimerai comprendre pourquoi js est simple tread . Jai developer une application bateau qui parse du multi serial data en front end comment je peux evaluer le temps d execution de chaque fonction
C'est pas qu'il est simple thread, c'est qu'il n'est pas multi thread, en gros la raison est simple: JS n'a pas prévu de système de multi thread car Javascript a seulement été conçu pour rendre les pages interactives, rien de plus, c'est la communauté JS qui a créé des librairies pour faire du multithread
Bref il est simple thread parce qu'il n'est pas multi thread :p
bonjour et merci pour tout ce que vous faites pour nous.
pouvons nous avoir une vidéo sur les nouveautée de l'html
Express js nodejs vue js reactnative et tous les grand site ont eter ecrit avec javascript:when we dont know we dont speak✍️✍️✍️
merci maitre! je prefere le js au php mais je maitrise toujours pas car mon probleme c'est qu'aucune personne écrit la m chose! m les formations correspondent pas aux videos sur le net...
Regarde du coter de pnpm pour la gestions de package avec node.js, ça détruit complétement le même du "node_modules qui est lourd "
Alors en vrai PNPM ne détruit pas le problème de node_modules, il le centralise, au lieux d'avoir plusieurs node_modules, tu as un méga node_modules stocké dans un storage et des mini node_modules dans le projet avec des pointeurs, pratique en local mais en prod au moment de build le code le problème reste le même ^^'
Merci pour toutes ces informations précieuses et pour cette humilité naturelle.
😎Cool ! tu es le meilleur.
🤓J’ai développé des appli web en PHP. Le javascript est simple et très efficace car j’utilise très peu de Framework.
🙄Mais il est vrai qu’au départ en voulant faire comme sur du PHP, je me suis retrouvé avec des librairies très pauvre comme en Math qui n’a pas de méthode sum().
🤠Bref apres un Array.prototype.sum… tout va pour le mieux. Et j’aime ce langage 👍
Pur le fait que Javascript ait des opérateurs et des coportements bizarres, ça vient des trucs chelou que le créateur de javascript à fait
En gros il a été fait en 10jours, ça ok, ensuite il recevait des mails d'utilisateurs pour lui demander de rajouter tel ou tel comportement, d'interpréter une string ou un nombre comme autre chose, bref le créateur implémentait ces demandes à la volée, et aujourd'hui on retrouve ces incohérences parce que Javascript s'est mis a jour en rajoutant des couches des décorateurs etc sans jamais toucher à la base
Après beaucoup de langages qui ont le même genre de problèmes.... Perso le seul langage que je connait qui avait eu ce problème c'était PHP jusqu'a la version 5, et ce langage a été detesté pour ça, mais il y a eu une mise a jour profonde pour régler ce problème, la MAJ a été tellement radicale que les devs sont passés directement de la version 5 à la version 7 pour marquer le coup
Aujourd'hui non je ne vois pas d'autres langages incohérents :/
Ensuite pour le problème des versions, alors pendant une période les dev en ont eu mare de Internet Explorer et il y a eu une décision commune qui était d'arreter d'adapter notre JS à IE, c'est une des raisons pour laquelle Microsoft a abandonné IE pour Edge, parce que les dev ne leur ont plus laissés le choix (bon la raison principale c'est que IE avait une sale réputation à cause de la blague "IE ça sert à télécharger Firefox"
J'ai absorbé avec grand intérêt ces infos, sages et éclairées
Je remarque cependant avec regret une coquille sur la partie multi-thread
Grafikart doit certainement savoir l'existence des web workers, mais vu leur complexité apparente il a dû éviter le sujet
Ces derniers ne sont pas intuitifs au premier abord, délicats à implémenter dans de gros blocs de code synchrones existants, contraignants du fait du système de transfert entre workers...
Mais si on raisonne web workers dès le départ et qu'on aménage son code pour accueillir éventuellement cette api, ça devient assez simple
Ce sujet concerne assez peu d'appli, faut avoir de gros volumes de données et des tâches cpu intensives à traiter pour recourir au multi thread JS, mais le mécanisme existe et marche bien, cela m'a sauvé plusieurs fois
Très vidéos on peut avoir une vidéo sur le développement Backend, les technos avec les avantages et les inconvénients
Un langage client multi-thread ça existe ?
C'est mon cas, je suis resté bloqué sur AS3 qui était topissime selon moi. depuis des années, je n'arrive pas a intégrer le JS, et ses Frameworks.
merci,
Maintenant pour les développeurs de « c sharp » il sont le choix replacer JS avec Blazor
ça m'a fait penser à la citation sur Rocky par Durendal "il existe 2 sortes de personnes, ceux qui critiquent Rocky, et ceux qui l'ont déjà vu", voila rien de bien intéressant mais ta remarque m'a fait penser à ça
Opinion impopulaire : j'adore JavaScript précisément pour des raisons pour lesquelles beaucoup le critique.
idem, mais chut hein :)
Seul les francophone critic parcquil ne save rien
@@tendelcallaghan4224 toi tu as dû t'arrêter au titre de la vidéo lol.
Salut, merci pour la vidéo,
Nous aimerons ton avis sur la nouvelle IA : Open Ai
Il n'a pas parlé du tooling autour du JS qui en rend malade plus d'un, et ce n'est pas de la mauvaise foi de le reconnaître
A oui les milliers de librairies comme is-even avec 400k downloads, et un debugger qui nécessite de passer une journée à le configurer
Il dit justement que sur certains projets, se créer nos propres outils c'est bien plus efficaces que d'utiliser une librairie dont tu ne connais pas l'efficacité.
@@dominiquetalis1516 Sauf que parle des outils et non des libs...
Je suis tellement loin du niveau de grafikart, j'ai même pas 1% de ces capacités 😢
c'est pas nul, c'est undefined
La seule critique que je ferais à JS, c'est qu'il se traîne le boulet Safari (après s'être débarrassé de IE10) 🤪
Marrant, parce que au-delà des points que tu soulèves, perso je ne supporte plus tous ces languages qui multiplient l'utilisation de parenthèses, accolades et point virgule qui rendent le code parfaitement illisible... Bon après, ton truc à la base c'est PHP, donc j'imagine que ça ne te choque pas plus que ça. Perso maintenant c'est python, et Ada pour des besoins plus spécifiques. Au moins c'est clair et pas de surprise concernant la syntaxe ou l'indantation et ça peut importe avec qui vous collaborer parce que sinon ça ne marche tout simplement pas.
excellente video comme d'hab. petite coquille à la 22ieme minute ( 22'10), il manque le "async" devant "function readfile(id)"
Non, ce n'est pas une erreur. On peut utiliser des top level await et ce depuis un petit moment, il s'agirait de se documenter
@@victordeleau9153 effectivement tu as raison. Je ne dev que en reactjs donc ce n'est pas possible de faire ça, je n'avais jamais rencontré ce cas de figure
@@alainalain6454 Effectivement c'est normal que tu ne puisses pas l'utiliser en react puisque tu n'es jamais au top level dans un composant.
Tu pourrais l'utiliser sur l'export d'un composant mais cela ne ferait pas vraiment de sens !
Résumé de la vidéo:
- Js y'a des problèmes, mais comme y'a des langages pires bah c'est bien 😆
- Js y'a des problèmes, mais faut le voir comme un autre langage qui marche pas comme les autres
c'est très cringe comme argumentation
Pas vraiment, les vrai critiques détaillées dans la vidéo
- Le JavaScript est un langage imposé à cause du navigateur, du coup ont est obligé de l'utiliser même si on l'aime pas.
- Il a une manière de fonctionné spécifique qui doit être comprise, et qui ne correspond pas à toutes les situations (single thread + asynchrone)
- C'est un langage sans typage fort
L'objectif de la vidéo est de faire la part des choses entre les critiques qui ont du sens et celles qui n'en ont pas.
J'ai entendu plusieurs fois "nèm" ou "mèm", de quoi s'agit-il ?
farces, trolll, "memes"
fr.wikipedia.org/wiki/M%C3%A8me_Internet
Lors de EmacsConf2022 (presque concomitamment avec cette vidéo) Richard Stallman (initiateur du logiciel libre) expliquait lui aussi (dans une video que je vous invite à voir ic ua-cam.com/video/vEpk2ZTqJu4/v-deo.html) pourquoi JavaScript est problématique : il constitue l'ultime niveau de la perte de contrôle du coté utilisateur.
L'enfer des callback 🤣 c'est terminé et heureusement ! Je rejoins ton analyse que je trouve très objective sur le sujet. 👍
D'accord on se rappelle quand tu auras dû plonger dans du code "legacy" qui utilise le modèle "callback hell", le modèle "then().error()" et le modèle "try...catch". Et qui mélange les trois au gré des humeurs.
@@monsieurouxx Oui mais ça c'est la faute du langage.... mais de l'équipe de dev... C'est idem sur n'importe quel language si on va par là.
@@road2dev ah non c'est clairement la faute du langage, qui a été pété pendant tellement longtemps que les Devs ne savaient plus à quel saint se vouer -- alors chacun improvisait
@@monsieurouxx Pas d'accord avec toi. Tu dédouannes le dev de sa responsabilité 😄
Je suis sur JS depuis 15ans (entre autre), t'imagines bien que les implémentations je les ai vues passer, et les mauvaises pratiques aussi.
"Language pété" ça ne veut rien dire. Un language pété utilisé sur les simulateurs de vol du rafale (y a d'autres languages évodemment, et JS en fait partie ;) )
Pour être + sérieux JS a des implémentations connues, communiquées, et comprises par les navigateurs au fur et à mesure de leur évolution. le DEV JS devais s'assurer de la compatibilité de son code avec les anciens navigateurs. Aujourd'hui c'est +simple, on code en derniere version et les polyfills sont là pour gérer la compatibilité des navigateurs avec du code + ancien.
Ce que tu décris est tres clairement de la responsabilité du dev. Soit on fait les choses bien, soit on n'a pas le temps...
Le language, lui, il t'informe de ses implémentation, si le dev ou le leaddev font mal leur job en mélangeant les implémentations, c'est pas de la faute du language....
par exemple xhthttprequest et fetch, et allons y axios pour un autre dev.... si tu mélanges tout ça dans le même code c'est TA responsabilité de developpeur de faire n'imp et de ne pas être cohérent.
Callback, Promise, async/await...Dans les faits ça cohabite totalement, juste si tu décides de faire certaines tâches d'une certaine façon tu t'y tiens du début à la fin.
Ce que tu me racontes là, c'est du même ordre qu'un dev qui change de type de nommage de variable en cours de route.... C'est le dev qui est responsable, pas "les variables" :)
J'aime vraiment pas JavaScript, mais la seule critique que je lui ai toujours faite c'est 1) les perfs (autant compilation que runtime d'ailleurs) 2) aucun typage natif donc pas de reflections etc. C'est vraiment trop "script". Et pour moi une hérésie d'utiliser ça dans des codebase larges en prod. Malheureusement ça se fait souvent.
T es pas à la page amigo 😉 js est perf et typescript lui apporte sa couche "clean", typage. Oui évidemment que de larges projets peuvent être code en js (en front ça va de soi, en back c est déjà largement le cas aussi). Jette un œil à la doc de NestJs par exemple (un framework back-end node qui n a rien à envier au framework les + solides et riches d autres languages).
Ta video est super, j'espèrai apprécier JS après ta vidéo, mais je dois être trop débutant, j'aime toujours pas :p
Merci pour la vidéo, honnête et qui semble très pro
Y'a rien à faire, j'arriverai jamais à aimer ce langage. Je soupire à un point quand je sais que je dois l'utiliser... c'est presque un motif de reconversion professionnelle 😂. Bien content que des tools comme Laravel Livewire existent et me permettent de limiter drastiquement l'écriture de code javascript 👌
La Voie du développement sage & éclairé🧙♂, merci !
20:26 PHP c'est multi-thread non ?
La toute première version de JavaScript a donc été créée en une semaine et demie environ, en mai 1995.
Mais Javascript n'a pas été entièrement construit en 10 jours. C'était un prototype, et il y avait encore quelques choses à régler. Le langage a vraiment pris forme au cours des mois suivants.
oulaaaaà tu utilise du await dans des function non marqués par async ...👀
22'00
Et c'est pour ça qu'on utilise de plus en plus Typescript. Oui ça génère du JS mais on a une énorme phase de typage et de sécurisation. Bref... ES6 est aujourd'hui loin d'être mauvais. Il faut juste l'utiliser à bon escient
Je vous suis depuis long temps, j'ai appris beaucoup vraiment!!!! Merci
J'ai halluciné en entendant parler de nextJs (je ne savais pas que y avait une librairie la dessus) car je suis sur un projet ou les devs front sans doute reconverti de java ont eu la "bonne idée" de faire un système d'injection de dépendance maison sans documentation et quasiment incompréhensible.
Heureusement je n'y touche pas souvent mais au final je ne sais pas il peut être s'avérer pratique dans certain cas ou je galère mais vu la complexité du truc je préfère éviter d'y toucher et rester sur des choses que je sais faire, utiliser et documenter
Ils auraient du prendre Angular, c'est la solution parfaite pour eux, pour bien s'injecter toutes les dépendances
@@ylcsl4378 c'est un mélange spring mvc avec injection de react dans les jsp, une belle usine à gaz, comme j'en ai trop souvent vu dans mes projet, je crois que je n'ai d'ailleurs jamais eu de projet ou les chose étaient faite simplement
@@adarion2994 aaah ces javistes qui n'écoutent personne et utilisent des technos d'il y a 15 ans
@@ylcsl4378 On ne demande qu'a passer a des techno actuelle, mais on est miné par les projet mal foutu et impossible à monter en version et en architecture, point de cloud dans mes projet ça a toujours été le monolithe de l'enfer mal découpé et avec des choix discutable, dans mon projet précédent des gens avait trouvé intelligent d'intégrer du angular dans une autre techno front (adobe flash flex) car il ne savait pas faire la vue demandé avec cette techno, si la performance d'avoir réussir a faire ça est louable, les motivations et les conséquences l'étaient certainement beaucoup moins. Ce truc était infecte a debug et à gérer, et si y avait un problème dans le passage des données c'était l'enfer
je suis dans une boite notre produit est bloqué sur java 7, avec une architecture tentaculaire absolument inmaintenable et incompréhensible, c'est des vieux dev java qui ne savent rien faire d'autre et qui ne veulent pas évoluer , c'est fou,
Moi je suis dev depuis 3ans et moi j'utilise php(sans framework le brute) du html Css(brute sans framework) de l'ajax pour mes formulaires et très rarement du Javascript
Hello Jonathan ;) On peut aussi mettre tout le monde d'accord en disant que JS est dans les tableaux de bord de la fusée de Musk, et dans les simulateurs d'Airbus et Rafale (Angular pour être précis :) ).... Donc bon ça relativise le "c'est de la mer**"
Comment ça c'est dans le tableau de bord? Il utilise pas du java pour de l'embarqué normalement ?
@@mwlulud2995comme je viens de le dire : côté front-end, c est bien du js sur des tableaux de bords de simulation airbus, rafale... et idem dans des interfaces de commandes des fusées d Elon Musk. Check sur Google tu vas trouver 😉 après évidemment que des technologies d un tel niveau nécessite plusieurs languages, notemmemt certains très bas niveau. Mais oui le JS est aujourd'hui partout, notemment depuis l avènement de TypeScript.
Très belle mise en perspective. Merci !
Quand tu parles de langage pas typé, c'est pas un problème car cela ne dérange personne dans Python. Python est le petit chouchou de tous avec une syntaxe illisible et sans types
Débuter la vidéo par _"les gens n'aiment pas JavaScript parce que ce sont des snobs"_ c'est justement ça la snobberie. JavaScript est un langage moisi. *Pouce vers le bas immédiat.*
Je vous aime beaucoup Grafikart
Ce que je trouve dommage, c’est que parfois j’ai l’impression que tu cherches juste à défendre le javascript en te plaignant que les autres cherchent juste à ne pas être gentils.
Je n’en dirai pas plus sur le langage que je ne connais pas suffisamment.
Néanmoins, aux alentours des 10 minutes, tu parles des dépendances de versions différentes d’un même module. Ça, c’est un point vraiment important, car si tu as une dépendance, voir une dépendance de dépendance qui embarque un module avec une faille de sécurité ça peut-être très grave. Pour moi, le problème vient de là. On perd la maîtrise de la sécurité de notre code. Car personne n’est capable de vérifier les 2538 modules récupérés parce qu’il lui en fallait 7 dans son code. Pour jouer, ce n’est pas un problème, mais pour mettre en production…
Aujourd’hui, je pense qu’il vaut mieux coder dans un autre langage tranpilable en javascript qu’en javascript. Certains sont fortement typés comme `elm` ou `truescript`. Mais on peut transpiler de nombreux langage en javascript, même du `c` et du `c++`.
J’espère que le javascript deviendra l’assembleur du web.
Le créateur de Node lui même a dit ça x)
Après tu peux essayer DenoJS, c'est Node sans les problèmes de Node, et pour les modules Deno intègre un système de permissions, du coup si un module est vurlnérable c'est pas grave parce qu'il a un scope limité :p
Moi je l’aime pas car tou passe dans les arguments le retour de la méthode se trouve dans l’argument.. donc côté lisibilité
Excellente vidéo. Merci. Au moins tu vas bien plus loin que de donner un avis sans arguments.
J'ose croire qu'un de ces quatre, j'aurai l'occasion de rencontrer Jonathan✊. Merci Jonathan, pour tout!
Merci, car la vidéo qui avait été partagé sur le discord m'avait juste rendu fou xD
bah moi j'aime pas parce que je sais pas l'utilisé 🤠
je suis dev react typescript je suis meme pas sur que je serais faire sans doc du js basique mdr
for await ??
Le JS n'est pas tour tous ça logique rebute 50% des devs apprenant.
Perso je suis tombé amoureux du JS et autres framework JS ❤️
The youtube chanel GOAT 😊
Tu peut utilise c# dans le navigateur aussi maintenant 😋
Je savais que tu étais un peu philosophe ! Aristote était barbu lui aussi ;p
Avec du JS il te faut absolument un framework !
Merci Jonathan pour ton travail bonne continuation...
Au top clair et judicieux merci !
En effet le manque de typage est un peu dérangeant même d'un autre coté celui-ci alourdirai le fichier JS qui doit être transmit au client. Même si les gens ont des vitesses de chargement plus rapide, je suis toujours de l'époque ou je compte le nombre d'octet des mes images en me disant que la personne à peut être juste du 56k 😛
Toi t'as jamais codé en TypeScript :) Typage JS = Problème résolu => typescript - ok c'est un surlanguage, mais devenu une norme sur les projets JS
il s'agirait de grandir
Trop de sagesse dans cette vidéo
Svelte, la meilleure lib Js ever 🙌
JavaScript n'est pas nul, ce sont les développeurs qui sont nuls. Etudiez comment sont construit prototypeJS ou Jquery, vous verrez que JavaScrit c'est de la bombe.
Comme toujours video très enrichissante !!
Left-pad est un équivalent de padstart nan ? Simple curiositée
Oui il était utilisé à une époque où padStart() n'existait pas
@@grafikart je vois, merci
Très bonne dé-construction des préconçus. 👏
C'est un langage et une communauté riches et dynamiques.
Bien évidemment, certains auront une moins bonne expérience avec ce langage ou son écosystème.
Mais l'impact de JavaScript n'est pas à négliger.
YO, je débute la video mais déjà comm: Belle barbe ;D
Le seul language parfait c’est python 🐍 😂😂😂😂 point barre.
Il n'y a aucun avantage par rapport aux autres à part la syntaxe courte
@@ylcsl4378 m'en fou c'est le meilleur quand même
@@ramzouu-gaming4607 Pire langage du monde. Rien que l'indexation rend fou...
@@mwlulud2995 Aucun langage n'est "bon ou mauvais"
"Les tournevis c'est de la crotte, je préfère les marteaux"
Il faut s'adapter à la syntaxe du langage après tout :)
@@skymer7471 Bah pour le coup on aurait pu dire ca si on comparrait des langages comme le Java,le C,Rust,Ruby,Javascript etc la oui on des vrais outils qui ont tous des points forts et point faibles mais la je suis desoler le python est clairement eclater. Deja il est lent et interpreter, c'est censer etre un langage de script est pourtant il faut etre super pointilleux sur l'indexation,importer plein de lib,certes sa reste un langage puissant creer par une bonne communauter mais cela reste un langage de debutant point. Et la syntaxe je m'y fait pas
Le fond en jaune ma baiser les yeux --', sinon bonne vidéo comme dabb
Très intéressant
Parce que 5 + 5 = 55
JavaScript c'est pas nul du tout c'est tres permissif faut faire attention
*mike