Я родом из научной биологии, где мы также часто используем Python.
Теперь, когда я начал заниматься веб-разработкой, я постоянно задавался вопросом, почему именно JavaScript является основным клиентским языком в Интернете.
Преобладание JavaScript - это историческая случайность или что-то еще? Кроме того, мне интересно, есть ли какие-либо препятствия для интеграции Python в скрипты на стороне клиента?
vote to close
если считаете, что это не по теме. Если другие чувствуют то же самое, они или модератор последуют вашему примеру.Ответы:
JavaScript был первым языком сценариев, который стал доступен в популярном веб-браузере, поэтому он был реализован почти повсеместно. Будучи единственным языком программирования, доступным во всех популярных браузерах, у него не было другого выбора, кроме как стать доминирующим языком программирования на стороне клиента.
Internet Explorer реализовал JavaScript таким образом, который позволяет подключаемые скриптовые движки (он поставляется с VBScript и JScript). Если вы предпочитаете (как я) писать свой код на PerlScript или PythonScript, вы можете, но на всех ваших клиентах должен быть установлен этот язык сценариев, и они должны использовать IE. Вы можете сделать это для внутренних проектов, но в Интернете это никак не сработает.
источник
JavaScript изначально был создан Бренданом Эйчем. Впервые он был выпущен с бета-версией Netscape Navigator 2.0 в сентябре 1995 года как LiveScript, но был переименован в JavaScript в совместном объявлении с Sun Microsystems в декабре 1995 года. Только позже (в 1996 году) JavaScript был представлен в Ecma International и в конечном итоге стал стандартизированный ECMAScript.
Его нынешнее доминирование на рынке во многом связано с исторической инерцией.
Источник: http://en.wikipedia.org/wiki/JavaScript#History
источник
Не уверен, но это легкий клиентский язык сценариев. Я думаю, что его происхождение лежит в ранних браузерах Netscape (хотя я могу ошибаться). Действительно, само его имя было изменено перед выпуском, чтобы включить слово «Java», хотя оно не имеет ничего общего с Java. Это была быстрая тактика завоевать популярность в то время.
источник
Я уверен, что это имеет непосредственное отношение к истории.
Но я также уверен, что не хочу, чтобы веб-сайты могли запускать полнофункциональные языки программирования, такие как python, в моем браузере. Последствия для безопасности отпугнут меня от любого подобного сайта (или я должен быть очень уверен, что браузерная песочница была герметичной).
источник
«Преобладание JavaScript - историческая случайность или что-то еще?»
Я лично придерживаюсь мнения, что успех JS - это вопрос дизайна столько же, сколько многие были и будут испытывать отвращение, чтобы признать это, а не просто случайность или просто из-за того, что это был первый ребенок на детской площадке.
Несмотря на то, что названный так, чтобы он обращался к разработчикам Java, и синтаксис, подобный синтаксису на основе Java, также обращался к разработчикам Java, Брендан Айх (Brendan Eich) принял одно из самых задиристых решений в истории www, которое должно было исходить главным образом из Scheme для реальной языковой механики. Вдохновение, которое разработчикам Java, похоже, не очень понравилось (что я нахожу очень забавным).
JavaScript использует очень гибкое / гранулированное наследование прототипов для ООП, имеет замыкания, типы являются на 100% динамическими, сами функции являются первоклассными, что позволяет передавать их, как любой другой объект или тип данных, и повторно использовать в различных контекстах и даже применяются к объектам на лету, как если бы они были объявлены как фактические члены объекта с самого начала. Это практически кричащее использование для управляемых событиями архитектур, которые должны нормализовать тонну проприетарного мусора или решать очень нелинейные проблемы пользовательского интерфейса.
В конце рассвета Интернета это единственный язык, который когда-либо серьезно подходил к задаче нормализации браузеров посредством реальной войны браузеров, когда Netscape и IE пытались сделать что-то по-другому, а затем более 10 лет браузер Перемирие, когда IE просто делал вещи по-другому, потому что MS ленив и самоуверен в некоторых справедливо глупых антиконкурентных методах, приводящих к стагнации браузера, и теперь мир, где браузеры наконец начинают соглашаться на ту же общую спецификацию в отношении HTML, CSS и DOM API с IE всего лишь на 2-3 года отстают от последних разработок, а не на 10 из-за того, что Google и Mozilla выпустили JIT-компиляторы, благодаря которым показатели производительности IE выглядят настолько жалкими, что MS наконец-то постаралась должным образом модернизировать свои проклятые браузеры.IE9 является первым, кто действительно серьезно обновил поддержку API DOM до уровней, которые Netscape поддерживал еще в 2000-х годах.
JS участвовал в конкурсе в форме Java-апплетов и Adobe ActionScript для Flash. Вот и все на серьезном фронте соперника. MS пыталась подтолкнуть VB, но с треском провалилась, потому что ... ну ... VB. Также запатентованный. На самом деле Flash-сайтов было намного больше, чем думает большинство людей. Вы просто не могли найти глупости с помощью поисковых систем. Апплеты сделали свое дело, и это было ужасно. Очень некрасиво JS был единственным языком, который действительно решал проблему работы в контексте нескольких браузеров людьми, которые не соглашались с тем, кто устанавливает спецификации, с которыми они должны были соответствовать.
В последние годы JS расширяется в область применения. В сочетании с другими веб-технологиями он предназначен для того, чтобы в основном отбросить все остальные решения на мобильный фронт, поскольку веб-технология it + действительно является единственным реальным выбором на данный момент, если вы действительно хотите написать одно приложение и заставить его работать на всем.
Так что нет, и да, я большой поклонник, но я не думаю, что это случайно смутило всех остальных претендентов на стороне клиента, так же как это становится взрывно популярным вне браузера, теперь можно считать случайностью. До JS не было много языков, подобных Схемам, которые не были бы в основном академическими. Это дало JS некоторые мощные преимущества, а уникальные потребности клиентской части позволили этим преимуществам постепенно стать кристально чистыми.
источник