В древней истории у Брендана Эйха был языковой дизайн, а в современном мире JavaScript - это популярный язык, который применяется и используется во многих местах.
Что заставило язык стать популярным? Был ли это C-подобный синтаксис, знакомый предыдущим программистам? Достаточно ли у Netscape контроль над рынком, чтобы заставить его использовать? Или есть какая-то более глубокая причина того, что JavaScript популярен, а другие - нет?
В частности, если бы вам пришлось сделать язык таким же популярным, как JavaScript, какие начальные условия вам понадобились бы, чтобы воссоздать его рост популярности?
programming-languages
javascript
history
Mathnerd314
источник
источник
Ответы:
Я комментировал более ранний ответ , но он становился большим, поэтому я думал, что раскручиваю это.
Любой новый язык может быть успешным только в том случае, если он извлекает выгоду из новой границы в области вычислительной техники.
Предыдущие примеры:
Чтобы ответить на ваш вопрос, JavaScript был языком Netscape Navigator еще тогда, когда это был доминирующий браузер. В частности, это был язык для динамической разработки интерфейса.
Следующий большой язык придется решить еще одну границу. Кажется, что в серверном пространстве веб-разработки все еще есть захват. Кроме того, мобильные вычисления не полностью решены, несмотря на нынешнее доминирование Apple. Кроме того, появляются многоядерные и облачные вычисления, которые многие языки пытаются использовать (например, параллельные языки, такие как Erlang и Go, или функциональные языки, такие как Haskell и OCaml).
У предпринимателей есть выражение «найди кого-нибудь в огне и продай ему пожарный шланг». Итак, если вы хотите ввести новый язык, чей огонь вы тушите? Каждый новый рубеж в вычислительной технике приносит целый ряд головных болей; так что поставь немного аспирина, и ты будешь золотым.
источник
Это довольно просто: Netscape использовал движок JavaScript в своем браузере. Если вы хотите делать скрипты в Интернете, JavaScript был этим . Internet Explorer имел (и все еще имеет) и JavaScript, и VBScript, но, очевидно, если вы хотите работать не только с IE, у вас нет другого выбора, кроме как использовать JavaScript.
JavaScript - отличный язык сам по себе, но он не был бы настолько популярен сегодня, если бы не тот факт, что это единственный язык, который вы можете использовать для написания HTML.
источник
Я собираюсь добавить обновление к этому, потому что я думаю, что появление JS в клиентской сети было неправильно понято в нескольких ключевых моментах за эти годы.
Это был не Аякс
Я не говорю, что Ajax не был важен для эволюции понимания JS как языка, но борьба за доминирование на стороне клиента была закончена задолго до появления термина Ajax.
Это было не потому, что это была единственная игра в городе
Были Java-апплеты, Flash и VBScript. Я слышал, что в 90-х были даже другие варианты сценариев (но требовались плагины IIRC). Ява очень популярна, но апплеты провалились. Они были уродливы и часто были швейцарским сыром, но, что более важно, я не думаю, что Java хорошо подходил по причинам, о которых я расскажу позже. Flash был очень популярен и имел прочную опору в течение нескольких лет, но даже когда у Flash наконец были варианты SEO, они обычно не использовались, что делало исключительно Flash-сайты очень трудными для обнаружения. Даже сейчас большинство из нас регулярно обновляют Flash, чтобы видеть фильмы, но это настоящая ахиллесова пята. Запатентованная технология в браузерах раздражает. И, конечно, VB, который будет работать только с IE, так что нет.
Правильное место в нужное время важно, но не полный ответ
Да, без веб-волны мы могли бы никогда не увидеть JavaScript или такой популярный язык, как это, так быстро, как мы. Или, может быть, мы бы ...
Это оказалось идеальным инструментом для проблемной области
Я бы сказал, что около 2000-х годов у нас были следующие проблемы:
Поэтому нам нужен был язык, который был бы глубоким и предлагал возможность фактически структурировать и разрабатывать более совершенное приложение с переносимыми / повторно используемыми компонентами на стороне клиента, но также доступным для людей, которые мало что знали и просто нуждались в вещах. появляться / появляться, когда вы нажимаете кнопку.
Более того, MS, являющаяся неуклюжим / некомпетентным и / или зверьком, который иногда является злодеем, борющимся с анти-конкурентной практикой, не смог по-настоящему прикоснуться к своей несоответствующей реализации DOM API в течение хорошего твердого десятилетия, хотя им и удалось добавьте случайную вещь как оригинальный объект XHR и querySelectors в IE8.
Важно отметить, что примерно к 2005 году нам удалось полностью похоронить сложность, связанную с обработкой кросс-браузерных проблем, что это не было больше серьезной проблемой в JavaScript. Неспособность поддерживать CSS2 должным образом до тех пор, пока они это делали, причиняла значительно больше боли. Чтобы получить представление об объеме и глубине проблем, я рекомендую проверить quirksmode.org . Я не думаю, что это подвиг, который мог бы быть достигнут столь же плавно и во многих библиотеках на Java, конечно, не в VB и определенно не с какой-либо стратегией плагинов, цель которой - обойти весь вопрос, став совершенно новым вид неприятности.
Другие языковые функции, которые имеют большое значение для пользовательского интерфейса:
Функции первого класса. По моему опыту, нет ничего лучше, чем асинхронная обработка и управляемые событиями парадигмы, чем язык, который делает свои функции первоклассными. Обе проблемы регулярно рассматриваются в работе пользовательского интерфейса.
Динамические типы: приведение и проверка типов - очень редкая потребность в JavaScript, которая помогает сохранять код кратким и компактным. Проблемы с пользовательским интерфейсом могут очень быстро усложниться. Надежность кода и абсолютная ясность в отношении потока данных имеют решающее значение для его понимания и изменения / обслуживания.
Это не протекционизм: в течение многих лет кто-то проповедовал, что вам нужно защищать себя от своих собственных ошибок и глупостей, которые другой парень может сделать с вашим кодом, делая кодовые конструкции очень жесткими и негибкими, и невозможно вмешиваться в исходное намерение, которым это было Автор и многие люди слушали. Я не буду говорить, что они всегда неправы (возможно, подумают), но я скажу, что это неправильный подход к веб-интерфейсу, и я верю, что это нечто вроде феномена, который мы проверяли, поддерживали и модифицировали сторонние графические интерфейсы гораздо быстрее и проще, чем такая работа, как правило, выполнялась в более ограниченных языках в прошлом. Возможность быстро и легко изменять вещи на лету значительно упрощает создание схем динамической / плавной архитектуры, которые не требуют огромных затрат косвенных данных и абстракций, что в конечном итоге облегчает понимание того, что, черт возьми, происходит в вашем коде. и упреждающий или обрабатывать исключения гораздо более четко. Проще поддерживать просто за счет того, что можно быть более прямым во всем, что вы делаете, и с гораздо меньшим количеством кода, чем это потребовалось бы с учетом другой философии.
Как JS стал популярным? Он зарекомендовал себя как отличный инструмент для работы снова и снова. Это не тот язык, с которым мы «застряли». Это язык, который, возможно, во многом способствовал эволюции популярных языков. И за это вы можете поблагодарить Брендана Эйха и всех современников, которые помогли воплотить эту идею в голову, за то, что ему понравился Scheme, который больше вдохновлял дизайнеров, а не Java.
источник
Первоначально одной из тактик было название - «JavaScript» был нацелен на популярность Java, которая некоторое время росла.
источник
Разве это не был единственный кросс-браузерный язык сценариев на стороне клиента? Его популярность, кажется, выросла в паре с популярностью в сети, что имеет смысл.
источник
В нужное время, в нужном месте. И это не совсем отстой.
Это та же самая причина, по которой Facebook выигрывает.
источник
На мой взгляд, Javascript популярен, потому что он хорошо поддерживается.
Во-первых, это единственный язык для Netscape и IE в свое время. После того, как «сообщество javascript» было создано и стало стабильным, никто не мог даже подумать о «другом благе», которое необходимо строить с нуля. Они просто способствуют тому, чтобы сделать это все лучше и лучше.
Если вы хотите создать новый популярный язык, первое, о чем я думаю, это то, что вы должны определить, кто использует этот язык . Первых клиентов всегда трудно найти, и вы должны так или иначе сделать свой язык лучше javascript. Может быть, даже в ограниченном поле / ограниченном сообществе программистов, например, «лучше / быстрее движок JavaScript для мобильных телефонов iPhone» может быть хорошим выбором.
Более того, ваш язык должен быть прост в использовании и настраиваться сообществом, потому что именно сообщество определяет, какой язык может выжить.
источник
Вы не поверите мне, но Flash и (в нескольких java-апплетах ранее) внесли огромный вклад в рост популярности javascript и в эволюцию самого языка.
Когда на сцену вышла вспышка, это было первое доказательство того, что веб-приложениям стоит задуматься.
В некотором смысле конкуренция с плагинами, постоянные попытки показать - посмотрите, что мы можем сделать без плагинов, сделали javascript языком с более широким спектром приложений и, следовательно, сделали его популярным.
источник
Я думаю, люди думали, что Javascript должен был что-то делать с Java.
(Как в наше время все начинается с «я»)
Маркетинговая / рекламная стратегия играет важную роль.
источник
Я действительно думаю, что это связано с его C-подобным синтаксисом . Согласно Википедии Javascript появился в 95 году. В то время C был всегда на высоком уровне, а Java был следующим языком. Я думаю, что синтаксис был действительно привлекательным (для того времени), и его ассоциация имени со следующим большим языком, Java , дала ему преимущество.
В то время это позволяло программистам C легко переходить на динамический язык.
Индекс Тиобе
Если бы я хотел воссоздать успех Javascript, я бы посмотрел на проблемы, от которых страдают современные программисты, и дал бы им решение со знакомым синтаксисом.
Параллельное программирование IMO - следующая большая проблема, с которой сталкиваются программисты. Я думаю, что функциональные языки действительно отлично справляются с преодолением этого препятствия. Если бы я должен был создать следующий Javascript, я бы создал функциональный язык с общей платформой . Кроме того, я думаю, что он должен быть достаточно гибким, чтобы быть языком scirpting, но достаточно мощным, чтобы быть языком статической типизации, с отличной структурой.
Хотя не все могут с этим согласиться, я думаю, что F # может иметь много достоинств в будущем.
источник
JavaScript стал популярным благодаря AJAX и хорошим инструментам проверки, таким как Firebug. Конечно, помог тот факт, что он работал во всех основных браузерах и был единственным способом сделать DHTML.
В основном, чтобы сделать даже самый уродливый язык успешным, он должен быть в состоянии сделать действительно полезную вещь, которую не может сделать ни один другой язык. Также вам необходимо предоставить инструменты, которые позволят программистам по-настоящему почувствовать, что они контролируют то, что делает язык, чего не было у javascript до firebug.
источник
Javascript популярен как хак для преодоления недостатков HTML-разметки, которая заставляет веб-страницы появляться так, как их хотят видеть дизайнеры. Без Javascript все веб-страницы выглядели бы так - HTTP 1.1 . Едва шаг вперед от протокола суслика .
источник