Pochodzę z biologii naukowej, gdzie często używamy Pythona.
Teraz, kiedy zacząłem od programowania, konsekwentnie zastanawiam się, dlaczego JavaScript jest podstawowym językiem po stronie klienta w Internecie.
Czy przewaga JavaScript jest wypadkiem historycznym, czy czymś innym? Ciekawe też, czy są jakieś przeszkody w integracji Pythona ze skryptami po stronie klienta?
javascript
python
history
client-side
rd108
źródło
źródło
vote to close
jeśli uważasz, że jest to nie na temat. Jeśli inni czują to samo, albo oni, albo moderator, pójdą za tobą.Odpowiedzi:
JavaScript był pierwszym językiem skryptowym, który został udostępniony w popularnej przeglądarce internetowej, dlatego został zaimplementowany niemal powszechnie. Będąc jedynym językiem programowania dostępnym we wszystkich popularnych przeglądarkach, nie było innego wyboru, jak być dominującym językiem programowania po stronie klienta.
Internet Explorer zaimplementował JavaScript w sposób umożliwiający podłączanie silników skryptowych (dostarczany z VBScript i JScript). Jeśli wolisz (tak jak ja) pisać kod w PerlScript lub PythonScript, możesz, ale wszyscy twoi klienci muszą mieć zainstalowany ten język skryptowy i muszą korzystać z IE. Możesz to zrobić w przypadku projektów wewnętrznych, ale nie ma mowy, aby działało to w Internecie.
źródło
JavaScript został pierwotnie stworzony przez Brendan Eich. Został on po raz pierwszy dostarczony z wersją beta Netscape Navigator 2.0 we wrześniu 1995 roku jako LiveScript, ale został przemianowany na JavaScript we wspólnym ogłoszeniu z Sun Microsystems w grudniu 1995 roku. Dopiero później (w 1996) JavaScript został przesłany do Ecma International i ostatecznie stał się znormalizowany skrypt ECMAScript.
Obecna dominacja rynku wynika głównie z historycznej bezwładności.
Źródło: http://en.wikipedia.org/wiki/JavaScript#History
źródło
Nie jestem pewien, ale jest to lekki język skryptowy po stronie klienta. Myślę, że jego początki sięgają wczesnych przeglądarek Netscape (choć mogę się mylić). Rzeczywiście, jego nazwa została zmieniona przed wydaniem, aby zawierała słowo „java”, mimo że nie miało to nic wspólnego z java. W tamtym czasie była to taktyka szybka, by zyskać popularność.
źródło
Jestem pewien, że ma to wiele wspólnego z historią.
Ale jestem też pewien, że nie chcę, aby strony internetowe mogły uruchamiać w mojej przeglądarce w pełni funkcjonalne języki programowania, takie jak python. Implikacje bezpieczeństwa odstraszyłyby mnie od takich stron (lub musiałbym być bardzo bardzo pewny, że piaskownica przeglądarki jest szczelna).
źródło
„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.
źródło