Ce langage me donne envie de vomir ! - Histoire de Javascript

Поделиться
HTML-код
  • Опубликовано: 3 янв 2025
  • НаукаНаука

Комментарии • 426

  • @cocadmin
    @cocadmin  2 года назад +49

    Pour ceux que ca interessent je vais poster d'autres exemples bizarre avec leurs explications dans ma newletter : mailchi.mp/280eeb9f0080/cocadmin

    • @hegelmotokoua
      @hegelmotokoua 2 года назад +5

      J'aime beaucoup ta manière d'expliquer correctement les choses.

    • @xxx.xxx.xxx.xx1joker706
      @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
      @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. 😅😅

    • @Titank_Production
      @Titank_Production 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é :)

    • @dAvid3_f
      @dAvid3_f 7 месяцев назад +1

      404 - page not found 😢

  • @evancastel1021
    @evancastel1021 2 года назад +104

    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
      @issamelsayd 2 года назад +2

      Merci pour ton commentaire édifiant

    • @DoubleCiao
      @DoubleCiao 2 года назад +3

      Bon complément à la vidéo , merci.

    • @mrkanata7696
      @mrkanata7696 2 года назад +4

      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 😁

    • @user_R8pQm3XzY6v2jN7fDkW
      @user_R8pQm3XzY6v2jN7fDkW 2 года назад +1

      Merci pour ton commentaire. Très bon complément à la vidéo en effet.

    • @FerasOfficiel
      @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

  • @consensai
    @consensai 2 года назад +188

    * 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
      @murphyromain3915 2 года назад +6

      Je me disais bien que y'avais une logique derrière ça, merci pour cette précision

    • @luffystars3841
      @luffystars3841 2 года назад +13

      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
      @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
      @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
      @Feyli 2 года назад +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

  • @PaulTheEldritchCat
    @PaulTheEldritchCat 2 года назад +68

    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
      @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 ^^

  • @inazumaeleven9102
    @inazumaeleven9102 2 года назад +35

    J'adore les histoires de technos raconté par toi, ce format est génial man 👍

  • @Syroco18
    @Syroco18 2 года назад +5

    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
      @GamingDesCavernes 2 года назад +3

      Faire une chaîne réellement technique, c'est l'assurance de ne pas avoir de vue...

  • @ChristopheCasalegno
    @ChristopheCasalegno 2 года назад +21

    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
      @Galileo51Galilei 2 года назад +1

      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

  • @aurelienllorca
    @aurelienllorca 2 года назад +74

    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
      @Manon-4096 2 года назад +2

      genre en python

    • @aurelienllorca
      @aurelienllorca 2 года назад +3

      @@Manon-4096 Dans des centaines de langages mais oui ;)

    • @MegaBaye
      @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
      @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
      @Manon-4096 2 года назад +3

      @@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.

  • @primfxdesign
    @primfxdesign 2 года назад +8

    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" 😉

  • @t1rke
    @t1rke 2 года назад +13

    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
      @Farah28100 5 месяцев назад +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

  • @azertty3302
    @azertty3302 2 года назад +57

    Cette vidéo est incroyable, pour un passionner de programmation comme moi c’est du pur plaisir chaque seconde ta vidéo !

    • @maesmm
      @maesmm 2 года назад +5

      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

    • @Vincent_A.Freeman
      @Vincent_A.Freeman 2 года назад

      @@maesmm Inventé par Dieu lui même.

  • @baptiste_parmantier
    @baptiste_parmantier 2 года назад +27

    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
      @nathaelbonnal8898 2 года назад +4

      Je reconnais, il l'aurait eu 2/20 à l'exam Web de ma promo x)

    • @yassinedamiri1063
      @yassinedamiri1063 2 года назад

      Force a toi pour ton complio 😂. La THL (Théorie des Langages) qui revient en force tout un coup...

    • @Laiteux
      @Laiteux 2 года назад +5

      rah ouais ta meuf t'a quitté ou quoi?

    • @baptiste_parmantier
      @baptiste_parmantier 2 года назад

      @@yassinedamiri1063 en soit la compréhension des étapes est assez logique mais la mise en place, c’est autre chose 😅

    • @toubippc
      @toubippc 2 года назад +1

      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. 😂

  • @MrgnUTube
    @MrgnUTube 2 года назад +8

    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
      @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.

  • @shunji3641
    @shunji3641 6 месяцев назад +1

    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 !

  • @leshommesdupilly
    @leshommesdupilly 2 года назад +1

    C++: "Tu sais, interrompre le programme en cas d'erreurs, c'est bien"
    JS: "NOOOONNNN !!!"

  • @Tigrou7777
    @Tigrou7777 Год назад +2

    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.

  • @Le_Grand_Rigatoni
    @Le_Grand_Rigatoni 2 года назад +3

    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.

  • @ggousier
    @ggousier 2 года назад +1

    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.

  • @HellolifeH
    @HellolifeH Год назад

    J'adore ta façon de raconter des histoires. C'est très intéressant et j'ai appris plein de choses. Le montage est top. Continue comme ça !

  • @iancdp9
    @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

  • @ANGENOIRLDDO
    @ANGENOIRLDDO 2 года назад +1

    ça fait un an exactement que je fais du NodeJs / Javascript pour mon entreprise et du coup vidéo très intéressante du point de vue historique. J'avais fait beaucoup de C avant du coup les bizarreries j'en ai vu assez peu. Il faut juste penser à bien cast les variables dans le type souhaité quand on est pas sur plutôt que de tout laisser en automatique et avoir des surprises plus tard. (ou faire du typescript ça marche aussi)
    La gestion d'erreur via try catch est du coup un point essentiel dans le langage ça permet de gérer les bizarreries sans faire crash le programme.
    Le garbage collector existe maintenant, une fois qu'une variable n'a plus de référence ou qu'on sort du scope actuel la mémoire est libérée.
    Le language est très plaisant à utiliser (on fait beaucoups en codant peu) et surtout très facile à prendre en main pour des débutants, le plus important étant de ne pas coder en mode YOLO car le language est assez permissif.

    • @ANGENOIRLDDO
      @ANGENOIRLDDO 2 года назад

      et l'ES6 dispo depuis 2015 un pur plaisir

  • @ta9sas
    @ta9sas 2 года назад +6

    sinon t'a essayer de faire 0.1 + 0.2 sur d'autres langages de programmation?

  • @citoyennumero4434
    @citoyennumero4434 2 года назад +1

    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
      @pandojotv1440 7 месяцев назад

      Après le langage a énormément évolué depuis l'ES6 et aussi avec l'arriver de Typescript

  • @vinception777
    @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 à RUclips c'est cool haha :)

  • @cobaltdupont2537
    @cobaltdupont2537 2 года назад +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

  • @RoiDrag0n
    @RoiDrag0n 2 года назад +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

  • @jonathankabaso8237
    @jonathankabaso8237 2 года назад +3

    Quelle belle histoire 😄 en tant que développeur on dirait qu'on passe une bonne soirée je dirais

  • @tibo1890
    @tibo1890 2 года назад +1

    Tes vidéos storytelling sont des MASTERCLASS !

  • @ence7846
    @ence7846 2 года назад +5

    É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.

  • @IdrissNeumann
    @IdrissNeumann 2 года назад +13

    J’adore ta manière de raconter notre histoire! GG

    • @artanis_
      @artanis_ 2 года назад

      Notre histoire ?

  • @matmat6888
    @matmat6888 2 года назад +4

    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
      @qzerqzefr2860 2 года назад +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)

  • @obsasew972
    @obsasew972 2 года назад

    Magnifique , je visionnais la video sur ma télé je suis allé sur mon téléphone juste pour liker et commenter, tes vidéos sont tjr aussi passionnantes et cool a regarder ! Keep it up 👍🏽

  • @testostador5450
    @testostador5450 2 года назад

    Yo ! Super vidéo ! Quel certification d’après toi tu recommande de passer en ce moment chef ?

  • @JambonBeurre83
    @JambonBeurre83 2 года назад

    Ça me fait tellement plaisir de lire le titre de cette vidéo ! Merci ! Et bravo :-)

  • @pazka
    @pazka 2 года назад

    Très intéressant, je m'était déjà renseigné un peu sur l'histoire de JS et j'ai bien aimé ta description ! Comme un pote qui te file ça entre deux anecdotes :)
    Un point d'amélioration selon moi : Les cuts en plein milieu des phrases m'ont pas mal écorché l'oreille niveau auditif ça m'a un peu gâché le plaisir d'écouter l'histoire. Plutôt essayer de refaire toute la phrase que de la couper / remonté ce qui casse ton flow de parole ( qui est cool pourtant ! )
    Bonne continuation !

  • @abdelbakibendahou6833
    @abdelbakibendahou6833 2 года назад

    T as un site de tous les logiciels super a la mode en société de codage ?

  • @transformizem
    @transformizem 2 года назад

    c'est quoi la musique en arriere plan ? merci d'avance

  • @_misterwhy
    @_misterwhy 2 года назад +4

    Raconte nous comment créer un langage coca ! ^^
    Petite pépite cette chaîne !

    • @cocadmin
      @cocadmin  2 года назад +1

      c'est une bonne idée de video haha

    • @_misterwhy
      @_misterwhy 2 года назад

      @@cocadmin Bon après on sait que le titre sera : j'ai créé un langage de programmation ... pour miner des bitcoins :D

  • @KaSSa__
    @KaSSa__ 2 года назад +7

    Heureusement, en 2022, on a TypeScript 😍

    • @yayel59
      @yayel59 2 года назад +2

      Enfin un truc pas trop mal de Microsoft, justement.

  • @christophebrunel7106
    @christophebrunel7106 2 года назад

    Du coup la suite m'intéresse alors je viens de m'abonner à ta newsletter. 👍
    Après, on n'est pas obligé non plus d'utiliser ces bizarreries. Quand on est habitué à des langages plus rigoureux, n est aussi habitué à faire attention aux types des variables. 😉
    En tout cas quand j'ai découvert Javascript, c'est la première chose qui m'a étonnée de pouvoir comparer des choux à des carottes! 😀

  • @dsebzz6553
    @dsebzz6553 2 года назад

    Une vidéo qui mérite 1 million de vues ! On adore !

  • @anthony_issa
    @anthony_issa 2 года назад

    Quel plaisir ce genre de format

  • @SteamDeckGameplay
    @SteamDeckGameplay 2 года назад +10

    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
      @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
      @the_csb 2 года назад

      Evan, l'opérateur "-" est un opérateur arithmétique seulement donc les caste se feront toujours vers des nombre

    • @evds3941
      @evds3941 2 года назад

      @@the_csb Oui cela est évident , dans ce cas je vois pas pourquoi JS s'autorise à le faire

  • @whilechannel
    @whilechannel 2 года назад

    J’aimerais savoir ça fait combien de temps que tu fais du JS ?

  • @cool.guy.
    @cool.guy. 2 года назад +3

    roh mais javascript c un langage fun, il a du charme, une vrai personalité
    pas comme C++ que personne n'invite au soirée

  • @michelmenard67
    @michelmenard67 2 года назад

    J'adore ces petits vidéo sur l'histoire de l'informatique. Merci 👍🏽👍🏽

  • @bougatayaabdoullah
    @bougatayaabdoullah 2 года назад +1

    Il ne faux pas oublier que Microsoft a crée Typescript au 9 février 2012

  • @MrNiuxe
    @MrNiuxe 2 года назад +1

    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
    @iwokssama4772 2 года назад +3

    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! 🤣🤣🤣🤣

  • @YannAriell
    @YannAriell 2 года назад +1

    Ce format de vidéos est juste génial , est ce qu'il y aura d'autres ?

    • @cocadmin
      @cocadmin  2 года назад

      si la vidéo marche bien oui :)

  • @Ashenroger
    @Ashenroger 2 года назад +1

    Hé ben maintenant, il va falloir poursuivre avec ce format super intéressant.

  • @Watcha93
    @Watcha93 2 года назад +1

    J'en pris un coup de vieux en voyant Netscape mdr je me revois au collège. Merci pour l'histoire en tout cas très intéressant.

  • @gigazman
    @gigazman 2 года назад

    Excellente histoire! C’est cool de connaitre ce genre de chose!
    Mais du coup quelle est la version de javascript aujourd’hui?
    Il y a-t-il toujours une différence entre jscript et javascript? Qu’il y a-t-il dans edge, firefox ou chrome? Cela mériterai un autre episode :)

    • @cocadmin
      @cocadmin  2 года назад +1

      jscript n'existe plus. la derniere version de javascript s'apelle ecmascript 2022 mais tout le monde dit javascript :)

  • @schblu
    @schblu 2 года назад

    Elles sont top tes vidéos ! Et merci pour le son modem 56 k ... toute mon adolescence !!!

  • @saladin_advanced
    @saladin_advanced 2 года назад

    Tes vidéos sont de grande qualité, merci beaucoup.

  • @youssoufarsawi9028
    @youssoufarsawi9028 2 года назад

    et comment chrome est passé devant explorer ?

  • @makidoko
    @makidoko Год назад +1

    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.

  • @babycodeur5594
    @babycodeur5594 2 года назад

    Salut j’ai pas encore regardé la vidéo, mais j’ai lu le titre. Tu viens de te faire un ennemi puissant Coca. Très puissant .

    • @babycodeur5594
      @babycodeur5594 2 года назад

      Bon ok 30 secondes de videos je retire ce que j’ai dis .t’as raison …

  • @saucisse_dev
    @saucisse_dev 2 года назад

    Très bien raconté ! Du coup la version qu'on utilise actuellement découle du reverse engineering de Microsoft ?

  • @edera.2011
    @edera.2011 2 года назад

    J’aime bien “sentir les flairons” aussi 🤣 GG la video 🙌🏾

  • @Akhulud
    @Akhulud 2 года назад +2

    Pour le coût 0.1+0.2 ça fait 0.300000...0004 sur quasi tout les languages

  • @kevindiallo5235
    @kevindiallo5235 2 года назад

    ducoup j'apprends JavaScript ? ou je me lance direct back end avec php. et apres je me consacre au langage script C et python

    • @nomnom9110
      @nomnom9110 Год назад +1

      Du coup t'as fais quoi ?
      C'est le problème avec ce genre de vidéo mensongère faîtes par des aigris qui veulent restreindre et décourager ceux qui veux être developpeur
      Javascript est très populaire et demandé pour travailler dans le dev front end et back end
      C'est un très bon langage, et très utiles pour le taff.
      Le mieux est d'apprendre front end et back end
      Et de ce que je vois on commence souvent par le front end qui permet de t'initialiser a la programmation
      Courage

  • @DjSwiti
    @DjSwiti 2 года назад +1

    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
      @nomnom9110 Год назад

      Exactement, mais bon il le sait il veut juste faire du buzz

  • @GATo-il1nh
    @GATo-il1nh 2 года назад

    Très intéressant ! De nos jours, que l'on souhaite ou non Javascript est devenu incontournable dans le Web.
    Avec tous les frameworks (react js, vue js, angular) basés sur Javascript c'est devenu un incontournable

  • @topgrandiosodellaclasseverte
    @topgrandiosodellaclasseverte 2 года назад

    Mais du coup qu'est devenu le JScript après la mort de iexplorer ? Mort ou remis dans Edge ?

  • @Alorsondev
    @Alorsondev 2 года назад

    Mdr comment l'affichage le merveilleux typage de JS dès la 1re seconde xd
    J'avais lu un article qui retraçait l'histoire de JS et you know what? J'en n'avais rien retenu parce que boring
    Grâce à toi c'est maintenant bien gravé dans mon cerveau 🙏🏾
    Et quelque part, MS aura quand même réussi à fourrer son nez dans js avec typescript 😏

  • @fitagaming457
    @fitagaming457 2 года назад +4

    mais !! tes vidéos sont aussi douces que du miel, t’es un génie !

  • @bricehemery1534
    @bricehemery1534 2 года назад

    Incroyable la vidéo. Que du plaisir

  • @LiorCHAMLA
    @LiorCHAMLA 2 года назад

    Super vidéo bro

  • @hb8527
    @hb8527 2 года назад

    j'adore !! cette histoire je l'ai lu dans un bouquin et j'en avais parlé en cours l'année dernière ^^

  • @cainabel2553
    @cainabel2553 Месяц назад

    Pardon mais le pseudo terminal type Minitel n'a AUCUN rapport avec la ligne de commande. C'est un mode texte, par op. au mode graphique. On a des lignes commandes dans des outils comme Google Chrome (dans le debugger).

  • @lbuono25
    @lbuono25 2 года назад

    Ce message à caractère informatif était vraiment intéressant 😜 Continue comme ça!

  • @stiffmaster1701
    @stiffmaster1701 2 года назад +4

    Passionnant, ludique, et drôle ce genre de vidéo. J’adore ! Merci.

  • @jacquesshirac7610
    @jacquesshirac7610 2 года назад

    Vachement cool comme format, fin je pourrais t’écouter parler d’internet etc all day long
    T’es bon la dedans 👏🏼

    • @jacquesshirac7610
      @jacquesshirac7610 2 года назад

      Mdr le « il est entre 2 étaux » avec l’effect 🤣🤣

  • @stephane-lopez
    @stephane-lopez 2 года назад

    Que de bons souvenirs JavaScript dans les années 2000 ! 😀

  • @tcgvsocg1458
    @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

  • @Panopticonae
    @Panopticonae 2 года назад +1

    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
      @nomnom9110 Год назад

      Exactement ça s'apprend d'ailleurs dans les premiers cours javascript

  • @gravel-demi-sel
    @gravel-demi-sel 2 года назад

    Awesome storytelling ! merci pour la petite histoire

  • @RaphaStout
    @RaphaStout 2 года назад

    J’adore ce format avec un peu d’Histoire 🙏 merci.

  • @chankeethrajendran364
    @chankeethrajendran364 2 года назад

    Hello connais tu un navigateur de texte compatible JavaScript ?

    • @cocadmin
      @cocadmin  2 года назад

      non mais pourquoi tu utilises un navigateur text ?

    • @StarAurryon
      @StarAurryon 2 года назад

      @@cocadmin Il veut pas un éditeur de texte type atom ou visual studio code?

  • @elsombrero306
    @elsombrero306 2 месяца назад

    Moi je peux expliquer
    Parce que + c’est un operateur de concatenation et d’addition 😕
    - c’est un operateur de soustraction
    Du coup quand tu fais un - '1537' il va implicitement faire un parse de ta chaine pour que ça soit un nombre
    Ce n’est pas bizarre si tu lis biens les specs du langage

  • @sebastiennajjar
    @sebastiennajjar Год назад +1

    0.1 + 0.2 = 0.30000000000000004 c'est une question de virgule flottante. C'est le cas sur tous les langages.

  • @proutgoatsclips9425
    @proutgoatsclips9425 2 года назад

    8 mins... pour une histoire si complète et complètement compréhensible. J'adore ce type de contenu ! On t'en remercie continue :DD

  • @imbwbl
    @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

  • @Quidoute
    @Quidoute 2 года назад +1

    0:27 tous les language vont te donner le meme resultat

  • @Tom-rq9sz
    @Tom-rq9sz 2 года назад

    Merci pour cette vidéo très cool ! Ça fait du bien de faire un petit bond dans le passé pour mieux comprendre ce qu’on utilise aujourdhui
    Est ce que tu envisagerait faire une vidéo sur PromQL? Ca serait super utile :)

  • @philippelaurent835
    @philippelaurent835 2 года назад

    Bill Gates en septembre 95 croyait plus en MSN qu'en internet.
    En 1995, j'avais acheté un pc sous Windows 95 et l'on pouvait se connecter au réseau propriétaire de microsoft MSN avec une communication par modem ( couts de téléphone).
    Cela faisait penser à FirstClass. Cela marchait bien mais fut doublé par internet. Vu les investissements, Microsoft insista, mais les actionnaires, ou le bon sens, incitèrent Microsoft a rejoindre la vague internet. En fait, internet était trop bien pour que l'on se confine à du Microsoft, et B.Gates à mis du temps à l'admettre.A cette époque on disait "tu crois en internet ?".....

  • @CameleonGamer
    @CameleonGamer 2 года назад

    Tu peux expliquer l'histoire de forge (installer de mod Minecraft)

  • @melotxavier8220
    @melotxavier8220 2 года назад

    Conclusion : business et sciences ça fait jamais bon ménage !!! Super vidéo, c'est cool pour les jeunes développeur qui pense que Js c'est le saint graal puisque on peut aller jusqu'a du Full stack avec et donc certains ne prennent pas le temps de visiter d'autre lagunages !!!

  • @esaiemuhasa4135
    @esaiemuhasa4135 2 года назад

    Je ne suis pas fane de JavaScript, mais essayons de voir les choses de plus près.
    Quand à ce qui concerne la comparaison des tableaux, cela n'est pas directement lié à JavaScript mais plutôt à la logique par défaut de comparaison des tableaux.
    En plus pour le 0.1 + 0.2, même en C si tu fait printf("valeur: %f", (0.1+0.2)); tu auras un truc du genre 0.30000 dans la console. Je pense que cela est due à la manière dont le processeur exécute les opérations arithmétique sur le nombre à virgule.

  • @vostfrguys
    @vostfrguys 2 года назад

    merci j'adore ce genre de vidéo c'est génial !!

  • @samas92i71
    @samas92i71 2 года назад

    Dommage que tu ne parle pas de l'histoire après Netscape et comment tous les navigateurs on fait pour utiliser la même version de JS, ...

  • @Jerem92iz
    @Jerem92iz 2 года назад +1

    On veut la suite sur Firefox!

  • @sebastienrohaut5195
    @sebastienrohaut5195 2 года назад +1

    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". :)

  • @michelberkane2379
    @michelberkane2379 Месяц назад

    Netscape a ete fabriqué par celui qui avait crée mosaic qui est a l'origine le premier navigateur . C'était un devoir de master . L'univ la empêché de faire un produit conçurent pendant plusieurs année . Une fois le délai fini il a sortie netscape .

  • @bikotchotcho8262
    @bikotchotcho8262 2 года назад

    Le résultat 0.1 + 0.2 est partagé par presque tous les langages, cela vient de l'implémentation de l'IEEE 754 donc Java, Python, JavaScript ont tous ce défaut.

    • @ChesterKea
      @ChesterKea 2 года назад

      T as un lien pour expliquer ? Merci

  • @lukjk3457
    @lukjk3457 2 года назад +1

    J’imagine bien que tu le sais en tant que senior 😂 mais il faut utiliser « === » au lieu de « == » qui fonctionne comme le == en C par exemple.
    Sans oublier Typescript qui vient donner un peu d’ordre et de rigueur

    • @gronono
      @gronono 2 года назад

      Tout à fait. Comme on évite maintenant d'utiliser le mot clé var, de déclarer des fonctions avec le mot clé function (sinon on peut l'utiliser avant de l'avoir déclarée comme pour var), .... On utilise maintenant du JS moderne et normalisé (ECMAScript)

    • @kurusanyasuke2853
      @kurusanyasuke2853 2 года назад

      Je cherchais le commentaire avant de taper 😉

  • @rpgamer1002
    @rpgamer1002 2 года назад +1

    Ç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
      @cocadmin  2 года назад +1

      pas bete. J'imagine qu'il y a une raison technique qui l’empêche mais je ne la connais pas

    • @florianm22
      @florianm22 2 года назад +1

      @@cocadmin À mon avis c’est juste que le TC39 ne veut pas diviser la communauté entre deux versions.

    • @gronono
      @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.

  • @Coni128
    @Coni128 9 месяцев назад

    4:40 petite erreur. Lorsqu'il s'enferme durant 10 jours ce n'est pas "babababa" qu'il a fait. Il avait démenti cette rumeur durant un interview.

  • @fallart
    @fallart 2 года назад +1

    Belle vidéo ! Etant développeur Front End je comprends ce que tu veux dire ! :)

    • @fallart
      @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 ! :)