Pour ceux que ca interessent je vais poster d'autres exemples bizarre avec leurs explications dans ma newletter : mailchi.mp/280eeb9f0080/cocadmin
@hegelmotokoua
2 жыл бұрын
J'aime beaucoup ta manière d'expliquer correctement les choses.
@xxx.xxx.xxx.xx1joker706
2 жыл бұрын
Il y a l'histoire de Python aussi. Tout ce merdier pour finalement faire le language le plus bâtard du monde, venant du monde de Linux. Ils sont forts ces anti-Microsoft dans la connerie.
@briepeterson9718
2 жыл бұрын
tu n as pas dit combien aol a racheté netscape...j me dmande si cetait bien moins que billou ne proposait qq annees plus tot. 😅😅
@SuperTitank
2 жыл бұрын
Hello, je viens de découvrir ta chaîne; J'aime beaucoup le style et le thème ! Clair, pas de fioriture, pas de comédie > abonné :)
@davidef.982
4 ай бұрын
404 - page not found 😢
@evancastel1021
2 жыл бұрын
Il n'existe aucune façon de représenter les chiffres à virgule en machine de façon exacte. 0,1 + 0,2 donne 0,300....4 dans tous les langages. Du moins ceux répondant à la norme IEEE 754 de représentation des nombres à virgules en machine, nombres appelés flottants. Cette norme s'appuie sur l'écriture scientifique du nombre en base 2. Il faut se rappeler que le fait qu'un nombre aie une infinité de chiffres dépend de la base. Par exemple "un tiers " a une infinité de 3 après la virgule en base 10 : 0,333333.... En base 3 c'est simplement 0,1. De même 'un dixième' s'écrit simplement 0,1 en base 10 mais 0.0001100110011001100... avec 1100 qui se répète, en base 2. Pour stocker un nombre sur 32 ou 64 bits l'ordi est donc obligé de stocker des valeurs approchées . Puis la conversion en base 10 pour écriture à l'écran ne tombe plus juste. Voici d'autres résultats surprenants : (a + b) + c n'est pas toujours égal à a + ( b + c) a * (b + c) n'est pas toujours égal à a * b + a * c (log(a**n) / log(a)) n'est pas toujours égal à n
@issamelsayd
2 жыл бұрын
Merci pour ton commentaire édifiant
@DoubleCiao
2 жыл бұрын
Bon complément à la vidéo , merci.
@mrkanata7696
2 жыл бұрын
Exactement, même en Java tu obtiens la même chose, pour le coup, l'exemple dans la vidéo n' est pas significatif. Par contre additionner des number avec des strings, c'est une autre histoire 😁
@guillaumerosmorduc4611
2 жыл бұрын
Merci pour ton commentaire. Très bon complément à la vidéo en effet.
@FerasOfficiel
2 жыл бұрын
Exact, j'ajouterai qu'il existe des langages pour le calcul formel qui permettent de palier à toutes les erreurs d'approximations/représentations qui s'accumulent dans les programmes écrits dans les majorité des langages. Par exemple Geogebra utilise giac/xcas pour éviter ces problèmes et bien d'autres. Giac, le moteur de calcul formel (qui donne bien "true" à 0.1 + 0.2 == 0.3) a été créé en parti dans le cadre d'un projet universitaire grenoblois
@ChristopheCasalegno
2 жыл бұрын
Petit rappel utile pour la fin de l'histoire : c'est suite à la libération du code de Netscape qu'est né Mozilla qui deviendra plus tard Mozilla Firefox. Enjoy!
@Galileo51Galilei
Жыл бұрын
En effet,et c'est un gros deal, c'est le projet qui va porter l'open source avec GNU/Linux. Heureusement que Netscape a fini par ouvrir ses sources, sans cela Microsoft aurait bouffé le web et mis sous clefs ses standards
@MrgnUTube
2 жыл бұрын
Super intéressant comme d'habitude mais très court, j'espère que tu approfondiras! Javascript a eu plusieurs vies, celle que tu as présenté qui introduit l'ère des incompatibilités entre les navigateurs, l'ère JQuery qui a permis de compenser ça... à sa manière, l'ère post ES6 qui a ouvert la porte à de gros projets grâce à l'arrivée des classes... Et depuis, NodeJS, le Typescript et tout ce qui permet aujourd'hui de faire du Fullstack uniforme et solide basé sur JS). Vidéo excellente par le contenu, l'humour et le montage, merci :)
@sam0621
2 жыл бұрын
Il n'y a pas réellement de classe en JS, c'est juste un raccourci pour faire la même chose qu'avant.
@leshommesdupilly
2 жыл бұрын
C++: "Tu sais, interrompre le programme en cas d'erreurs, c'est bien" JS: "NOOOONNNN !!!"
@Le_Grand_Rigatoni
2 жыл бұрын
0:25 Alors ça, c'est simplement parce qu'aucun de ces nombres en binaire ne sont finis (0.1=0.0001100110011... et 0.2=0.001100110011...), donc pour pouvoir les stocker, il faut le faire sous forme d'arrondis. Et forcement, après, quand on fait des calculs avec, il y a des erreurs. Beaucoup de langages on ce problème.
@SteamDeckGameplay
2 жыл бұрын
Les exemples que tu donnes, c'est juste parce que tu connais pas le langage, que tu comprends pas et que tu penses que c'est de la merde. 10 - '1' ça fait un cast implicite, donc ça fait 9. 10 + '1' par contre tu utilises l'opérateur de concaténation, donc ça cast 10 en string implicitement aussi. 3 > 2 > 1 c'est l'ordre d'interprétation, ce genre de code tu devrais jamais le faire en fait [] == [] tu compares pas les valeurs, mais les instances qui sont pas les même, c'est comme si tu faisais new Object() == new Object(), c'est deux instances différentes 0.1 + 0.2 c'est la gestion des chiffres à virgule, qui est pareil dans plein de langages mais qu'on te cache souvent mais c'est inhérent à la manière dont sont stockés les float
@evds3941
2 жыл бұрын
" 10 - '1' ça fait un cast implicite, donc ça fait 9. " c'est pas censé faire de cast de 1 , même si c'est effectivement le cas . "10 + '1' par contre tu utilises l'opérateur de concaténation, donc ça cast 10 en string implicitement aussi." c'est quand même illogique. pour le reste je suis d'accord
@the_csb
2 жыл бұрын
Evan, l'opérateur "-" est un opérateur arithmétique seulement donc les caste se feront toujours vers des nombre
@evds3941
2 жыл бұрын
@@the_csb Oui cela est évident , dans ce cas je vois pas pourquoi JS s'autorise à le faire
@cobaltdupont2537
2 жыл бұрын
Juste pour le [] == [] c est parce que javascript ne regarde pas le contenus des tableaux, chaque tableaux js a une addresse memoire qui correspond a l endroit ou il est stocké sur l ordinateur. Js compare ensuite si le tableau1 EST le tableau2, or les deux contienne les memes choses, mais ne sobt pas la meme entitée Exemple plus simple, si j ai deux sacs remplis de 3 oranges, je ne peux pas dire que ce sont les memes sacs, ce sont deux sacs differents qui contiennent les memes chose
@Tigrou7777
Жыл бұрын
Beaucoup de comportements bizarres en JS viennent du fait qu'il n'est pas typé, et donc quand on fait des comparaisons entre données de types différents (ex : float vs string) le language fait des conversion à sa sauce, ce qui donne parfois des résultats bizarres.
@RoiDrag0n
2 жыл бұрын
C'est sans compter les développeurs extrêmement talentueux qui font de JS un langage qui est maintenant sur tous les fronts et dans toutes les stacks
@Akhulud
2 жыл бұрын
Pour le coût 0.1+0.2 ça fait 0.300000...0004 sur quasi tout les languages
@transformizem
2 жыл бұрын
c'est quoi la musique en arriere plan ? merci d'avance
@jonathankabaso8237
2 жыл бұрын
Quelle belle histoire 😄 en tant que développeur on dirait qu'on passe une bonne soirée je dirais
@vinception777
2 жыл бұрын
Hey ça fait un moment que j'étais pas passé, c'est vraiment stylé comme vidéo, j'aime beaucoup le rythme et le format, il y a pleins d'infos sans ce que soit trop dur à encaisser! Tu t'es grave fait à KZitem c'est cool haha :)
@iancdp9
2 жыл бұрын
C'était vachement sympa ! Des petites histoires comme ça liées à l'IT ça fait toujours plaisir :D Hâte d'en voir d'autres
@YannAriell
2 жыл бұрын
Ce format de vidéos est juste génial , est ce qu'il y aura d'autres ?
@cocadmin
2 жыл бұрын
si la vidéo marche bien oui :)
@PierreMiniggio
2 жыл бұрын
J’adore ta manière de raconter notre histoire! GG
@Acti1337x
2 жыл бұрын
un bot a copié ton com
@PierreMiniggio
2 жыл бұрын
@@Acti1337x Nan il a copié un com' de quelqu'un d'autre, et moi j'ai copié son com' ! :D #lebotteurBotté
@Acti1337x
2 жыл бұрын
@@PierreMiniggio ahahah
@tcgvsocg1458
2 жыл бұрын
Ou est la video sur minecraft? (Je suis pas fan de ce jeu tu a juste dit que tu ferait une injection en python et je suis chaud pour voir ça
@saucisse_dev
2 жыл бұрын
Très bien raconté ! Du coup la version qu'on utilise actuellement découle du reverse engineering de Microsoft ?
@stephane-lopez
2 жыл бұрын
Que de bons souvenirs JavaScript dans les années 2000 ! 😀
@DjSwiti
2 жыл бұрын
2 + '1' == 21 car le + est considéré comme une concaténation 2 - '1' == 1 car le moins est une opération mathématique, c'est la seule chose possible ici [] == 0 car [] c'est un tableau vide, qui n'est pas nul (c'est pourquoi vous pouvez faire "if (tableauVide)") "" == 0 c'est un peu la même histoire, et c'est pourquoi [] == ""
@nomnom9110
Жыл бұрын
Exactement, mais bon il le sait il veut juste faire du buzz
@imbwbl
2 жыл бұрын
Il y a des solution a tout par exemple le 10 - '1' le moins sert a soustraire alors que le plus dans une string sert a les mettre ensemble
@augustin_
Жыл бұрын
C'est triste que tu ai skip la partie sur Ecmascript et tous la partie utilisation backend avec nodejs, deno, bun. Mais aussi tu n'a pas parler du typing avec typescript. Mais si non super vidéo. J'ai adorée en temps que dev js malgré le style un peut trash talk.
@Pizatol
2 жыл бұрын
ouah ce fou rire en début de vidéo, j'étais pas prêt . Quel formidable conteur tu fais ! Accessoirement, le fond est très intéressant et instructif. Peut être pas autant que miner des crypto sur des Tamagotchi, mais très intéressant tout de même !
@la_parole
2 жыл бұрын
j'ai hésité au titre mets au finale j'aime aussi cette vidéo
@Learnbynet
2 жыл бұрын
après maintenant ont peut faire des trucs de follies aujourd'hui avec js et tous sont ecosystem! j'ai developer mon propre moteur et éditeur 3d en vanilla js ! Avec typescript en couche supérieur pour type tous sont project, ces un language extra pour le jeux , logiciel, app et browser ! L'idee de pouvoir déployer aussi sur Window,Mac,Linux,Android .. avec le meme code source ! ces aussi un gros plus de productivité !
@Ashenroger
2 жыл бұрын
Hé ben maintenant, il va falloir poursuivre avec ce format super intéressant.
@bilalemohmadian8611
2 жыл бұрын
0.1+0.2 = 0.30000000000000004 Viens du binaire non du JS. 0.3 * 2 = 0.6 0.6 * 2 = 1,2 0.2 * 2 = 0.4 0.4* 2 = 0.8 0.8* 2 = 1, 6 0.6 * 2 = 1.2 Donc 0.3 = 0.010011 et etc.... (La même chose pour 0.1 et d'autres nombres) ça reboucle jusqu'à atteindre la mentice (dépendant du système 24 en 32bits, 54 pour 64 bits...) . On utilise une inégalité dans ce genre de cas de figure et non une égalité :p
@CameleonGamer
2 жыл бұрын
J'aime t'es vidéo tu explique bien je y comprend tout
@NodiumAmoko
2 жыл бұрын
Mais au final. Ça veut pas dire que JS c'est nul. C'est juste qu'il a malheureusement été dev a la vas vite et que après ça c'était dur voir impossible de fix les nombreux bug et bizarrerie (oui je résume la fin de ta vidéo oui)
@legrandtiasma
2 жыл бұрын
J'aime bien les vidéos comme ca ou tu juges les langages de prog tu pourras en faire avec un autre stp ?
@beethoven5984
2 жыл бұрын
Super épisode !
@rpgamer1002
2 жыл бұрын
Ça serait pas très compliqué de faire du versionning de JavaScript et de le faire évoluer vers un langage moins sale, sans casser le legacy code. Il suffirait de se référer à la version déclarée dans le code moderne.
@cocadmin
2 жыл бұрын
pas bete. J'imagine qu'il y a une raison technique qui l’empêche mais je ne la connais pas
@florianm22
2 жыл бұрын
@@cocadmin À mon avis c’est juste que le TC39 ne veut pas diviser la communauté entre deux versions.
@gronono
2 жыл бұрын
C'est déjà ce qu'on fait un peu avec les transpileurs comme Babel; On spécifie la version de Javascript en entrée (normalisé par ECMAScript) et on donne la version voulue en sortie. Babel fait la conversion. Souvent on dit qu'on veut la dernière version et on transpile vers la version ES5 pour plus de compatibilité avec les navigateurs et on rajoute un tas de polyfill pour ajouter des fonctionnalités non supportés par les anciens navigateurs.
@fallart
2 жыл бұрын
Belle vidéo ! Etant développeur Front End je comprends ce que tu veux dire ! :)
@fallart
2 жыл бұрын
Pour info je ne suis pas abonné. Mais encore une vidéo de ce genre et je serai dans l'obligation de m'abonner ! :)
@vostfrguys
2 жыл бұрын
merci j'adore ce genre de vidéo c'est génial !!
@chankeethrajendran364
2 жыл бұрын
Hello connais tu un navigateur de texte compatible JavaScript ?
@cocadmin
2 жыл бұрын
non mais pourquoi tu utilises un navigateur text ?
@StarAurryon
2 жыл бұрын
@@cocadmin Il veut pas un éditeur de texte type atom ou visual studio code?
@sebastiennajjar
Жыл бұрын
0.1 + 0.2 = 0.30000000000000004 c'est une question de virgule flottante. C'est le cas sur tous les langages.
@sebastienmartinez6249
2 жыл бұрын
j'adore le js mais je connaissais pas son histoire, vachement intéressante comme video, j'aime bien ta manière de raconter l'histoire de cette techno, je vais guetter voir si t'en a fait d'autre
@cocadmin
2 жыл бұрын
les videos sur linux et sur git sont similaire ;)
@sebastienmartinez6249
2 жыл бұрын
@@cocadmin je vais voir ça merci
@lbuono25
2 жыл бұрын
Ce message à caractère informatif était vraiment intéressant 😜 Continue comme ça!
@zenodiaudi2102
Жыл бұрын
Ha pas si nulle qsa , javascript quand on le connaît . au bout de quelques temps d'expérience, on se rend compte que ce language est plutôt puissant et permet vraiment dfaire pas mal de chose utile, déjà côté navigateur , on fait ce qu'on veut avec js , et les nouveaux frameworks apporte un nouvel air à js. c'est vrai , si on débute, c'est pas le language idéal,😅😅
@Quidoute
2 жыл бұрын
0:27 tous les language vont te donner le meme resultat
@gravel-demi-sel
2 жыл бұрын
Awesome storytelling ! merci pour la petite histoire
@davenpaint
2 жыл бұрын
Le monde élitiste de la programmation, une vidéo sur PHP et tu auras le savoir universel... Navrant...
@bricehemery1534
2 жыл бұрын
Incroyable la vidéo. Que du plaisir
@anttonmaptton8782
Ай бұрын
[] == [] vient du fait que les tableaux sont des object et donc ça compare leurs références par leur valeurs, c'est tout à fait ok
@fb1cc8d3
2 жыл бұрын
Merci pour cette video :)
@stiffmaster1701
2 жыл бұрын
Passionnant, ludique, et drôle ce genre de vidéo. J’adore ! Merci.
@DarkNevrozz
2 жыл бұрын
Super vidéo merci !!!
@youdj_app
2 жыл бұрын
[ ] == [ ] donnera false dans tous les languages, un tableau est juste une reference (pointeur) ;). Je suis developpeur JS, je viens du C/C++, le JS c'est vraiment la vie les gars
@jsslorenzo7688
2 жыл бұрын
Non, en Python ca donra True
@jsslorenzo7688
2 жыл бұрын
et dans ce cas la 'abc'=='abc' devrait aussi retourner False car ce sont 2 pointers sur des chaines de characters qui sont evaluer
@youdj_app
2 жыл бұрын
Python n'est pas un vrai language haha. En JS les string ne sont pas des arrays de chars comme en C, juste une variable comme un number. Pour les array et les object, ce sont des references que tu peux passer à des fonctions. C'est très pratique. var a = []; function test(arr) { arr[0] = 1; } test(a); console.log(a); // affiche [1]
@jsslorenzo7688
2 жыл бұрын
@@youdj_app je suis etonné que en JS les string ne soient pas des array de char mais de 'simple' variables comme tu le dis, et dans ce cas je me demande bien comment elles sont stocké en memoire. parceque a part les signed ou unsigned float int ou char je connais pas d'autres types de "simple variable" 😁
@youdj_app
2 жыл бұрын
@@jsslorenzo7688 pourtant c'est le cas, quand tu passes une string en argument de function (comme mon exemple), elle se comporte comme une variable et non une reference (comme les array et les objets). A voir dans le code de chromium comment ils gèrent ça ;)
@mohamedafassi7201
2 жыл бұрын
Je savais pas que les filtres snap existait à l'époque. Regardez le mec tous à droite à 5:30
@cocadmin
2 жыл бұрын
hahaha
@sofiyan_ifren
2 жыл бұрын
Mdrrrrr t'as tué le game... mais fais gaffe ya des devs énervés... 🤣
@cocadmin
2 жыл бұрын
c'est un peu le but haha :)
@legigatrain216
2 жыл бұрын
Yo coca, Le dernier exemple que tu as cité ne vient pas de Java script mais de l'informatique. Le premier exemple c'est Java script qui adapte pour éviter que ça fasse une erreur. Désolé j'ai pas encore vu la vidéo mais fallait que je réponde.
@SmeagolWorms4
2 жыл бұрын
Je vais rien dire mais le 0.1+0.2 c'est dans presque tous les langage. Python, c, php, Js... C'est lier à la structure des float donc bon .... En php et en java deux tableau ne sont pas identique non plus...
@psenej
2 жыл бұрын
Typescript pour moi c’est l’avenir du JavaScript . Et je pense qu’un jour ils l’intègreront directement dans les navigateurs
@user-vn4yl3fr9f
2 жыл бұрын
INCROYABLE
@HoussamCode
2 жыл бұрын
Superbe ta video et le storytelling :)
@principesfondamentaux
2 жыл бұрын
Je ne suis pas développeur et du coup je trouve cette vidéo avec son axe historique très intéressante ! Peut être ai je loupé l'explication mais qu'est devenu Javascript ensuite ? C'est un nom que je connais donc je suppose qu'il n'est pas mort quand le Jscript d'internet Explorer a pris le pouvoir... 🤔
@cocadmin
2 жыл бұрын
Jscript est mort et javascript est maintenant un des languages les plus populaire au monde :)
@thebattinson1278
Жыл бұрын
JavaScript est juste le langage qui a le MONOPOLE du dev front-end. Il est devenu INCONTOURNABLE !
@quattroquatre3113
2 жыл бұрын
Superbe vidéo j'en ait appris un max merci
@patrickst-louis6537
2 жыл бұрын
en temps qu'avide de Python, j'approuve cette vidéo! Merci pour l'info
@D4rknessMG
2 жыл бұрын
On dit les termes ici :)
@bratislaboi6604
2 жыл бұрын
Merci pour ce super morceau de culture G!
@yahyabeysami101
2 жыл бұрын
et si ils avaient acceptés le Java ça aurait été tellement différent peut être mieux :O
@bernard-ng
2 жыл бұрын
En Gros Microsoft n’a jamais rien commencé par lui même 😅🤣🤣
@t1rke
2 жыл бұрын
Mais tu vises juste des cotes nuls pr dire que c'est un language bizzare genre ? 123 == '123' tu peux juste faire === ca va renvoyer faux, pour un array vide t'as pas besoin de mettre [] == [] tu peux juste faire [].length === 0 parce que sinon c'est quoi l'utilite de [] == [] et pr la virgule flottante c'est pas a cause de javascript c'est a cause de la facon dont le pc calcule ya ca sur python et dautre language aussi et il y'a toujours de la vix avec une fonction maths basique et pr le 3>2>1 c'est parce que 3>2 ca renvoie true ducoup ca devient true>1 ce qui est faux tu peux juste mettre 3>2 && 2>1... il y'a pratiquement solution pour tous, faut juste respecter la syntaxe et le fonctionnement du language
@Farah28100
2 ай бұрын
C'est globalement des moyens de contournements bateaux face a des vrais problèmes cachés dans JavaScript à cause de son développement foireux
@PaulTheEldritchCat
2 жыл бұрын
Sympa cette histoire ! Alors il y a bien un lien entre Java et JavaScript, c'est juste un lien historique et pas un lien logiciel :) On en apprend tous les jours ! Merci.
@TheAcidPrank
2 жыл бұрын
ce que je trouve marrant c'est que Lars Bak s'est barré quand Sun micro system a été racheté par Oracle. C'est marrant si on connait l'histoire qu'il y a eu avec MySQL et MariaDB lorsqu'Oracle a pointé le bout de son nez. Décidément, y'a des développeurs qui n'aiment pas du tout travailler pour Oracle. Je me demande bien pourquoi ^^
@GaetanLeGac
2 жыл бұрын
* 3 > 2 > 1 Pas certain, mais 3 > 2 est d'abord interprété, ce qui donne true Puis true > 1 = false parce que true équivaut à 1 * [] = [] Les tableaux sont considérés comme des objets en JS Et chaque objet étant unique, chaque tableau l'est aussi Mis à part ces bizarreries, avec suffisemment de recul j'aime bien ce langage Belle syntaxe, évolution régulière des standards, facilement modulable & extensible, full stack, prototypage rapide, pour les prijets sérieux y'a Typescript
@murphyromain3915
2 жыл бұрын
Je me disais bien que y'avais une logique derrière ça, merci pour cette précision
@luffystars3841
2 жыл бұрын
Il n'y a rien de bizarre... il suffit de savoir que c'est un langage a typage dynamique... 10 + "1" donne 101 car le 10 de type Number est dynamiquement changer en type string... et le + en javascript entre deux chaînes de caractères sert à la concaténation tout simplement.... donc bizarre oui si on utilise pas l'outil pour ce qu'il est ....utilisez un tournevis pour enfoncer des clous et dites que ce marteau est bizarre.....
@baratexor7459
2 жыл бұрын
merci ! j'ai été provoqué par ce titre et cette miniature car je trouve le js super, que ce soit en web client ou même avec node.
@baratexor7459
2 жыл бұрын
@@luffystars3841 tout ce qu'il a montré me paraît plutôt logique, et même plus qu'en java: > "string" == "string" //false et au final au vu de la base du language, c'est plutôt logique
@Feyli
2 жыл бұрын
Après vérification, ta théorie sur les comparaisons est complètement vraie puisque 3>2==0 donne false et 3>2==1 donne true, le booléen étant fondé sur true et false, mais aussi sur 1 et 0
@ence7846
2 жыл бұрын
Énorme malaise ce titre et les premières secondes. On sent bien le mec qui n'a d'expérience qu'avec très peu de langages. Absolument tous les points énoncés sont logiques et faut vraiment faire aucun effort pour ne pas les comprendre. Je crois que le pire de tous c'est quand tu parles de 0.1 + 0.2 != 0.3, c'est à se demander si t'as déjà utilisé des flottants une fois dans ta vie. Enfin de toute façon vu le titre j'imagine que le but de cette vidéo c'est juste de faire des clics avec du "sensationnel" auprès de débiles.
@inazumaeleven9102
2 жыл бұрын
J'adore les histoires de technos raconté par toi, ce format est génial man 👍
@aurelienllorca
2 жыл бұрын
0.1 + 0.2 renvoie ça pour beaucoup de langage ^^ Dès qu'on stocke les nombres en virgules flottantes on doit faire des approximations
@Manon-4096
2 жыл бұрын
genre en python
@aurelienllorca
2 жыл бұрын
@@Manon-4096 Dans des centaines de langages mais oui ;)
@MegaBaye
2 жыл бұрын
la reponse de python ma surppris 0.1+0.2 = 0.30000000000000004 !! pourtant un vrai langage de calcul scientifique...!!! Guindo nous dois des explication aussi
@bilalemohmadian8611
2 жыл бұрын
@@Manon-4096 Ouais mais ils ont créer une bibliothèque nommée "Decimal" avec la classe Decimal pour mettre en base 10 directement pour éviter cette erreur :p
@Manon-4096
2 жыл бұрын
@@MegaBaye la faute au calcul en virgule flottante. plus rapide que si on devait faire un type décimal basé sur l'arithmétique en base 10.
@ta9sas
2 жыл бұрын
sinon t'a essayer de faire 0.1 + 0.2 sur d'autres langages de programmation?
@primfxdesign
2 жыл бұрын
Excellente cette vidéo ! Intéressant aussi de mentionner l'ECMA, puisque quelques années après avoir été développé (un peu à la va vite), JavaScript avait quand même été standardisé, donnant naissance à ECMAScript (si j'ai bien suivi) Et pour les personnes qui confondent Java et JavaScript, n'oubliez pas que "Java is to JavaScript what Car is to Carpet" 😉
@azertty3302
2 жыл бұрын
Cette vidéo est incroyable, pour un passionner de programmation comme moi c’est du pur plaisir chaque seconde ta vidéo !
@maesmm
2 жыл бұрын
Ce que cet homme dit est faux, le JS est un langage digne des dieux. N'écoutez pas les sataniques qui tentent de le discréditer
@thebattinson1278
Жыл бұрын
@@maesmm Inventé par Dieu lui même.
@KaSSa__
2 жыл бұрын
Heureusement, en 2022, on a TypeScript 😍
@yayel59
2 жыл бұрын
Enfin un truc pas trop mal de Microsoft, justement.
@cool.guy.
2 жыл бұрын
roh mais javascript c un langage fun, il a du charme, une vrai personalité pas comme C++ que personne n'invite au soirée
@baptiste_parmantier
2 жыл бұрын
C'est impressionnant la quantité de bêtises racontées en seulement 30 secondes (sans parler du reste). • 0:07 : Tu demande une addition entre un nombre et un string, le langage étant en incapacité de le faire, il strigify les deux partis et les assemble avec un comportement tout à fait logique. • 0:12 : On voit tout de suite que tu ne sais pas utiliser un opérateur Javascript correctement. • 0:18 : Tu compares 2 objets qui POUR TOI sont identiques sauf que d'un point de vue machine, tu as 2 instance d'un Objet (ici un tableau) vide donc ayant 2 instances différentes, il te renvoie false. • 0:26 : Tu connais les arrondis ? Tu sais, le fameux 1/3 qui vaut 3.3333333333....................................................4 ? • 0:29 : "Et ce ne sont que 2 exemple parmi tannnnnnnt d'autres" : Tu es là pour assassiner un langage ou pour raconter l'histoire de celui-ci ? • 3:10 On ne "programme pas un navigateur" : Ça ne veut juste rien dire. • Toutes tes "petites anecdotes" (à 6:14 par exemple) sur le créateur de Javascript me font bien rire dans la mesure où elles ne relèvent que et uniquement de ton interprétation, à moins peut-être que tu as rencontré son créateur et que tu le côtoyais en 1995 ! • 6:30 A quel moment tu peux affirmer que ce langage, aussi minimaliste pouvait-il être à sa création, ai été créé en 10 jours ? Je suis en train de créer avec un ami un langage de programmation, nous avons commencé il y a 2 mois et il n'arrive toujours pas à la cheville de la première version du Javascript. Non pas parce qu'on n'avance pas mais uniquement parce que cela relève d'une complexité de compréhension juste... énorme. A noter que les ressources dont nous disposons aujourd'hui n'existaient pas en 1995 donc chapeau au créateur pour ce qu'il a créé. Tu ne peux pas affirmer qu'il a été créé et 10 jours et lui cracher dessus 3 secondes plus tard en citant tous les problèmes liés à la sécurité. D'autant plus que la notion de sécurité dans le web a énormément évolué et que les besoins de l'époque n'ont absolument rien à voir avec ceux de 1995. • 7:50 (à peut prêt) tu dis que même il n'y a pas si longtemps, il était compliqué d'avoir une bonne compatibilité entre les navigateurs : c'est effectivement vrai. Sauf que tu balance cette information juste après avoir mis en avant que le problème lié à la compatibilité avait pour cause : 2 langage différents. Ça fait extrêmement longtemps que le problème ne vient plus de ces deux langage puisque l'un a totalement été dégagé au profit de l'autre. Ici encore une fois, ton script est très mal agencé, mal organisé.. A moins que ta volonté de guillotiner le Javascript est réelle... Ce qui est amusant d'ailleurs c'est que tu ne montre quasiment aucun code en Javascript dans ta vidéo de fond... (au mieux on a vu du WebAssembler.. mais qui n'est toujours pas du Javascript..) Tout le discours que tu emplois est orienté pour dévaloriser, dénigrer le Javascript. Ce langage qui est omniprésent sur tous les supports, desktop, mobile, web, micro-logiciels embarqués (et j'en passe). Qui es-tu pour affirmer que le Javascript "est un langage claqué au sol" ? Es-tu son créateur ? Ta vidéo est mal montée, son storytelling aurait pu être sympa si tu ne racontais pas autant de bêtises à la minute. Dès le début, tu assassine le langage en citant des exemples qui POUR TOI ne sont pas logiques, TOI qui est un SYSTADMIN et non un DEVELOPPEUR. Ta vidéo est orientée, sans aucune impartialité, (presque) sans aucune recherche. Elle est décevante en comparaison de ton contenu habituel. Et c'est vraiment dommage parce que le concept, celui de raconter des histoires autours des langages est très intéressante.. s'il n'y avait pas cette orientation malsaine.
@nathaelbonnal8898
2 жыл бұрын
Je reconnais, il l'aurait eu 2/20 à l'exam Web de ma promo x)
@yassinedamiri1063
2 жыл бұрын
Force a toi pour ton complio 😂. La THL (Théorie des Langages) qui revient en force tout un coup...
@Laiteux
2 жыл бұрын
rah ouais ta meuf t'a quitté ou quoi?
@baptiste_parmantier
2 жыл бұрын
@@yassinedamiri1063 en soit la compréhension des étapes est assez logique mais la mise en place, c’est autre chose 😅
@toubippc
2 жыл бұрын
Wahh, je viens de perdre 5 min a lire un commentaire qui éclate un gars qui met a disposition une video gratuite et dont le titre est explicite ! Alors j'en prend 5, juste pour te dire d'aller ... essayer d'autres languages pour comprendre le sens de la video. Et les exemples cités ne sont pas faux... juste illogique de certains points de vue. Si il «strignifie» dans un sens pourquoi pas dans l'autre ? Un tableau = objet JS = instances ... sans rien demandé .. normal ? Tu sais ce que c'est un tableau en C ? Les perfs, la sécurité, compatibilité, .. sont toujours des problèmes actuels.. Faut avouer JS veut tout faire a ta place mais si tu ne connais pas le comportements de son «runtime» c'est très abstraits et illogique ! C'était juste pour faire un commentaire de plus pour cette excellente video. 😂
@jaglavak6303
Жыл бұрын
Si Java bien c'est javascript
@Syroco18
2 жыл бұрын
Franchement mec n'hésite pas à étoffer tes vidéos, aller dans le technique etc c'est trop intéressant. La j'ai l'impression que tu limites pour des vidéos grand publique mais ces sujets méritent tellement plus. Gg quand même t'es un vrai crac comme on en fait plus.
@GamingDesCavernes
2 жыл бұрын
Faire une chaîne réellement technique, c'est l'assurance de ne pas avoir de vue...
@hegelmotokoua
2 жыл бұрын
Grafikart explique pourquoi dans cette vidéo : kzitem.info/news/bejne/pHqPz6upoaSaiqw
@matmat6888
2 жыл бұрын
Bah quitte à être à contre courant, j'ai passé des bons moments avec javascript (sous angular 1/nodejs sur des grosses applications web) et justement son coté non typé. Ca m'a rarement fait défaut. Pour moi les langages objets sont fait pour prendre par la main et rassurer le développeur mais rallonge le temps de développement.
@qzerqzefr2860
2 жыл бұрын
le problème de l'objet c'"est que beaucoup ne savent pas l'utilisé et font n'importe quoi (sur-heritage par exemple, une vrai catastrophe)
@baboulinet2254
2 жыл бұрын
Ta vidéo est pas mal, je ne connaissais pas l'histoire du js, mais par contre tes exemples sont littéralement éclatés au sol. 1) Quand tu fais 10 - '1' tu utilises l'opérateur arithmétique soustraction entre un entier et une string, donc il cast la string en entier. C'est courant dans plusieurs langage, en C si tu fais 10 - '1' ça fait -39 car il considère le code ascii du char '1'. Et quand tu fais 10 + '1' tu utilise l'opérateur de concaténation. Ce n'est pas le même opérateur. Donc c'est parfaitement normal. 2) 3 > 2 > 1 c'est false car en réalité tu fais true > 1. La base de l'informatique c'est de parenthéser ses expressions. Dans n'importe quel langage si tu écris (a < b && c > d) ça n'a pas la même valeur que ((a < b) && (c > d)). Ce sont les règles de priorités opératoires. Là tu fais 3 > 2 qui vaut true, et tu compare true à 1. De toute façon même en mettant les parenthèses, ça n'a pas de sens. On écrirait (3>2)&&(3>1) 3) Quand tu fais [] == [] tu compares les instances des objets, pas leur contenu. De manière générale quand on compare deux choses en informatique on utilise l'opérateur ou la fonction adaptée. C'est pareil en C quand tu compares des chaines de caractères tu utilise strcmp et pas '=='. En js pour comparer 2 array tu écris la boucle ou tu compare leur représentation en JSON, vu qu'avec des objets JSON l'opérateur semble surchargé et compare les valeur des tableaux. 4) 0.1 + 0.2 là je pense que tu as oublié ce qu'est l'arithmétique flottante et les problèmes de représentation des flottant. On ne peut pas représenter excatement tous les nombres en informatique. C'est valable pour foule de langage. Je serais curieux de voir tes autres exemples, je pense que tu as plus oublié certaines bases en informatique que le fait que js soit pété de la rondelle ^^
@_misterwhy
2 жыл бұрын
Raconte nous comment créer un langage coca ! ^^ Petite pépite cette chaîne !
@cocadmin
2 жыл бұрын
c'est une bonne idée de video haha
@_misterwhy
2 жыл бұрын
@@cocadmin Bon après on sait que le titre sera : j'ai créé un langage de programmation ... pour miner des bitcoins :D
@shunji3641
3 ай бұрын
La comparaison des 2 tableaux vides qui donnent false, c'est parce que tu compares 2 objets, et dans javascript les arrays sont des objets. Or, également les objets sont stockés (et donc également comparé) par référence dans la stack (plutôt heap, les objets sont stockés dans la heap en JS, la stack ne stock que la référence à l'adresse dans la heap), et vu qu'ils ont 2 références différentes car grossomodo tu déclares 2 tableaux différents, ils ne sont pas égaux pour JS. Il y a d'autres techniques pour comparer des tableaux en JS (notamment en détournant un peu via JSON.stringify..) J'ai remarqué seulement à la fin en écrivant que la vidéo date d'il y a 2 ans, mais maintenant que j'ai écrit ça, je vais quand même poster :D !
@IdrissNeumann
2 жыл бұрын
J’adore ta manière de raconter notre histoire! GG
@artanis_
2 жыл бұрын
Notre histoire ?
@MrNiuxe
2 жыл бұрын
En ce qui concerne [] == [] => false, c'est normal. new Array() != new Array() parce que tu crées 2 instances (donc 2 adresses mémoires différentes ==> références différentes) ! Pour les autres bizarreries, ouais le JS est un langage à typage faible...... Mélanger les légumes et le dessert, ça ne peut que donner un plat inconsistant ;) Si le langage était mieux élaboré, il devrait remonter une exception !
@iwokssama4772
2 жыл бұрын
Très bonne vidéo ! J'ai aimé le racontage d'histoire. En résumé, ce n'est pas des comportements "bizarres". Mais chaque moteur d'exécution à ses particularités. Par exemple En LUA, les tableaux commence à 1. En Python : False or "coacadmin" donne 'cocadmin' Ces comportements sont des contraintes spécifiques. Une bel anecdote (qui prouve que je suis vieux) la calculatrice Windows qui renvoyait 0.9999999 au lieu de 1 à certains calculs Haaaaa! Je sais pas quel mot tu as bloqué. Du coup, mon 1er comment passe pas. Haaaaaa! 🤣🤣🤣🤣
@Zaphispo
2 жыл бұрын
Techniquement 0.30000000000000004 c'est égale 0.3 avec la double precision.
@makidoko
Жыл бұрын
10 - '1' (un nombre moins une chaîne) n'a aucun sens, donc c'est interprété comme 10 - 1 = 9... Correct. 10 + '1' (un nombre plus une chaîne) n'a toujours aucun sens, et l'opération "+ chaîne" est une opération de concaténation, donc interprété comme "10" + "1" = "101"... Correct 3 > 2 > 1 enchaîne deux comparaisons booléenne : 3 > 2 = vrai... (pour rappel "vrai" = 1, "faux" = 0) donc 3 > 2 = true = 1 ... 1 > 1 = false... Correct. [] == [], tu compare deux objets dont on ne connaît rien (ni type ni contenu) qui sont à des adresses différentes... Ce sont donc deux objets différents, donc la comparaison ne peut être que fausse... Correct 0.1 + 0.2 donne un résultat en virgule flottante à la précision douteuse.... Comme dans tous les langages... Correct. Donc résumé : dans tes exemples, rien n'est pété, mis à part tes exemples. Tu n'est pas dév, mais un dév qui se poserait les mêmes questions que toi sur ces points, serait juste incompétent (et hélas il y en a énormément). Cela dit, je déteste JS, c'est un langage dégueulasse, mais tellement pratique.
@makasi60
2 жыл бұрын
mon com va être hypra intéressant pour le monde informatique je vois que tu like les messages de tes suiveurs c'est franchement cool de ta part tu peut liker le mien........ nan je déconne tes explication parle clairement on s'y retrouve un peu pour moi quoi ;)
@sebastienrohaut5195
2 жыл бұрын
Je n'aime pas JavaScript. Pas tant à cause du langage, qu'à cause du fait qu'on a fait croire à des devs frontend qu'ils pouvaient devenir des devs backend avec nodejs parcequ'ils savaient déjà coder en javascript. Dans plein de cas, c'est un désastre. Cependant, la plupart des exemples que tu donnes s'expliquent parfaitement. Et il est bien souvent le même dans d'autres langages. Les crochets définissent une liste, qui est un objet. TU compares deux objets, ils sont différents. Tes comparaisons suivent une précédence des opérateurs, et les calculs sur les réels (float), c'est ralant mais le comportement est le même en Python. Cependant, ceux avec qui j'ai travaillé (comme Ops) connaissent bien une phrase que je sortais régulièrement (par rapport à Javascript ou pire, Scala) : "tout ça ne serait pas arrivé en PHP". :)
@mohamedaminelmoudene6429
2 жыл бұрын
3>2>1 on a 3>2 = true = 1 donc 1>1 = false
@bougatayaabdoullah
2 жыл бұрын
Il ne faux pas oublier que Microsoft a crée Typescript au 9 février 2012
@clement1370
2 жыл бұрын
Sympa mais je trouve que ça se termine vraiment d'une manière inachevée. J'imagine que continuer l'historique avec firefox/chrome et les standards EcmaScriptde aurait demandé encore de nombreuses minutes de vidéo mais c'est dommage de terminer comme ça...
@slow3069
2 жыл бұрын
Faute à langage
@ggousier
2 жыл бұрын
Le Js est certainement le langage de haut niveau le plus permissif qui existe. Possibilité de faire des opérations entre integer et string sans déclencher une erreur. Possibilité d'appeler une fonction sans l'avoir déclarée au préalable, le fameux hoisting. :) Netscape mon premier navigateur. Tu me rajeunis pas. Il y a 25 ans, je n'aurai pas misé un bouton de culotte sur le JS ^^. Aujourd'hui avec l'explosion du web, et surtout de Google c'est devenu un incontournable. Ceci dit il a sacrément évolué ^^. PS : dans ton titre une petite coquille. Langage s'écrit sans le "u" en bon françois :) . Sinon comme d'hab, gg à toi.
@lepacha5938
2 жыл бұрын
Je kiiifffffff
@ChristopheCasalegno
2 жыл бұрын
Un petit commentaire + une vue + un like en passant ;) A bientôt.
@Tenkite001
2 жыл бұрын
Pour le l'histoire de 10 + '1' et 10 - '1' Tout simplement car le + est prioritairement un "attacheur" de string Donc en gros ca va transformer le dernier nombre en string et le rattacher au 10 Tantdis que le - n'est pas un "attacheur" de string Et puis j'ai envie de dire, qui veut additioner les int et les str dans le but d'avoir un résultat xD Pour les tableau c simple chaque tableau c'est considéré comme object et vu que les object c unique bah voila
@nomnom9110
Жыл бұрын
Exactement ça s'apprend d'ailleurs dans les premiers cours javascript
@citoyennumero4434
Жыл бұрын
J'ai fais un mois de Javascript, mais venant du C/C++, j'ai eu envie de m'émasculer avec les dents dés les premières lignes de code !! Je suis heureux de ne plus avoir besoin d'utiliser celui-ci, mais ceux qui utilisent ce langage, ont tout mon respect
@pandojotv1440
4 ай бұрын
Après le langage a énormément évolué depuis l'ES6 et aussi avec l'arriver de Typescript
@LiorCHAMLA
2 жыл бұрын
Super vidéo bro
@CameleonGamer
2 жыл бұрын
Tu peux expliquer l'histoire de forge (installer de mod Minecraft)
Пікірлер: 412