[Français] Rincez

Bonjour, Habr! Je vous présente la traduction de l'article «To Wash It All Away» de James Mickens.



Quand j'étais aux études supérieures à Ann Arbor, j'avais un ami qui était profondément passionné par le mouvement environnemental. Il a acheté de la nourriture à des agriculteurs locaux, a fait du vélo au lieu d'une voiture, voulant réduire les émissions, et a gardé un seau de compost effrayant, qui sera probablement la source de la prochaine pandémie de grippe. Une fois, il m'a dit qu'il allait vivre dans une ferme pendant une semaine. J'ai demandé pourquoi, et il a répondu qu'il voulait "être plus près du sol" - une phrase que vous pouvez prononcer avec un visage sérieux, ne commentant qu'un documentaire sur les anciennes tribus sud-américaines. J'ai dit à mon ami que la terre ne voulait pas être plus proche de lui et que s'il regardait vraiment de près le sol, il ne verrait pas les rivières et les bancs de gelée, mais la faim, les vautours, le travail excessif à l'aide de brouettes et des quantités généralement inacceptables d'insectes.Il a éclaté dans une longue conférence sur la responsabilité environnementale, que j'ai immédiatement ignorée parce que je me suis rendu compte que mon ami naïf donnerait du chêne dans cette ferme et lui a conseillé de revenir sans hésiter s'il n'était pas assez bien là-bas. Il me sourit comme si les gens dans les films d'horreur souriaient une minute avant de rencontrer une hache et partaient.Exactement 37 heures plus tard, il a appelé. J'ai demandé comment les choses se passaient, ce à quoi il a répondu avec un son long et effrayant, semblable au chant des sirènes pendant la saison des amours. Je lui ai demandé de décrire son premier jour, et il a répondu que toute sa vie a tourné autour de choses bêlantes: chèvres bêlantes, corbeaux affamés, qui voulaient voler de la nourriture de chèvres bêlantes et des mécanismes bêlants, consistant en des lames en acier rotatives et n'ayant aucune raison raisonnable application, sans compter assurer votre adhésion au club "Prothèse du mois".
J'ai demandé à mon ami quand il rentrait chez lui, auquel il a répondu qu'il appelait de la gare d'Ann Arbor; il est déjà là. Et puis il a de nouveau émis ce hurlement de sirènes, ce son effrayant et persistant, et j'ai réalisé - COMME C'EST LE PREMIER SYMPTÔME D'UNE INFLUENZA COMPOSÉE.

Les informaticiens voient souvent sur les pages Web ce que mon ami a vu dans les fermes. Les gens pensent que les navigateurs Web sont des plates-formes informatiques si élégantes et que les pages Web sont des gadgets légers et moelleux que vous pouvez modifier dans le bloc-notes en lançant des commentaires ironiques avec des amis dans le café. Il n'y a rien de plus éloigné de la vérité. Une page Web moderne est un désastre. Cela ressemble à une scène de l'une de ces peintures médiévales apocalyptiques illustrant les conséquences de la venue de Galactus: les gens roulent la tête sur les talons dans l'abîme ardent, sont affligés de diverses choses écrasantes et pendent de l'équipement pour les terrains de jeux qui ne passeraient pas la certification de sécurité. C'est exactement ce que vous verrez lorsque vous regardez HTML, CSS et JavaScript dans une page Web moderne. Non, bien sûr, personne n'est vraiment en mesure de «regarder» ce contenu, car une page Web typique de nos jours est similaire à V'Ger du premier Star Trek - une technologie que nous comprenions autrefois, mais maintenant nous ne pouvons même plus réaliser que le Léviathan écrasant du code et du balisage écrit par les gens est si peu fiable qu'ils ne sont même pas le tiers ici, ils sont le cinquième côté, PAS du tout appelé à ce parti,mais est apparu de toute façon, parce que les hippies avaient raison et gratuitement l'amour ou ne s'en soucient pas. Je suis sûr que le navigateur Web fait partie de ces «tanières impies» dont Fox News parle constamment; Je vérifierais personnellement cela en recherchant sur le net, mais en recherchant sur le net, j'aurais besoin d'utiliser un navigateur, ET C'EST EXACTEMENT CE QUE LES ÉLITES LIBÉRALES ENVIRONNEMENTALES VEULENT DE MOI.

Une description de la raison pour laquelle le Web est terrible, semblable à une description de la raison pour laquelle il est terrible de se noyer dans l'océan à partir de poissons gonflés enceintes de petit Freddy Kruegers - chaque détail est un cauchemar en soi, mais le montant total s'ajoute délicieusement à une fleur de haine à feuilles persistantes. Par exemple, le World Wide Web Consortium (W3C) fournit des spécifications «officielles» pour de nombreuses technologies Web côté client. Malheureusement, ces spécifications lient les fabricants de navigateurs à peu près dans la même mesure que vous pouvez, en principe, demander à un venimien de vous rencontrer à l'aéroport [1]mais la dent venimeuse a peut-être des activités plus intéressantes. Chaque document du W3C est rempli de phrases dégoûtantes, principalement constituées d'hyperliens vers des hyperliens. Par exemple, si vous êtes un fabricant de navigateur et que vous souhaitez ajouter la prise en charge des sélecteurs HTML, vous devez vous rappeler qu'à la troisième étape de l'analyse de la ligne de sélection «Si le résultat n'est pas valide ([SELECT], section 12), vous devez lever une exception SYNTAX_ERR ([DOM-LEVEL-3-CORE ] , section 1.4)et abandonner cet algorithme. " Une telle étude romantique dans des tons cléricaux plaira sans aucun doute aux gens qui aspirent à la stupidité de la liste des ingrédients de Doshirak, multipliée par la bureaucratie multicouche de l'Union soviétique. En effet, on peut imaginer un monde dans lequel les fabricants de navigateurs embaucheraient des légions d'interprètes du Talmud pour comprendre pourquoi SYNTAX_ERR est orange plutôt que lilas, et comment exactement cette orange est liée au lilas cultivé ([DOM-LEVEL-3-CORE]) Et vous pouvez imaginer un monde où les fabricants de navigateurs ne le font pas, implémentant à la place 53% de chaque spécification, puis espérant qu'aucune page Web n'essaiera d'utiliser des sélecteurs HTML, puis l'interface de géolocalisation, puis la balise <canvas>, donc que ce combo libérera l'Antéchrist et / ou affichera une page web similaire à l'une de ces œuvres de Picasso que vous comprenez censément, mais qui veulent toutes secrètement jeter dans l'océan, car personne n'est heureux de contempler l'image d'un homme bleu à partir de triangles isocèles qui poussent sur son front une guitare sans raison.

[1] « » — , . , « , », « , » « , , , ».

Compte tenu du gonflement insupportable des normes Web et de la sémantique clownesque inaudible de ces normes, les fabricants de navigateurs devraient simplement cracher et conseiller à la société d'arrêter de vouloir quelque chose d'étrange. Cependant, cette opinion est impopulaire, car personne ne regardera vos performances chez TED si votre sentiment d'optimisme est basé sur la réalité. De temps en temps, j'essaie d'expliquer à mes amis pourquoi ils devraient abandonner les pages Web et échanger des informations en utilisant la lumière du soleil réfléchie par un système de miroirs, enfin, ou en agitant énergiquement des drapeaux colorés. Mes amis répondent inévitablement avec un ensemble de mots dénués de sens comme «les gens ont inventé les avions, nous sommes donc certainement en mesure de faire un bon navigateur!» Malheureusement, le critère de réussite d'un avion est simple ("JE SUIS CECI JE SUIS MAIS JE SUIS UN OISEAU"),tandis que le critère de succès d'un navigateur Web inclut les feuilles de style en cascade - une technologie qui, par son existence même, condamne tout projet à un échec épique. Pour les non-initiés, les feuilles de style en cascade sont une cryptographie conçue par Masons pour masquer la nature visuelle de la réalité et encourager les gens à dessiner des images avec des pseudographies. Les fichiers CSS vous permettent censément de séparer la définition de votre contenu de la définition de l'apparence de ce contenu - en utilisant CSS, vous pouvez spécifier le placement de vos balises HTML, ainsi que les polices et les schémas de couleurs utilisés par ces balises. Malheureusement, CSS et HTML sont combinés de la même manière que les instructions pour assembler votre lit d'IKEA et un ensemble de bâtons en bois vicieux, censés cacher la structure du lit. CSS n'est pas tant une description deà quoi ressemblera votre page Web, à quel point un aperçu superficiel de haut niveau dearriver à votre page en fonction de la météo, de la situation boursière et de la dernière fois que vous avez appelé maman. Comme un maître de jeu naïf qui n'est pas gâché par les peines de l'âge adulte, vous créez des classes CSS abstraites pour les balises <div> et <span>, distribuant leurs forces et leurs faiblesses et définissant les rôles qu'ils joueront dans le récit complet et sublime de votre HTML . Tout est strictement en place; vous chargez la page dans le navigateur et préparez-vous à une glorieuse victoire. Cependant, vous constaterez bientôt que votre balise <elf> est en surpoids. ELF NE PEUT PAS AVOIR UN POIDS SUPPLÉMENTAIRE. Pire encore, votre balise <barbarian> n'a ni marteau ni hache. Sans marteau ni hache, VOTRE BARBAR N'EST QU'UN PEU DE JEU. Et puis vous regardez votre balise <mage> et voyezque ce n'est pas un vieil homme blanc avec une barbe volante, mais un jeune homme noir de Brooklyn. POUR DE NOMBREUSES RAISONS COMPLEXES, PRENANT LEUR COMMENCEMENT DANS LES HISTOIRES COLONIALES EUROPÉENNES, VOS MAGICIENS DOIVENT ÊTRE UNE CARICANE BLANCHE AVEC UN OURS FLUIDE ET NE PAS PARTAGER LÉGÈREMENT COURTEMENT COURTE. Ce sont les problèmes que CSS va vous semer. Ou vous récoltez. Honnêtement, je ne sais pas quel verbe et sous quelle forme est le plus approprié ici, mais je suis sûr que vous me comprenez. La figure 1 montre un exemple spécifique de graine CSS. Ou semis CSS. MON GUIDE PAS À PAS SUR LES STYLES LUTTE POUR MON ÂME.ET PAS UN NOIR DANS DES CHAUSSURES HAUTES ET AVEC UNE COLLECTION DE PLAQUES DE LUXE. Ce sont les problèmes que CSS va vous semer. Ou vous récoltez. Honnêtement, je ne sais pas quel verbe et sous quelle forme est le plus approprié ici, mais je suis sûr que vous me comprenez. La figure 1 montre un exemple spécifique de graine CSS. Ou semis CSS. MON GUIDE PAS À PAS SUR LES STYLES LUTTE POUR MON ÂME.ET PAS UN NOIR DANS DES CHAUSSURES HAUTES ET AVEC UNE COLLECTION DE PLAQUES DE LUXE. Ce sont les problèmes que CSS va vous semer. Ou vous récoltez. Honnêtement, je ne sais pas quel verbe et sous quelle forme est le plus approprié ici, mais je suis sûr que vous me comprenez. La figure 1 montre un exemple spécifique de graine CSS. Ou semis CSS. MON GUIDE PAS À PAS SUR LES STYLES LUTTE POUR MON ÂME.



1: - . JavaScript , JavaScript' . - , — , HTML . . , , TM. CSS , , . : , , . - , HTML- Z, , , , . CSS , , , . , , , .

Si vous êtes un développeur Web, CSS n'est que l'un de vos soucis. La pile cumulative de technologies Web est si fragile que les développeurs acceptent simplement le fait que diverses parties de la page Web tomberont à des moments arbitraires. Apparemment, c'est la norme, car personne ne prend le commerce électronique au sérieux et si vous avez vraiment envie d'opérations bancaires sécurisées, vous n'êtes pas opposé à visiter la banque personnellement, comme au 19e siècle, au lieu d'utiliser le portail Web de la banque, qui émet constamment ( mais discrètement ) des erreurs exécution dans le journal de la console (le journal de la console, que le navigateur ne vous montre pas par défaut, parce que si vous en aviez connaissance et que vous aviez tenu compte de ses épopées lamentables, vous auriez abandonné l'informatique et vous seriez passé à fabriquer des chaussures en bois).
La figure 2 montre un exemple original d'un tel journal de console; Le journal a été généré par une véritable page Web sur un site populaire.


Figure 2: Ils ont dit que je pouvais être n'importe qui, et maintenant j'ai un journal des erreurs du navigateur Web. J'ai quinze chats, où sont toutes les fêtes?

  • , JavaScript, , MIME — text/html. : , , . , — , , , , . , : .
  • , , , . , , ? : , . . « » , HTML CSS. « » , . - , - , «--» . , - , . -, , , . « »; , , , . , , « » «» , , . , , , . , , - , , . .
  • JavaScript. - , , , . «, , ''». JavaScript , , , , , . , , , - init() , init(). , - , . . , « , », , , , , . , , . , - , , , , , , .

L'interprétation des erreurs restantes est fournie au lecteur comme exercice. Notez que la compréhension de la huitième erreur nécessite du marc de café, l'œil du triton et une boule de cristal.

À ce stade, il devrait devenir intuitif que différents navigateurs peuvent ou non générer le même journal d'erreurs pour la même page. En général, si une page Web contient plus de trois bits d'entropie, différents navigateurs généreront des combinaisons extraordinairement uniques des intentions du développeur Web et de la palette d'animaux schizophrènes utilisée par les navigateurs pour véhiculer une image du monde. Ainsi, choisir le "meilleur navigateur", c'est comme jouer à l'un de ces exercices effrayants de renforcement de la confiance où vous décidez quels sont les trois de vos cinq sentiments que vous préféreriez perdre, puis vos collègues vous réprimandent pour les compromis qu'ils ont dû faire, malgré le fait qu'il n'y ait pas d'ordre partiel capable de comparer les accidents de plongée au cours desquels vous perdez les yeux et les oreilles,avec des accidents du travail au cours desquels vous perdez le nez et la langue. Toutes les options sont mauvaises; c'est le monde du piétinement sur place. En effet, essayer de choisir le meilleur navigateur, c'est comme essayer de décider lequel de vos enfants sans valeur devrait hériter d'une entreprise familiale. Little Oliver rejette les notions généralement acceptées de ce qu'une boucle d'événement devrait faire.Ainsi, chaque fois qu'un utilisateur appuie sur une touche du clavier, Oliver déclenche non pas un événement keyPress, mais trois événements KeyDown, un événement KeyUp et un solo de saxophone découpé de la huitième symphonie de Mozart. La très chère Fiona, une fervente bourreau de travail, conçoit son navigateur de sorte que lorsque vous le "fermez", l'interface graphique disparaisse, mais le processus principal tourne en arrière-plan, tranquillement,consommant vicieusement et lentement des entrées dans les tables du noyau et rendant impossible le redémarrage du navigateur sans envisager le message d'erreur «Quelque part ailleurs dans le monde travaille sur une autre copie du navigateur; trouver Carmen SanDiego et elle révélera le secret. " Christopher préféré, dans une tentative de rendre son navigateur rapide et facile, décide de remplacer son plug-in Flash par du code qui affiche «Shockwave est tombé», puis déréférence immédiatement le pointeur nul; cela garantit que la plupart de vos tentatives de regarder la vidéo entraînent un désir de lunettes plus banales, telles que des sculptures sur bois ou des peintures rupestres. Et pauvre IE6, c'est "ça n'aura aucun sens parce qu'IE6 n'est pas le bon nom chrétien", réussissant en quelque sorte à se dandiner dans le monde, survivant à plus de tentatives d'assassinat que Fidel Castro.trouver Carmen SanDiego et elle révélera le secret. " Christopher préféré, dans une tentative de rendre son navigateur rapide et facile, décide de remplacer son plug-in Flash par du code qui imprime «Shockwave est tombé», puis déréférence immédiatement le pointeur nul; cela garantit que la plupart de vos tentatives de regarder la vidéo entraînent un désir de lunettes plus banales, telles que des sculptures sur bois ou des peintures rupestres. Et pauvre IE6, c'est "ça n'aura aucun sens parce qu'IE6 n'est pas le bon nom chrétien", réussissant en quelque sorte à se dandiner dans le monde, survivant à plus de tentatives d'assassinat que Fidel Castro.trouver Carmen SanDiego et elle révélera le secret. " Christopher préféré, dans une tentative de rendre son navigateur rapide et facile, décide de remplacer son plug-in Flash par du code qui affiche «Shockwave est tombé», puis déréférence immédiatement le pointeur nul; cela garantit que la plupart de vos tentatives de regarder la vidéo entraînent un désir de lunettes plus banales, telles que des sculptures sur bois ou des peintures rupestres. Et pauvre IE6, c'est "ça n'aura aucun sens parce qu'IE6 n'est pas le bon nom chrétien", réussissant en quelque sorte à se dandiner dans le monde, survivant à plus de tentatives d'assassinat que Fidel Castro.que la plupart de vos tentatives pour regarder la vidéo se termineront par un désir de lunettes plus banales, telles que des sculptures sur bois ou des peintures rupestres. Et pauvre IE6, c'est "ça n'aura aucun sens parce qu'IE6 n'est pas le bon nom chrétien", réussissant en quelque sorte à se dandiner dans le monde, survivant à plus de tentatives d'assassinat que Fidel Castro.que la plupart de vos tentatives pour regarder la vidéo se termineront par un désir de lunettes plus banales, telles que des sculptures sur bois ou des peintures rupestres. Et pauvre IE6, c'est "ça n'aura aucun sens parce qu'IE6 n'est pas le bon nom chrétien", réussissant en quelque sorte à se dandiner dans le monde, survivant à plus de tentatives d'assassinat que Fidel Castro.

Chaque navigateur est imprudent et bizarre à sa manière, mais tous les navigateurs partagent également l'amour du swap épique sur disque. Pas une pluie rare d'E / S miniatures alignées avec le système de fichiers, non, je parle de collisions de tempêtes de neige de lecture et d'écriture, d'une inondation primitive qui vous oblige à rassembler vos compagnons et à décider quelles créatures prendre en paire et ne pas oublier le feu les fourmis, car les fourmis de feu gâchent l'été. Les navigateurs n'ont pas besoin d'une raison spécifique pour coller un disque, non; l'échange est un mode de vie par navigateur, une activité de loisir qui se livre à elle-même. Si vous n'êtes pas un professionnel de l'informatique, vous démissionnez simplement du fait que la visite de CNN.com provoquera l'arrêt du clignotement du voyant vert avec l'icône du cylindre et le clignotement du vert en permanence. Cependant, si vous savez toujours comment fonctionnent les ordinateurs,puis l'échange sans fin vous rend fou. Cela vous transforme en Torquemada - un personnage misérable, obsédé par la peur que toute votre idéologie ne soit qu'un mensonge fantaisiste, nécessaire uniquement pour cacher les opérations de disque excessives des cardinaux gris. Vous ouvrez votre gestionnaire de tâches et vous constatez que votre navigateur a lancé 67 processus différents, tous appelés «browser.exe», et tous brûlent désespérément de toutes les E / S sur des zones mystérieuses du système de fichiers comme «\ Roaming \ pots \ pans \ cache \ 4 $$ Dtub.partial ", où" \ 4 $$ "est une séquence ESC exotique qui se déroule en double tréma letton. Vous recherchez sur Internet des solutions potentielles et rencontrez un tas d'opinions contradictoires et non fondées: votre navigateur a un virus; votre virus a un virus; J'ai dû utiliser Emacs; vous avez dû utiliser vi,et c'est pourquoi votre mariage a craqué.

Naturellement, le conseil le plus populaire pour résoudre tout problèmes de navigateur - videz le cache de votre navigateur. Sans aucun doute, vider le cache parfois aidera, de la même manière que donner un coup de pied à un arbre avec un voyou conduit parfois à une série d'événements amusants, se terminant par la chute d'un grand sac d'argent sur le sol et la note «Dépensez tout! Tsem, la vie. " Malheureusement, donner un coup de pied à un arbre ne mène généralement pas à la richesse, donc votre acte d'agression soutenu par la foi envers les arbres ne fait vraiment de vous qu'un monstre sauvage qui donne des coups de pied, réprouvé par les enfants et les adultes émotionnellement sensibles. De même, votre effacement soudain du cache du navigateur, malgré de bonnes intentions, n'est qu'un analgésique local qui illumine brièvement les affres de la vie. Réparer le navigateur en effaçant le cache, c'est comme votre père vous emmène à la maternelle, et quand la voiture commence soudainement à fumer, en essayant de le réparer avec trois bruits sur le capot,et ensuite vous demander si vous sentez encore du monoxyde de carbone, et vous dites: "Ouais, c'est mieux", parce que vous ne voulez pas exposer votre père comme un escroc, puis vous passez tous les deux le reste du chemin en silence, en vous efforçant de ne pas perdre conscience.

Donc, oui, ce serait génial si la réparation de votre navigateur était liée à des actions qui ne seraient pas sémantiquement équivalentes à vaudou. Cependant, d'un autre côté, cela aurait pu être encore pire. Par exemple, ce serait vraiment horrible si le langage de script de votre navigateur combinait l'héritage prototype de Self, un quasi-fonctionnalisme emprunté à LISP, une syntaxe structurée tirée de C et un modèle d'E / S agressivement asynchrone nécessitant des chaînes de rappel non triviales s'étendant sur plusieurs générations d'Américains travailleurs. Oh non, je viens de décrire JAVASCRIPT. Quelle tournure désagréable des événements! Les gens aspiraient à la combinaison de Soi, LISP et C aussi désespérément que les habitants de la Terre du Milieu ont supplié Saroumane de traverser les orques avec les gens, afin qu'il obtienne Uruk-hai.Les orques et les gens se sont bien battus pour leur existence dans leurs communautés séparées, créer une nouvelle race avec les défauts des deux n'est pas le meilleur moyen de devenir le premier gars du village. Cependant, malgré ses lacunes, JavaScript est toujours répandu. Enquêter sur ces causes revient à essayer de comprendre les causes de la Première Guerre mondiale - tout le monde est d'accord avec les cinq principales raisons, mais chacun a sa propre opinion sur leur importance primordiale. L'essentiel est le suivant: dans les années 90, lorsque JavaScript et Java se disputaient la supériorité sur le client, les applets Java étaient monstrueusement lentes et ne pouvaient se vanter d'interagir avec HTML; JavaScript n'était qu'à moitié monstrueusement lent et pouvait (mais pouvait) interagir avec HTML. Java a donc perdu malgré:Cependant, malgré ses lacunes, JavaScript est toujours répandu. Enquêter sur ces causes revient à essayer de comprendre les causes de la Première Guerre mondiale - tout le monde est d'accord avec les cinq principales raisons, mais chacun a sa propre opinion sur leur importance primordiale. L'essentiel est le suivant: dans les années 90, lorsque JavaScript et Java se disputaient la supériorité sur le client, les applets Java étaient monstrueusement lentes et ne pouvaient se vanter d'interagir avec HTML; JavaScript n'était qu'à moitié monstrueusement lent et pouvait (mais pouvait) interagir avec HTML. Java a donc perdu malgré:Cependant, malgré ses lacunes, JavaScript est toujours répandu. Enquêter sur ces causes revient à essayer de comprendre les causes de la Première Guerre mondiale - tout le monde est d'accord avec les cinq principales raisons, mais chacun a sa propre opinion sur leur importance primordiale. L'essentiel est le suivant: dans les années 90, lorsque JavaScript et Java se disputaient la supériorité sur le client, les applets Java étaient monstrueusement lentes et ne pouvaient se vanter d'interagir avec HTML; JavaScript n'était qu'à moitié monstrueusement lent et pouvait (mais pouvait) interagir avec HTML. Java a donc perdu malgré:lorsque JavaScript et Java se disputaient la supériorité sur le client, les applets Java étaient monstrueusement lentes et ne pouvaient pas se vanter d'interagir avec HTML; JavaScript n'était qu'à moitié monstrueusement lent et pouvait (mais pouvait) interagir avec HTML. Java a donc perdu malgré:lorsque JavaScript et Java se disputaient la supériorité sur le client, les applets Java étaient monstrueusement lentes et ne pouvaient pas se vanter d'interagir avec HTML; JavaScript n'était qu'à moitié monstrueusement lent et pouvait (mais pouvait) interagir avec HTML. Java a donc perdu malgré:

  • JavaScript , , , Monty Python. , 12 == «12», . ,  . , null == undefined. ; , null, , NULL. , , : "\r\n\t" == false. : , , false 0 . ( ), "\r\n\t" 0, - 0. — 0 0! . «Inception», , « false».
  • , — ! , JavaScript NaN (« »)? , , , ParseInt(«»). , NaN , . , typeof(NaN) … «». « , ", .
  • , NaN != NaN, « ».
  • , JavaScript (=== !==),  , ; , NaN !== NaN. , JavaScript, , ALU. , .
  • , , . C++, , JavaScript . , «» . ,   Circle JavaScript, - :

    // ,   "radius"
    //  .
    function Circle(radius){
        this.radius = radius;
    }
    
    //-   
    //  "prototype",  
    //  .
    Circle.prototype.getDiameter = function(){
        return 2*this.radius;
    };
    var circle = new Circle(2);
    alert(circle.getDiameter()); // "4".

    Circle Circle.prototype, - JavaScript. , , . , . , - , …

    Circle.prototype.getDiameter = function(){
        return -5;
    };

    … , , . , ,   ( «») JavaScript . - …

    Number.prototype.valueOf = function(){return 42;};

    , Number, , , , :

    
    alert((0).valueOf());   //0   0    0,   42.
    alert((1).valueOf());   // , 1  42.
    alert((NaN).valueOf()); //NaN  42.      

    , , , JavaScript , . , - - JavaScript , , . , « JavaScript» .
  • C, JavaScript . , JavaScript, , JavaScript , , , , , , , . , , . , . , , « ». , . JavaScript , , (, HTTP ), JavaScript - . « ». , - , , C++.

Je peux parler sans cesse des raisons pour lesquelles JavaScript est un cancer transmis à ce monde. Je sais qu'il y a des gens qui aiment JavaScript, et j'espère que ces gens trouveront l'aide psychiatrique dont ils ont désespérément besoin. Je ne connais pas les réponses à toutes les questions de la vie, mais je connais toutes les choses qui ne sont pas de telles réponses, et JavaScript tombe dans la même catégorie que la scientologie, l'homéopathie, et mettre de minuscules chandails sur les chiens en raison de l'opinion erronée que c'est ce que les chiens feraient s'ils avaient accès aux métiers à tisser et aux pouces.

Pour résumer, les navigateurs Web sont similaires à la physique quantique: au mieux, ils offrent des garanties probabilistes, et quiconque prétend les comprendre pleinement est un menteur. À ce stade du développement humain, il y a des problèmes plus urgents: le changement climatique, les maladies cardiaques, la mauvaise situation financière des princes nigérians qui souhaitent vous contacter personnellement. Étant donné que tous ces problèmes n'ont pas été résolus, la navigation sur le Web est un terrible moyen de passer du temps; lancement de systèmes d'exploitation instables écrits pour un fan et téléchargement d'étranges fichiers JavaScript d'étrangers - la dernièrece que nous devons faire. Au lieu de cela, nous devrions échanger des informations en utilisant des messages ASCII de longueur fixe écrits dans un sous-ensemble statiquement vérifiable de l'alphabet latin, avec des images représentées comme des combinaisons mathématiques de segments de ligne, d'arcs et d'autres formes éternelles décrites par des philosophes morts qui croyaient que les minotaures existaient, mais pas capable de sortir des labyrinthes. C'est une pensée si claire qui nous aidera à vaincre les Égyptiens cosmiques sortant du Stargate. Eh bien, ou peu importe. Je suis américain et pas fort dans l'histoire, mais je crois fermement que les Grecs parlaient latin pour vaincre les Égyptiens intergalactiques. # Donnez une polémique! En bref, je veux dire que les navigateurs sont trop complexes pour faire confiance. Malheureusement, les enfants perdent leur jeunesse et la génération actuelle de développeurs de logiciels est convaincueque les navigateurs ont besoin de plus de fonctionnalités, pas moins. Nous sommes donc invités à nous réjouir que les navigateurs transforment nos ordinateurs en petites tavernes de Star Wars, où tout le monde est heureux, et où vous pouvez boire une boisson bleue, si vous voulez boire une boisson bleue, et si quelque chose ne va pas, alors peut-être que les Jedi vous sauveront, et sinon, CECI EST LE STAR WARS TAVERN, DAAAAA. Les tavernes spatiales sont bonnes, mais c'est fantastique; c'est juste un tas de détails ridicules cousus ensemble pour divertir le public. Ouvrez les yeux et voyez que dans le monde réel et non hyperbolique dans lequel vous vivez, votre navigateur interrompra la vidéo de temps en temps, puis affichera le clignotement des pixels épileptiques, produisant le même son que les téléviseurs dans les films d'horreur japonais avant de pâlir l'enfant disparaîtra de l'écran et annulera votre garantie. Cela peut réellement arriver,et nous devons tout laver.

All Articles