„Czy przewaga JavaScript jest wypadkiem historycznym, czy czymś innym?”
Osobiście uważam, że sukces JS jest tak samo kwestią projektową, jak wiele z nich było i nadal będzie nienawidzić przyznania się do tego, a nie tylko jakiś wypadek lub tylko dlatego, że był to pierwszy dzieciak na placu zabaw.
Brendan Eich, choć nazwany tak, aby odwoływać się do programistów Java i składni jak składnia języka Java opartego na C, również w celu odwołania się do programistów Java, podjął jedną z najbardziej złych decyzji w historii strony internetowej, która miała czerpać przede wszystkim ze schematu rzeczywistej mechaniki języka inspiracja, która wydaje się, że deweloperzy Java w ogóle nie lubili (co wydaje mi się bardzo zabawne).
JavaScript korzysta z wysoce elastycznego / szczegółowego dziedziczenia prototypowego dla OOP, ma zamknięcia, typy są w 100% dynamiczne, same funkcje są najwyższej klasy, co pozwala na ich przekazywanie jak każdy inny obiekt lub typ danych i ponowne użycie w różnych kontekstach, a nawet są stosowane do obiektów w locie, jakby od samego początku zostały zadeklarowane jako rzeczywiste elementy obiektu. Praktycznie krzyczy, że można go stosować w architekturach sterowanych zdarzeniami, które muszą znormalizować tonę zastrzeżonych śmieci lub obsługiwać wysoce nieliniowe problemy z interfejsem użytkownika.
Pod koniec zarania internetu jest to jedyny język, który poważnie podjął się zadania normalizacji przeglądarek podczas rzeczywistej wojny przeglądarkowej, w której Netscape i IE próbowały robić rzeczy inaczej, a następnie ponad 10 lat przeglądarki rozejm, w którym IE po prostu działało inaczej, ponieważ stwardnienie rozsiane jest leniwe i zakorzenione w niektórych słusznie głupich antykonkurencyjnych praktykach powodujących stagnację przeglądarki, a teraz świat, w którym przeglądarki zaczynają w końcu zgadzać się na tę samą ogólną specyfikację w odniesieniu do HTML, CSS i DOM API z IE są zaledwie 2-3 lata za najnowszymi osiągnięciami, a nie 10, dzięki Google i Mozilli, która wypuściła kompilatory JIT, które sprawiły, że liczby wydajności IE wyglądały tak żałośnie, że MS w końcu zawstydziło się na odpowiednią modernizację swoich przeklętych przeglądarek.IE9 jest pierwszym, który poważnie zaktualizował obsługę DOM API do poziomów obsługiwanych przez Netscape w 2000 roku.
JS miał konkurencję w postaci apletów Java i ActionScript Adobe dla Flasha. To tyle na poważnym froncie rywali. Stwardnienie rozsiane próbowało naciskać VB, ale poniosło porażkę, ponieważ ... cóż ... VB. Również zastrzeżone. Tak naprawdę było o wiele więcej stron Flash, niż większość ludzi zdaje sobie sprawę. Po prostu nie można znaleźć głupich rzeczy w wyszukiwarkach. Aplety zrobiły swoje, a to było brzydkie. Naprawdę brzydka. JS był jedynym językiem, który naprawdę rozwiązał problem pracy w kontekście wielu przeglądarek przez osoby, które nie zgadzały się z tym, kto ustawiał specyfikacje, z którymi mieli się zgadzać.
W ostatnich latach JS eksplodowało w znacznie szerszej dziedzinie zastosowań. W połączeniu z innymi technologiami internetowymi ma na celu przede wszystkim przewrócenie wszystkich innych rozwiązań na froncie mobilnym, ponieważ technologia internetowa + jest obecnie naprawdę jedynym realistycznym wyborem, jeśli naprawdę chcesz napisać jedną aplikację i sprawić, by działała na wszystko.
Więc nie, i tak, jestem wielkim fanem, ale nie sądzę, że przypadkowo zablokował on wszystkich innych konkurentów po stronie klienta, podobnie jak to, że stało się wybuchowo popularne poza przeglądarką, można teraz uznać za wypadek. Przed JS nie było wielu języków podobnych do schematu, które nie byłyby głównie akademickie. Daje to JS kilka potężnych zalet, a wyjątkowe potrzeby po stronie klienta umożliwiły, aby te zalety powoli stawały się krystalicznie czyste.