Подтвердить что ты не робот

Почему нет реальных конкурентов Javascript?

Возможно, я просто не знаю конкурентов, но, похоже, это касается клиентских сценариев в браузере и DOM, это Javascript. Я знаю там VBScript, но на самом деле он даже не находится в одном и том же поле, как JS (даже не для платформы, для стартеров).

Мне просто интересно, как это получилось. Конечно, было бы общее желание заменить новый язык на Javascript: построенный с нуля, чтобы сделать все, на что Javascript был согнут и сформирован в эти дни (посмотрите на зависимость от JS Libraries).

4b9b3361

Ответ 1

Momentum. JavaScript работает около 15 лет, а производители браузеров работают около 15 лет, чтобы заставить работать в своих браузерах.

Если бы появился конкурент, ему нужно было бы действительно принести что-то новое в таблицу, чтобы убедить всех: а) принять его, b) жить с блокировкой всех пользователей старых браузеров, таких как IE7, Firefox 3.0, Chrome 1.0 и c) найти замены для всех существующих библиотек, таких как jQuery, prototype, extJS и т.д.

Короче: нам не нужен другой Стандарт, давайте скорее улучшаем JavaScript и строим богатый фундамент, который уже существует, вместо того, чтобы снова вернуться из каменного века.

Ответ 2

Есть! На ум приходят Flash, ActiveX и Java... Но все они имеют свои недостатки. В основном безопасность и интеграция с браузером /DOM.

Flash и Java живут в своем собственном маленьком мире по своему замыслу (и для решения проблем безопасности). Они не могут изменить HTML вокруг них. ActiveX имеет доступ к DOM, но также и ко всему прочему на вашем компьютере.

Кажется, JavaScript нашел хороший баланс между гибкостью и безопасностью, он может легко взаимодействовать и изменять страницы HTML/CSS, создавать "безопасные" сети, имеет приличную стандартную библиотеку (в которой есть такие вещи, как JSON, XmlHttpRequest'sih, манипулирование DOM, и так далее). Самое главное, что он доступен практически во всех смутно современных браузерах на всех платформах согласованным образом (по сравнению с CSS).

Есть проблемы с JavaScript, но ничего серьезного. Самым большим является производительность. Загрузите страницу комментариев на Digg и наблюдайте за использованием вашего процессора. Скорее всего, это будет 100% одного ядра процессора. Существуют проекты по улучшению этого, такие как SquirrelFish, TraceMonkey и другие странные вещи. Но производительность достаточна для того, чтобы делать очень впечатляющие вещи (например, Google Spreadsheet).

По сути, JavaScript великолепен, и его недостатки не так велики, как у других конкурентов.

Ответ 3

JavaScript выиграл, потому что он был представлен Netscape в период, когда доля рынка превышает 90%. У IE и других браузеров не было выбора, кроме как поддержать его.

Если нужно ввести новый язык, это должно быть либо по соглашению между всеми основными поставщиками браузеров, либо в период, когда один браузер имеет достаточную долю рынка, чтобы проталкивать его.

Возможно, Microsoft несколько лет назад отключила его, когда IE имеет чрезвычайно большую долю на рынке (до появления Firefox и Safari), но вместо этого они выбрали (по стратегическим причинам), чтобы браузер застопорился.

Сегодня новый язык потребует соглашения между по крайней мере Mozilla, IE и Safari, чтобы получить тягу, и я думаю, что это маловероятно. Поставщики браузеров вложили много ресурсов в оптимизацию, тестирование совместимости и т.д. Для JavaScript - почему они должны начинать с нуля с совершенно нового языка и должны поддерживать два языка параллельно на десятилетия вперед? Стоимость значительно превосходит любые выгоды.

В любом случае, совершенно нереально полагать, что новый язык, созданный с нуля, может быть значительно лучше, чем JavaScript.

Ответ 4

Покажите мне другой язык, который не зависит от библиотек?

C, С++, С#, VB,... все полагаются на библиотеки. Единственное различие заключается в том, что они часто поставляются со стандартным набором библиотек.

Так мы действительно хотим, это стандартный набор библиотек? В настоящее время мы получаем ряд наборов библиотек (JQuery, прототип, extjs, mootools и т.д.). Это хорошо, потому что мы, разработчики, выбираем тот, который соответствует нашим потребностям. Кроме того, эти библиотеки могут быть включены и развиты без изменений в клиентском компоненте.

Я не думаю, что в JavaScript не существует убедительной функции языка. Убедительно, я имею в виду, что земля потрясающе важна, что я готов оттолкнуть тех браузеров, которые ее не поддерживают.

Ответ 5

  • Стандартизованный (ECMA-262)
  • Общий синтаксис и относительно простой в освоении
  • Хорошая поддержка браузера.
  • Выдвижная
  • Все еще разрабатывается
  • Относительно быстро, исходя из того, сколько данных необходимо обрабатывать иногда.

Если хороший конкурент прибыл до 1999 года (ECMAScript 3), это, вероятно, было бы связующим звеном между этими двумя.

Ответ 6

Существуют и другие языки для сценариев на стороне клиента, но AFAIK, ни один из них не интегрирован в браузер.

Оба Flash и Silverlight имеют свои собственные языки. Flash имеет ActionScript, а Silverlight - много и все, что работает под DLR, включая Python и Ruby.

К вашему второму вопросу о том, почему, более конкретно, вы упоминаете о зависимости от JS-библиотек как недостатка в языке; Библиотеки популярны не потому, что язык сломан, а потому, что стандартный API нарушен. Существование таких больших библиотек основывается на силе языка.

В JavaScript нет ничего особенного, у него есть некоторые функции, которые до недавнего времени были бы эзотерическими или академическими. Например, функции первого класса.

Кроме того, повсеместное развертывание во время выполнения - это очень привлекательная функция.;)

Ответ 8

Я думаю, что Javascript (ECMAScript) с его синтаксисом типа C настолько популярен для некоторых из причин, по которым C:

  • Относительно небольшое количество языков ключевые слова (проще учиться).
  • Краткий и эффективный синтаксис (быстрый для записи).
  • Легко расширяемый через внешние библиотеки и API, которые не загрязнять базовый язык (например, Browser DOM, FilesystemObject и т.д.).

Создание нового языка, который обеспечит многие из встроенных в текущую библиотеку библиотек, всегда сопряжен с риском, поскольку он начинает ограничивать будущую применимость языка и усложняет изучение базового языка.

Это будет еще более проблематичным для языка браузера на стороне клиента, потому что разработчики языка не могут знать, как этот язык может быть использован в будущем.

Я думаю, что Javascript отлично подходит для текущей роли "клея", который связывает так много других технологий sode клиента.

Других конкурентов нет, потому что, хотя Javascript не идеален, он выполняет свою работу.

Ответ 9

Я думаю, потому что спрос на него должен был быть огромным для браузеров для его реализации.

В конце концов, это браузеры, которые обрабатывают и запускают JavaScript, и у вас должно быть большое количество сайтов, использующих язык, чтобы браузеры заинтересовались его внедрением. Тогда снова никто не будет использовать его, если в первую очередь не будет поддержки браузера.

Ответ 10

Я бы сказал, что это связано с тем, что веб-разработка на клиентской стороне по-прежнему является очень молодой отраслью программирования. если вы посмотрите на него только сейчас, он стал более распространенным, так как мы перешли к более быстрым "межтрубкам":), и мы больше не используем модемы.

и проблема для веб-разработки на базе clent заключается в том, что разработчик не может использовать ту платформу, которую он будет использовать, но это зависит от производителей браузеров. и они медленно меняются.

VB script кончина была, на мой взгляд, ее VB-innes. слишком много ненужных вещей. Что касается javascript, он созреет, но это начало.

Ответ 11

Поддержка браузера. Если это не технология MS, она скорее всего не пойдет в IE. Если это не в IE, то никто не сможет его использовать. Если это технология MS, то, скорее всего, только IE будет иметь право использовать ее, так как она будет закрыта и запатентована. Если только IE поддерживает его, то только некоторые разработчики будут использовать его.

Чтобы бросить вызов JavaScript, он должен работать так же легко и более последовательно во всех основных веб-браузерах. Без поддержки браузера любая новая клиентская веб-технология обречена на провал.

Ответ 12

Я думаю, что это связано со стандартизацией, потому что за последнее время в браузере (т.е. v. netscape) было два, Netscape ECMA (+1 Geek point для вас, если вы знали, что это настоящее имя для JavaScript) и Microsoft JScript, очевидно, ECMA (JavaScript) выиграл и стал стандартом defacto.

Теперь у нас есть еще одна война с браузером, и каждый из 2 (3, если вы считаете Chrome 12% FFS) основных конкурентов 3 полностью (с несколькими краями) поддерживает JavaScript.

Ответ 13

Я предполагаю, что его повсеместность и легкость интеграции в любом новом проекте агента пользователя. Он встроен в почти все браузеры, поэтому вам не нужно загружать/устанавливать/настраивать что угодно, чтобы он работал. когда вы смотрите на пользовательские агенты с рабочих столов (wii, iphone, windows mobile, n95 и т.д.), доступность любой из сторон быстро высыхает - так что вы кодируете html и javascript, потому что он будет работать большую часть времени.

Ответ 14

Я согласен с Майклом, мы должны улучшить Javascript, а не беспокоиться о конкурентах, потому что их не будет, на самом деле даже Javascript 2.0 пока не достигает реальности.

Поскольку Javascript - такой неоднозначный язык, мы можем создавать библиотеки (jQuery) и даже абстракции (Objective-J), а не беспокоиться обо всех проблемах, которые имеет в основе Javascript.

Ответ 15

После стольких лет у нас даже нет встроенного CSS во всем браузере, то же самое можно сказать о JavaScript, у IE есть одна модель, а в остальной части браузеров есть еще одна модель (я имею в виду обработчики событий и связанные события).

Если появится новый конкурент, у него нет шансов, и у него не так много времени, как css и javascript.