javascript — EcmaScript Спецификация или язык программирования?
Вопрос задан
Изменён 4 года 1 месяц назад
Просмотрен 178 раз
Русская версия
ECMAScript — это встраиваемый расширяемый не имеющий средств ввода-вывода язык программирования, используемый в качестве основы для построения других скриптовых языков. Стандартизирован международной организацией ECMA в спецификации ECMA-262. Расширения языка: JavaScript, JScript и ActionScript.
Английская версия
ECMAScript (or ES) is a trademarked scripting-language specification standardized by Ecma International in ECMA-262 and ISO/IEC 16262.
Так всё-таки EcmaScript это спецификация или язык программирования? Получается в Вики ошибка или что?
Текст написан про EcmaScript в русской вики
Язык возник на основе нескольких технологий, самыми известными из которых являются языки JavaScript и JScript. Разработка первой редакции спецификации началась в ноябре 1996 года.
Получается язык как они говорят EcmaScript возник на основе нескольких технологий аля: JavaScript и JScript. То есть слияние этих всех технологий или языков? Или наоборот на примере JavaScript(a): Это EcmaScript + DOM, BOM и еще что-нибудь? Я правильно понимаю?
Да я копаю в основы и тд. Уж лучше так медленней понимать и знать что да как, чем после 20 минут JavaScript(a) идти во фреймворки и пытаться понять как там всё работает -_-
- javascript
- ecmascript-6
- ecmascript
4
Для разбора откроем саму спецификацию (последний черновик)
Название явно указывает:
ECMAScript® 2019 Language Specification
Спецификация языка ECMAScript® 2019
Далее во введении можно увидеть следующее:
Этот Ecma стандарт определяет язык ECMAScript 2019. Это десятая редакция спецификации языка ECMAScript.
ECMAScript основан на нескольких технологиях, таких как JavaScript (Netscape) и JScript (Microsoft).
Настоящий стандарт определяет язык программирования общего назначения ECMAScript 2019.
Далее идет секция соответствия, в которой указывается определенные пункты, которым должна соответствовать реализация ECMAScript.
Из всего выше сказанного можно сделать вывод:
- Есть языковая спецификация
- Спецификация описывает язык ECMAScript
- Есть конкретные реализации этой спецификации, например
JavaScript
7
Спецификация языка — это документ, который описывает язык. Чтобы язык начал свое существование, он должен быть описан.
В самой спецификации ECMAScript во введении написано:
This Ecma Standard defines the ECMAScript 2015 Language.
Так что никакого противоречия нет.
В приведенной вами цитате
Язык возник на основе нескольких технологий, самыми известными из которых являются языки JavaScript и JScript.
язык программирования определяется как вид информационной технологии.
9Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
история возникновения, версии и стандарты
Изначально в структуре HTML-документа применялись лишь средства оформления текста (теги), ссылки на прочие веб-документы или графические файлы (изображения). Позднее появилась возможность вставки и проигрывания звуковых файлов и видео-клипов. Однако помимо размещения мультимедиа-контента на веб-странице существовала проблема динамической обработки экспозиции и управления просмотром. Возможностей стандартного HTML не хватало и потому возникла необходимость в привлечении иного языка программирования (по своим характеристикам приближенного к стандартным средствам разработки ПО).
Все изменилось в 1995 году, когда фирма Netscape представила общественности новый браузер Netscape Navigator с поддержкой языка LiveScript. Функционал LiveScript был весьма ограничен, но для своего времени он оказался довольно практичным и прогрессивным. Позднее имя LiveScript заменили на JavaScript. Конкуренты компании Netscape, разумеется, не оставили без внимания этот новаторский прорыв. Началась эпоха бурного развития браузерных технологий.
Вскоре за Netscape корпорация Microsoft представила свою редакцию JavaScript под немного отличающимся названием JScript для своего браузера Internet Explorer 3. 0. Название JScript были выбрано, видимо, чтобы избежать проблем с авторскими правами и лицензированием. Тем не менее, идея родилась и воплотилась. Так началось развитие скриптового языка (т.е. языка сценариев), который теперь называют JavaScript, а название JScript употребляют, когда хотят подчеркнуть, что имеется в виду язык JavaScript с множеством фирменных расширений, поддерживаемых преимущественно браузерами Microsoft Internet Explorer. Microsoft немало потрудилась, чтобы обеспечить программисту как можно больше возможностей и удобств программирования.
Поэтому браузеры других фирм были вынуждены поддерживать в порядке исключения кое-что из созданного Microsoft. И в самом деле, нельзя же полностью игнорировать массу программного кода, написанного исключительно для чрезвычайно широко распространенного браузера Microsoft Internet Explorer. Заметим попутно, что браузер Opera стал поддерживать JavaScript, начиная с версии 3.0.
Со временем все основные производители браузеров создали собственные расширения языка JavaScript, позволяющие решать существенно более сложные и интересные задачи, чем первоначально поставленные. Этапы развития JavaScript фиксировались в виде его версий, которые были тесно связаны с типами и версиями браузеров. Действительно, любой язык жив, пока существует система, способная его интерпретировать. Такой системой для языков программирования является компилятор или интерпретатор. Сейчас мы не будем выяснять, в чем разница между ними. Достаточно лишь указать, что скриптовые языки воспринимаются интерпретаторами, а интерпретатор JavaScript встроен в Web-браузер, который в принципе может выполнять скрипты (сценарии). Современные браузеры это могут делать, но пока с некоторыми различиями.
Популярные браузеры содержали в себе встроенные интерпретаторы этого языка, а их разработчики могли видоизменять эти языки и расширять их как угодно. Однако произвол такого творчества, разумеется, ограничен. Всемирная паутина по своему замыслу должна предоставлять пользователю информационные ресурсы инвариантно относительно браузеров. Поэтому творцы языка должны были, так или иначе, стремиться к некоторому «общему знаменателю». Тем не менее, разночтение все же возникло и породило весьма запутанную проблему совместимости программных кодов (сценариев), написанных для различных браузеров.
Разумеется, синтаксис и основные объекты языка остаются незыблемыми, поддерживаемыми всеми современными браузерами, которые в принципе способны выполнять сценарии для Web-страниц. Сценарии, написанные на языке JavaScript, способны оперировать объектами HTML-документа. Однако в языке предусмотрены еще и объекты браузера и документа, состав и/или реализация которых варьируют от версии к версии, а также зависят от типа браузера. Именно эти объекты и приводят к несовместимости браузеров различных производителей.
Сначала Netscape и Microsoft использовали одинаковые стратегии развития своих браузеров. А именно в конкурентной борьбе они создавали свои фирменные расширения первоначальной версии языка JavaScript, которые, к сожалению, не были совместимыми. На этом пути были созданы браузеры Netscape Navigator 4.x и Microsoft Internet Explorer 4. x, Между JavaScript от Netscape и Jscript от Microsoft было много общего, но имелись и существенные различия, хотя и Netscape, и Microsoft вместе с другими крупнейшими производителями программного обеспечения участвовали в работе организации World Wide Web Consortium (W3C, Консорциум Всемирной паутины), цель которой — выработка рекомендаций и стандартов для Web. Казалось бы, они вполне могли бы договориться об «общем знаменателе», но этого не произошло.
В дальнейшем стратегии Netscape и Microsoft существенно разошлись. Компания Netscape в своих браузерах версий 6.x и 7.x отказалась от создания, поддержки в полной мере уже существующих и наращивания фирменных дополнительных возможностей JavaScript в пользу приверженности стандартам, при этом она также отказалась от принципа сохранения обратной совместимости своих новых продуктов. Иначе говоря, в новых браузерах Netscape не поддерживались в полной мере сценарии, написанные для предыдущих версий. И это в условиях, когда уже существовало огромное количество кода, написанного для прежних версий браузеров Netscape! В результате, что нетрудно было предвидеть, линейка браузеров Netscape Navigator 4. x. стала терять популярность среди пользователей и в настоящее время почти исчезла. Вместе с тем, в 1998 г. Netscape представила исходный код браузера Mozilla. Это был важный этап реализации новой стратегии, часть которой уже воплотилась в браузерах Netscape 6x, 7х. Название «Mozilla» сначала использовалось в качестве внутреннего имени программного кода браузеров компании Netscape. В настоящее время оно относится к браузеру как продукту, платформе и организации. Mozilla — это одновременно наименование и кроссплатформенного браузера с открытым кодом, и платформы — каркаса, на базе которого разработаны как сам браузер, так и другие кроссплатформенные приложения, и организации — независимой группы разработчиков, занимающейся поддержкой и усовершенствованием данных программных продуктов. Открытый программный код Mozilla теперь может быть использован в качестве основы (с соблюдением определенных лицензионных соглашений) для создания любых собственных браузеров теми, кто возьмется за это дело. Так например, Mozilla и Mozilla Firefox — конкретные браузеры, созданные на базе одного и того же программного кода Mozilla. но являющиеся разными продуктами, поскольку имеют некоторые отличия.
Microsoft, напротив, продолжила создавать расширения языка, дающие опытному разработчику большие возможности, а неопытному — автоматическое исправление синтаксических ошибок и отклонений от соблюдения стандартов. Так что для Internet Explorer можно позволить себе некоторую небрежность в написании программных кодов: браузер многое исправит сам. При этом, что очень важно, Microsoft сохранила для своих браузеров Internet Explorer 5.x, 6.0 и 7.0 обратную совместимость и в то же время обеспечила поддержку современных стандартов, хотя и не на 100%. Нередко можно услышать, что хуже всех соответствует стандартам браузер Microsoft Internet Explorer. Это не совсем верно. Internet Explorer поддерживает стандарты примерно так же, как и его современные конкуренты, но в отличие от них он сохраняет совместимость со своими более ранними версиями, а также поддерживает множество других, мощных и полезных возможностей, которые в стандарты не вписываются.
Многие разработчики используют расширения, которые функционируют неверно или совсем не работают в других браузерах. Однако это совсем не доказывает, что Internet Explorer далек от стандартов, к которым якобы близки другие браузеры. Да, он выполняет коды, написанные вне стандартов, но это его дополнительные возможности, которые никому не навязываются насильно. Если вы хотите создавать Web-документы, инвариантные относительно всех современных браузеров, то пишите тексты программ с соблюдением стандартов, не прибегая к дополнительным фирменным возможностям браузеров. А при разработке приложений исключительно для пользователей Internet Explorer (например, для интрасети) ничто не мешает вам применить его фирменные расширения языка JScript.
Теперь немного о собственно стандартах. Рано или поздно, во избежание кризиса «вавилонского столпотворения», причиной которого было, как хорошо известно, разноязычие строителей, приходится задуматься о соответствии пестрого разнообразия языков каким-нибудь общим рамкам.
Чтобы создать основу для обеспечения межбраузерной совместимости в отношении языка JavaScript, была выработана стандартная спецификация ЕСMA Script (ЕСМА-262) для языка сценариев, встраиваемых в Web-страницы. В настоящее время известны три редакции (edition) данного стандарта. Все современные браузеры теперь объявляют полную поддержку стандарта ЕСМА-262 Edition 3, но некоторые из них, как уже отмечалось ранее, имеют и дополнительные возможности (расширения). Больше всех фирменных (нестандартных) возможностей предоставляет, пожалуй, браузер Microsoft Internet Explorer 5.x, но и другие делают что-то в этом направлении. Так что разработчикам Web-приложений следует быть внимательным и готовым к тестированию своей продукции на нескольких наиболее популярных браузерах.
JavaScript, язык для веб-страниц — Quintagroup
Создание веб-страницы требует знания нескольких языков программирования: HTML или XHTML для контента, CSS для дизайна. С этими двумя языками веб-страницы будут статичными и доступными с любого устройства, которое вы используете для просмотра страницы. Самым большим недостатком этой ситуации является взаимодействие между пользователем и страницей. Пользователь должен ждать загрузки новой страницы каждый раз, когда он заполняет форму. JavaScript делает веб-страницу более живой, позволяя реагировать на действия пользователя без необходимости перезагрузки страницы.
Разработка JavaScript
JavaScript был разработан Бренданом Эйком из Netscape. Его ключевыми моментами, которые понравились как профессионалам, так и новичкам, были: легкость и простота. Первоначально язык назывался LiveScript во время выпуска в 1995 году. Позднее название было изменено на JavaScript.
Такой выбор названия был хорошо продуманным маркетинговым ходом. Хотя JavaScript не имеет почти ничего общего с Java, последняя набирала популярность, и Netscape решила добавить немного путаницы и внимания к своему новому продукту.
Этот интерпретируемый язык для веб-страниц очень быстро завоевал популярность. В 1996 году Microsoft представила поддержку JavaScript в своем веб-браузере Internet Explorer версии 3. 0. Реализация Microsoft была названа JScript.
В настоящее время JavaScript является частью корпорации Oracle.
Создание с помощью JavaScript
JavaScript — это структурированный и динамический язык сценариев. Базовый синтаксис намеренно сделан похожим на C++ и Java, чтобы облегчить процесс обучения профессионалам и новичкам.
JavaScript является одновременно объектно-ориентированным и процедурным языком. После того, как объект построен, его можно использовать в качестве прототипа для создания подобного объекта. Создание объектов во время выполнения, динамическое создание сценариев и восстановление исходного кода делают JavaScript более динамичным.
JavaScript реализован как часть веб-браузеров, что позволяет взаимодействовать с пользователем и изменять отображаемый контент. Но это не только однонаправленный язык. Игры, десктопные приложения и серверное программирование используют JavaScript в своей разработке.
Вспомогательные продукты
Для улучшения структуры или дизайна разработчики JavaScript могут использовать дополнительные веб-фреймворки и библиотеки: Vue. JSСоздавайте адаптивные, достоверные и хорошо структурированные проекты с помощью Vue.JS в основе.
Создание пользовательских интерфейсов с помощью ReactJSReact.js — это библиотека JavaScript для создания пользовательских интерфейсов
Protractor: протестируйте AngularJS с точки зрения пользователяKarma — это простой и легкий инструмент для запуска тестов с открытым исходным кодом для JavaScript. Он хорошо подходит для тестирования кода AngularJS или любых других проектов JavaScript.
Используйте Modernizr для создания передовых веб-сайтовModernizr — это небольшая библиотека JavaScript с открытым исходным кодом, предназначенная для определения доступности собственных реализаций функций HTML5 и CSS3.
PouchDB — карманная база данных, которая синхронизируетPouchDB — это бесплатная база данных с открытым исходным кодом, предназначенная для работы в браузере и в автономном режиме. Он был написан на JavaScript и вдохновлен Apache CouchDB.
Ионный каркасIonic — это фреймворк с открытым исходным кодом для разработки гибридных мобильных приложений. Это позволяет использовать известные веб-технологии, такие как HTML, CSS и JavaScript, Sass и AngularJS.
MediaElement.jsTimelineJS — это инструмент визуализации для построения интерактивных временных шкал.
простая корзина (js)JavaScript-решение для электронной коммерции, которое интегрирует корзину покупок с вашим веб-сайтом
Dygraphs. js для визуализации данныхDygraphs — это библиотека JavaScript с открытым исходным кодом, которая создает интерактивные масштабируемые диаграммы временных рядов.
Сотрудничать легко с TogetherJSTogetherJS — это бесплатная библиотека JavaScript с открытым исходным кодом на основе HTML5, которая добавляет инструменты для совместной работы на ваш веб-сайт. Основные функции: зеркальное отображение курсора, совместный просмотр, совместное присутствие, текстовый и голосовой чат и т. д. Используйте коллективный.js.togetherjs для интеграции библиотеки на ваш веб-сайт Plone.
Используйте Highslide JS для просмотра изображенийGridster.js — это плагин jQuery, который позволяет создавать интуитивно понятные макеты с помощью перетаскивания. Элементы могут охватывать несколько столбцов, и их можно динамически и в любое время переупорядочивать, добавлять и/или удалять из сетки. коллектив.гридлеты интегрирует Gridster.js в Plone.
D3.js оживляет данные с помощью HTML, SVG и CSSD3.js (Data-Driven Documents) — это библиотека JavaScript для управления документами на основе данных. Он обеспечивает визуализацию данных в вычислениях, совместимых с W3C, применяя HTML5, JavaScript, CSS3 и SVG и сочетая мощные компоненты визуализации с управляемым данными подходом к манипулированию DOM. D3 можно интегрировать в Plone CMS с помощью пакета collect.js.d3.
JavaScript в 25 лет: язык программирования, который заставляет мир вращаться
Язык программирования JavaScript появился 25 лет назад и стал одним из самых важных элементов веб-приложений и браузерных приложений, которые мы используем сегодня.
JavaScript — популярный язык для фронтенд-разработки. Он породил Typescript от Microsoft, надмножество JavaScript с более сильной опциональной системой типов для разработчиков, которая компилируется в JavaScript при запуске в браузере.
шпаргалка techrepublic
- Как стать разработчиком: зарплаты, навыки и лучшие языки для изучения
Как JavaScript, так и TypeScript соответствуют ECMAScript, стандарту для JavaScript и node.js, среды выполнения для запуска приложений вне браузера благодаря мощному движку Google V8 JavaScript.
ПОСМОТРЕТЬ: Познакомьтесь с хакерами, которые зарабатывают миллионы на спасении Интернета, по одному багу за раз (обложка PDF) (TechRepublic)
Влияние JavaScript на Интернет невозможно недооценить. Технологические гиганты вложили свой вес в поддержку языка. Помимо Google V8, существуют проекты с открытым исходным кодом, такие как React от Facebook и Angular от Google, которые помогают распространять веб-приложения на смартфонах и настольных компьютерах.
После того, как Netscape и Sun Microsystems, где в мае 1995 года Джеймс Гослинг вывел Java, анонсировали JavaScript в декабре 1995 года, Microsoft продвигала Visual Basic (VB) в качестве стандарта для создания веб-приложений с использованием VB Script для своего браузера Internet Explorer. В 2008 году Oracle купила Sun Microsystems, главным образом для того, чтобы заполучить Java и ее огромную экосистему разработки.
Наиболее важным разработчиком JavaScript является Брендан Эйх, соучредитель производителя Firefox Mozilla, а ныне руководитель Brave, одного из многих браузеров, основанных на проекте Chromium, возглавляемом Google. Эйх работал в Netscape в 1995 году, когда создал Unix-версию Mocha, предшественника JavaScript.
Первоначально JavaScript задумывался как «дополнительный язык сценариев Java», где все сложные задачи программирования будут выполняться с помощью апплетов Java, по словам Эйха. Но Эйх говорит, что вскоре веб-разработчики поняли, что им нужен только JavaScript.
В настоящее время JavaScript является самым популярным языком программирования в мире и наиболее широко используемым языком в проектах с открытым исходным кодом, размещенных на принадлежащем Microsoft сайте для совместной разработки кода GitHub, в то время как популярность Java идет на убыль.
Но будущее JavaScript не всегда было таким определенным, как сегодня.
Кори Хаус, преподаватель JavaScript на сайте обучения разработчиков Pluralsight, вспоминает, что было неясно, станет ли JavaScript популярным.
«Он был написан за несколько дней и изначально предлагался только в одном браузере. Первый браузер Microsoft поставлялся с собственной разновидностью JavaScript под названием JScript. Сегодня JavaScript заставляет мир вращаться. Он работает на каждом компьютере. Каждый телефон. Телевизоры. Даже некоторые бытовые приборы. Огромная часть человечества использует JavaScript каждый день, даже не осознавая этого», — сказал Хаус.
«Вы можете программировать в объектно-ориентированном или функциональном стиле. И поскольку JavaScript имеет синтаксис, подобный C, он кажется знакомым людям, которые работали с другими языками, подобными C. JavaScript остается «вечным», постоянно охватывая хорошие идеи. с других языков», — добавляет он.
Джонатан Миллс, другой автор Pluralsight, отмечает, что JavaScript больше не поддерживается браузером.
«Теперь JavaScript превратился в огромную экосистему, которая оказывает влияние на все области разработки программного обеспечения, — сказал он.
Популярность TypeScript от Microsoft на GitHub выросла благодаря существованию более крупных проектов на основе JavaScript, но он также может быть вытеснен новыми технологиями, поступающими через Web Assembly, спецификацию и язык, которые обрабатываются Консорциумом World Wide Web (W3C) .