Язык программирования javascript история создания

Краткая история JavaScript. Часть 1

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

Краткая история JavaScript. Часть 2

ECMAScript 1 и 2: на пути к стандартизации

Соперничество Netscape и Mosaic, грёзы об интерактивном вебе, язык программирования для не-программистов, переход от классов к прототипам и что общего между JavaScript и ECMAScript (спойлер: всё).

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

Все началось в 90-е

События, в результате которых появился JavaScript, разворачивались в течение шести месяцев, с мая по декабрь 1995 года. Компания Netscape Communications уверенно прокладывала себе путь в области веб-технологий. Её браузер Netscape Communicator успешно отвоевывал позиции у NCSA Mosaic, первого популярного веб-браузера. Netscape была создана людьми, принимавшими участие в разработке Mosaic в ранние 90-е. Теперь, с деньгами и независимостью, у них было всё необходимое для поиска способов дальнейшего развития веб-технологий. Именно это послужило толчком для рождения JavaScript.

Основатель Netscape Communications и бывший участник команды Mosaic Марк Андриссен считал, что веб должен стать более динамичным. Анимации, взаимодействие с пользователями и другие виды интерактивности должны стать неотъемлемой частью интернета будущего. Веб нуждался в лёгком скриптовом языке (или языке сценариев — прим.ред.), способном работать с DOM, который в те дни не был стандартизирован. Существовало одно «но», являвшееся на тот момент серьёзным вызовом: этот язык не должен был предназначаться для крупных разработчиков и прочих людей, имевших отношение к инженерной стороне вопроса. Java в те дни уже активно развивалась и твёрдо заняла эту нишу. Таким образом, новый скриптовый язык должен был предназначаться для совершенно иной аудитории — дизайнеров. Очевидно, что веб был статичным, а HTML был достаточно молод и прост в освоении даже для тех, кто не имел ничего общего с программированием. Следовательно, всё, что должно было стать частью браузера и сделать веб более динамичным, должно быть максимально понятным для далёких от программирования людей. Из этого предположения родилась идея Mocha, который должен был стать тем самым простым, динамичным и доступным скриптовым языком.

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

И тут в нашей истории появляется Брендан Айк, отец JavaScript. Айк должен был разработать для Netscape «Scheme для браузера». Scheme — это динамичный, мощный и функциональный диалект языка программирования Lisp с максимально упрощённым синтаксисом. Вебу требовалось что-то подобное: простое в освоении, динамичное, немногословное и мощное. Айк не стал упускать шанса поработать над тем, что ему нравилось, и присоединился к команде.

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

Перед командой была поставлена задача подготовить работающий прототип в кратчайшие сроки. Sun Microsystems заканчивала работу над своим языком программирования Java, на тот момент называвшимся Oak, и Netscape Communications была уже готова заключить с компанией контракт, чтобы сделать Java доступным в своем браузере. Так зачем же понадобился Mocha (первое название JavaScript)? Зачем нужно было создавать абсолютно новый язык программирования при наличии готовой альтернативы? Дело в том, что Java не был предназначен для той аудитории, на которую ориентировался Mocha — скриптеры, любители, дизайнеры. Java был слишком большим и навороченным для того, чтобы выполнять эту роль. Основная идея заключалась в том, что Java должен был предназначаться для крупных разработчиков и профессиональных программистов, в то время, как Mocha должен был использоваться для небольших скриптовых задач. Другими словами, Mocha должен был стать скриптовым компаньоном для Java по принципу, аналогичному тому, как взаимодействуют C/C++ и Visual Basic на платформе Windows.

Инженеры Netscape приступили к детальному изучению Java. Они даже начали разрабатывать собственную виртуальную машину Java, однако проект быстро свернули, так как она не могла достичь идеальной совместимости с виртуальной машиной Sun Microsystems.

Проблема скорейшего выбора языка стояла как никогда остро. Возможными кандидатами были Python, Tcl и Scheme. Айк должен был действовать быстро. По сравнению с конкурентами у него были два преимущества: свобода в определении набора необходимых возможностей и прямая связь с заказчиком. К несчастью, имело место и очевидное неудобство: для принятия огромного количества важных решений времени практически не было. JavaScript, a.k.a. Mocha, был рождён именно в таких условиях. В течение нескольких недель был подготовлен рабочий прототип, который затем был интегрирован в Netscape Communicator.

То, что должно было стать аналогом Scheme для браузера, вылилось в нечто совершенно иное. Рукой Айка управляли необходимость закрыть сделку с Sun и сделать Mocha скриптовым компаньоном для Java. Синтаксис должен был быть максимально близким Java. Помимо этого, от Java была унаследована семантика для большого количества устоявшихся идиом. Таким образом, Mocha был совсем не похож на Scheme. Он выглядел, как динамический Java, под оболочкой которого скрывался гибрид Scheme и Self.

Прототип Mocha был интегрирован в Netscape Communicator в мае 1995 года. Через очень короткий промежуток времени он был переименован в LiveScript, так как в тот момент слово live выглядело очень привлекательным с точки зрения маркетологов. В декабре 1995 года сделка между Netscape Communications и Sun была закрыта: Mocha/LiveScript был переименован в JavaScript и преподносился в качестве скриптового языка для выполнения небольших клиентских задач в браузере, в то время, как Java был полноценным профессиональным языком программирования для разработки сложных веб-компонентов.

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

Трудно сказать, как развивались бы события, если бы Айк не успел предоставить рабочий прототип вовремя. Python, Tcl, Scheme, рассматривавшиеся в качестве альтернативы, были совершенно не похожи на Java. Sun было бы трудно принять в качестве языка-компаньона для Java варианты, в корне отличавшиеся от него. С другой стороны, Java долгое время был важной частью веба. Если бы Sun не являлись определяющим фактором, у Netscape было бы намного больше свободы в выборе языка. Но стала бы Netscape разрабатывать собственный язык или воспользовалась одним из существующих? Этого мы никогда не узнаем.

Различные реализации

Когда Sun и Netscape закрыли сделку, и Mocha/LiveScript был переименован в JavaScript, встал ребром очень важный вопрос: что будет с конкурентами? Хоть Netscape и набирал популярность, становясь самым используемым браузером, Microsoft занималась активной разработкой Internet Explorer. С самых первых дней JavaScript показал настолько удивительные возможности в плане взаимодействия с пользователем, что соперничающим браузерам не оставалось ничего иного, кроме как в кратчайшие сроки найти готовые решения, представлявшие собой рабочие реализации JavaScript. В тот момент (и ещё достаточно долго после этого) веб-стандарты оставались достаточно слабыми. Поэтому Microsoft разработала свою реализацию JavaScript, назвав ее JScript. Убрав из названия слово Java, они смогли избежать возможных проблем с владельцами торговой марки. Однако, JScript отличался не только названием. Небольшие различия в реализации — в частности, подход к некоторым DOM функциям — оставили рябь, которая будет ощущаться ещё долгие годы. Бои за JavaScript шли на гораздо большем количестве фронтов, чем названия и таймлайны, и многие причуды этого языка появились благодаря им. Первая версия JScript появилась в Internet Explorer 3.0, увидевшем свет в августе 1996 года.

Реализация JavaScript получила свое собственное название и в Netscape. Версия, выпущенная вместе с Netscape Navigator 2.0, была известна, как Mocha. Осенью 1996 года Айк переписал бóльшую часть Mocha, чтобы разобраться с техническими огрехами и недоработками, возникшими, как следствие спешки при разработке. Новая версия была названа SpiderMonkey. Это название используется по сей день в JavaScript-движке браузера Firefox, внука Netscape Navigator.

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

Основные особенности архитектуры

Несмотря на то, что JavaScript был рождён в спешке, некоторые мощные особенности были заложены в нём с самого начала. Эти особенности определяли JavaScript как язык и позволили ему перерасти собственные границы, несмотря на все его причуды.

«Решение использовать готовый язык вместо изобретения своего никаким образом не зависело от меня. Установка, поступившая с самых верхов, звучала так: “Язык должен выглядеть как Java”. Это сразу отбросило Perl, Python и Tcl вместе со Scheme. Позже, в 1996 году, к нам зашёл Джон Оустерхаут, чтобы показать Tk и посокрушаться по поводу упущенной возможности для Tcl. Я не горжусь, но я счастлив, что я выбрал в качестве основных ингредиентов функции первого класса по подобию Scheme и прототипное программирование Self. Влияние Java, особенно баги с датами в 2000 году и чувствительность к регистру, стало досадным недоразумением.» — Brendan Eich’s blog: Popularity

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

Источник

Язык программирования JavaScript: история, особенности, перспективы

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

Первые предпосылки для появления этого языка появились еще в 1992 году, когда была начата разработка скриптового встраиваемого языка Cmm (Си минус минус). Позже он был переименован в ScriptEase, так как название Си минус минус имело негативный оттенок. В целом. Перед тем, как язык обрел свое современное имя, его название менялось еще несколько раз.

В 1995 году Брендан Эйх получил задачу внедрить язык программирования в браузер Netscape. Изначально язык назывался Mocha, затем LiveScript. Наконец, он получил свое современное имя – JavaScript. Здесь разработчики пошли на хитрость. В то время, когда они занимались улучшением LiveScript, довольно большой популярностью пользовался язык Java. Для того, чтобы привлечь больше разработчиков для работы с новым языком, было решено использовать в его названии Java. В итоге получился JavaScript.

Последняя на сегодняшний день версия языка ES6 вышла в 2015 году. С ее появлением язык обрел вторую жизнь. Появились новые стандарты, а также возможность работы с константами. Претерпел изменения и сам код. Язык придерживается принципа сокращения кода при большей функциональности.

К основным особенностям этого языка программирования относятся:

Помимо этого, важной особенностью JavaScript является его развитая инфраструктура. На сегодняшний день разработчики могут работать с большим количеством библиотек и фреймворков (наиболее популярными из них являются React, Angular и Vue), несколькими сборщиками, вспомогательными библиотеками (например, Lodash) и генераторами статических сайтов.

Что касается сфер применения, в первую очередь, язык JavaScript широко используется в веб-разработке. Причем работает он в сочетании с HTML и CSS. С помощью JS можно создавать любые браузерные приложения. Например, калькулятор расчета кредита, который можно видеть на сайтах большинства банков, также создан с помощью JavaScript.

Причем вся визуальная часть этого калькулятора – это сочетание HTML+CSS. То есть кнопки, диаграммы, ползунки – это статические элементы. С помощью JS все то анимируется, а также проводятся все основные расчеты.

Еще один пример – форма подписки или регистрации. Она создана на HTML+CSS. Однако взаимодействие с сервером обеспечивается именно благодаря JS. Помимо этого, на языке JavaScript можно создавать следующие программы и приложения:

Источник

Язык программирования Javascript: особенности и преимущества

Javascript существует уже четверть века. Срок внушительный для подобных технологий. За это время он прошёл большой путь, стал мощным инструментом IT-индустрии. По уровню популярности язык в группе лидеров. При этом он считается доступным для освоения, дружественным по отношению к новичкам. Рассмотрим его главные преимущества.

Само наименование Javascript появилось не сразу. Изначально язык назывался Mocha, затем появился термин Livescript. Это гораздо более ёмко отражало его суть. В то время в браузерах активно внедрялась поддержка нового, перспективного языка Java. Тогда и было решено переименовать Livescript в Javascript. Схожесть между языками есть, прежде всего, по синтаксису. Но по сути это очень разные инструменты.

В 2015 году вышла версия ES6 (ES2015). Это событие считается прорывом в развитии Javascript. Появились новые стандарты и возможности. Например – константы.

Код стал более рациональным, была реализована идея «пиши меньше – делай больше».

Javascript – динамический скриптовый язык программирования высокого уровня. Он отличается мультипарадигменностью. Речь идет о поддержке функционального, императивного, событийно-ориентированного стилей. Чаще всего язык используется для создания интерактивных веб-страниц и приложений.

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

PYPL (PopularitY of Programming Language). Авторитетный рейтинг, в его основе – данные крупнейшего поисковика Google SE. Javascript – в тройке лидеров.

Stack Overflow. Этот индекс анализирует количество вопросов по языкам и инструментам в профессиональных сообществах. Здесь Javascript уверенно занимает лидирующую позицию.

Именно в области Frontend задействовано огромное число наработок (компонентов), основанных на Javascript. Наиболее активно используется примерно 25-30 библиотек и фреймворков. Эти готовые шаблоны и решения для стандартных задач (с вариациями) существенно экономят время. Они упрощают процесс web-разработки, ускоряют его, снижая стоимость проектов. Самые популярные из них, пожалуй, следующие:

Javascript применяют также для создания мобильных приложений, в серверной (backend) разработке, в десктопных (например, офисных) программах. Мировой бум сайтостроения и тенденция к расширению интерактивности способствуют феноменальному росту востребованности языка.

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

Незаменимость для веб-разработки. Поддержка скриптов всеми популярными браузерами; полная интеграция с вёрсткой страниц (HTML+CSS) и серверной частью (backend).

Скорость работы и производительность. Javascript позволяет частично обрабатывать веб-страницы на компьютерах пользователя без запросов к серверу. Это экономит время и трафик, снижает нагрузку на сервер.

Мощная инфраструктура (экосистема). Первые 10 лет этого не было и в помине. Затем количество готовых решений в открытом доступе так возросло, что работать с Javascript и его фреймворками стало удовольствием.

Простота и рациональность применения. Простую задачку можно решить за 5 минут, не надо делать лишнюю работу. Для сложных заданий есть варианты решения, можно подобрать лучший, адаптировать.

Удобство пользовательских интерфейсов. Заполнение форм, выбор действий, активация кнопок, проверки ввода, реагирование на наведение / клики мыши и т.п Это даёт потрясающий уровень юзабилити.

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

Как любой язык программирования, Javascript имеет некоторые недостатки (ограничения).

Нет возможности чтения и загрузки файлов. Это ограничение функциональности на стороне клиента. Главная причина – соображения безопасности.

Нестрогая типизация и вольная трактовка. Язык игнорирует явные нестыковки. Имеет место разная интерпретация данных. Нет возможности раннего выявления ошибок. Все недочёты выявляются уже на этапе работы.

Нет поддержки удалённого доступа. Поэтому язык нельзя использовать для сетевых приложений. За это Javascript даже не считают полноценным языком программирования.

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

Надо отметить, что сообщество пользователей Javascript активно улучшает язык, устраняя многие недостатки. Узких мест становится всё меньше. Браузеры постоянно совершенствуют работу с JS. Выход HTML 5 дал новый толчок к расширению возможностей скриптов.

При выборе профессии web-программиста без Javascript не обойтись. Понадобятся также знания по HTML и CSS, эти инструменты обычно работают в связке. Быстрому освоению языка способствуют:

Онлайн-обучение – самая удобная и эффективная форма освоения Javascript. Можно начать с общей информации и наглядных примеров, которые очень впечатляют.

За 1 год при желании и старании реально стать специалистом начального уровня, а за 2-3 года обучения и практики дорасти до профессионала в области frontend-разработки.

Спрос на специалистов по Javascript превышает предложение, он постоянно растёт. Программисты нужны веб-студиям, крупным компаниям, есть вариант работать на фрилансе.

Рассмотрим ситуацию с вакансиями на примере крупного российского агентства по рекрутингу Head Hunter. Сделаем на сайте запрос с ключом «программист javascript». Результат:

Чтобы понять, много это или мало, сравним с другими популярными направлениями сферы IT.

На портале HH знатокам JS предлагается наибольшее количество вакансий. Другими словами, это лидер рынка труда по числу предложений для программистов. Вы в этом легко убедитесь. Работу можно найти даже начинающему специалисту, а опытному – тем более.

Труд программиста Javascript оплачивается очень достойно. Средний доход: 120-130 тысяч рублей в месяц при полной занятости. Даже новички зарабатывают от 50000. Конкретные примеры на том же портале HeadHunter.

Востребованность специалистов и высокая зарплата – ещё одно неоспоримое преимущество Javascript. Возможно, главное. И в обозримом будущем эта тенденция сохранится.

Причин для освоения Javascript достаточно. Во-первых, язык очень популярен и ещё долго будет занимать лидирующие позиции в web-разработке. Во вторых, JS динамично развивается, в открытом доступе огромная инфосистема: библиотеки, фреймворки, обучающие материалы. Это результат активности многочисленного профессионального сообщества.

В-третьих, язык достаточно прост для изучения. Срок входа в профессию: 1-2 года. И в-чётвёртых, карьерные перспективы весьма заманчивы. Спрос на программистов растёт, работодатели предлагают высокий уровень зарплаты, особенно опытным специалистам.

Учитывая всё вышеизложенное, можно смело утверждать: у Javascript множество весомых преимуществ. Вы сможете легко в этом убедиться.

М-да, хоть бы фактчекинг провели. Возможность чтения файлов есть. Вы не прочитаете произвольный файл из браузера, но это ограничение «песочницы», а не языка. Указанный пользователем файл прочитать можно. Если вы пишете серверный код на Node.js, то файлы вполне читаются через API и встроенные средства языка.

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

«Нет поддержки удалённого доступа» — я вообще не понял про что. Есть возможности сетевого подключения через вебсокеты. Есть возможности стриминга аудио и видео, даже аналог Скайпа или Зума можно сделать. «За это Javascript даже не считают полноценным языком программирования,» — кто? Впервые слышу такое.

«Доступность для злоумышленников.» Без комментариев. Интересно, какой язык считают недоступным для злоумышленников?

Источник

Как создавался JavaScript и особенности архитектуры

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

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

Начало разработки

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

События, предшествовавшие его появлению происходили в период с мая по декабрь 1995 года, когда компания Netscape продвигала себя в области интернет–технологий, благодаря своему браузеру Netscape Communicator, благополучно завоевывающему позиции у NCSA Mosaic.

Компания Netscape была создана группой энтузиастов, ранее работавшими в вышеупомянутой Mosaic. Команду объединяла общая идея по поиску решений в развитии интернета, именно это и стало толчком для создания JavaScript.

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

Глава компании Netscape Марк Андриссен считал, что Интернет должен быть более «живым» и обрести интерактивность для нового опыта взаимодействия пользователя с веб–сервисами. Большинство интернета было статичным, поэтому для реализации этой идеи было необходимо создания простого в освоении языка — компаньона, который бы был ориентирован на аудиторию дизайнеров и скриптеров–любителей.

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

Так появился скриптовый язык Mocha, встраиваемый в HTML–документы, позже переименованный в LiveScript, способный хоть как–то оживить статичные сайты придав им чуточку интерактивности. Таким образом кроме огромного вклада в развитие интернет–паутины Netscape значительно популяризировали собственный браузер Netscape Navigator, благодаря наличию поддержки LiveScript.

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

В то же время веб–инженеры компании Sun Microsystems были заняты разработкой языка Jаva (на тот момент Oak), несущего в себе схожий с LiveScript функционал возможностей разработки, правда в отличии от первого, Java был достаточно сложен в освоении, а структура кода была куда массивнее, сравните этот пример написанный на JS:

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

С этим примером написанным на Java:

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

И тут в нашей истории появляется Брендан Эйк, создатель JavaScript. Изначально задачей Брендана была разработка функционального диалекта программирования Scheme с максимально упрощенным синтаксисом при написании кода, берущим корни от языка программирования Lisp. Но Эйк не упустил возможности приложить руку к разработке не побоюсь этого слова революционного для своего времени языка программирования JavaScript, присоединившись к команде.

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

Перед её участниками была установлена задача разработать полностью функциональный прототип языка в сжатое время. Sun Microsystems уже завершали разработку собственного языка программирования Java, а Netscape уже были готовы заключить контракт с компанией, дабы встроить поддержку среды Java в свой браузер, но таким образом ставя под сомнение наличие поддержки собственного языка Mocha.

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

Так зачем же Netscape тратили множество ресурсов на разработку новой среды программирования при наличии полностью готовой, а в некоторых моментах более функциональной альтернативы? Дело в том, как я упоминал ранее Mocha (LiveScript, JavaScript) был ориентирован на непрофессиональную относительно программирования аудиторию, а именно на дизайнеров и кодеров–любителей, Java же наоборот был предназначен для профессионалов, в то время как Mocha должен был стать эдаким серым кардиналом и применяться для некрупных скриптовых задач в HTML.

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

И вот Netscape решили начать детальное изучение устройства синтаксиса Java, и даже начали разработку собственной виртуальной машины, но проект не обернулся, так как инженерам компании не удалось достичь должной совместимости с виртуальной средой Sun Microsystems.

Проблема выбора языка программирования обострялась нехваткой времени, претендентами были Python, Tcl и Scheme, Брендану требовалось принять решение как можно быстрее. На фоне конкурентов, у Эйка была пара преимуществ – он не был ограничен свободой и имел набор всех необходимых возможностей, в том числе и прямую связь со своим заказчиком.

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

Именно в таких ограниченных по времени условиях родился язык Mocha, или как он теперь называется – JavaScript. Всего за несколько дней уже был готов функционирующий прототип, чуть позже, в мае 1995 года оный был интегрирован в браузер Netscape Communicator. Вскоре Mocha был переименован в LiveScript, потому что слово Live в названии, по мнению маркетологов являлось более привлекательным и дружелюбным в отношении потенциальных пользователей.

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

Зимой 1995 года сделка среди компаний Netscape и Sun Communications была наконец завершена, и вот Mocha (LiveScript) снова был переименован, но уже в известный нам JavaScript, ориентированный для работы мелких задач в HTML–браузерах, а Java так и остался в нише профессиональных языков программирования и применялся в основном для разработки сложных веб–компонентов.

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

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

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

Теперь давайте рассмотрим особенности архитектуры языка.

Функции

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

Функции в JavaScript являются дополнительным типом объекта, с возможностью оперирования ими, как всеми остальными элементами в коде, возможностью привязки к переменным, а в более актуальных, то есть поздних версиях языка была добавлена возможность проброса исключения функции.

Для тех кто не знает, поясню, в JavaScript существует оператор try. catch, предназначенный для тех ситуаций, когда в скрипте была допущена ошибка. Обычно при такой «исключительной ситуации» происходит вывод данных об ошибке в консоль, но бывает такое, когда нам хотелось бы взять ситуацию под контроль, и чтобы написанный нами код не просто «упал», а сделал что–нибудь полезное.

Давайте рассмотрим вот такой код:

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

Ошибка, заложенная в него, запланирована через оператор setTimeout, в таком случае try. catch ее не распознает, так как на момент запуска функции код заложенный в setTimeout уже завершится, а интерпретатор покинет блок try. catch

Поэтому setTimeout и try. catch должны находиться в одной и той же функции, чтобы найти ошибку внутри неё. Такой особенностью, к слову JavaScript скорее всего обзавелся именно благодаря наработкам Scheme от Брендана Эйка.

Более подробно об основах языка вы можете узнать в этой статье:

Объектная система

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

В отличии от многих объектно–ориентированных языков программирования, по типу Java и C#, таковая система в JavaScript основывается не на классах, а на прототипах. Классы, о которых вы, возможно, знаете благодаря таким языкам, как например Java технически не реализованы в JS.

Общее построение иерархии объектов в коде базируется на последовательных цепочках, как раз на тех самых прототипах. Например оператору Object.prototype, может задаваться объект от которого все остальные объекты «наследуются».

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

Оператор может включать в себя такие методы как toString и valueOf. Основным преимуществом прототипной системы является гибкость в написании кода. На практике это выражается в том, что в JS функция–конструктор может определять начальный набор свойств и может добавлять или удалять свойства динамически, для всех, либо отдельно выбранных объектов.

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

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

Также на волне вдохновения огромное множество разработчиком подготовили собственные библиотеки с готовыми объектными моделями, так, например, самая известная библиотека Stampit, несет в себе все возможное что только можно представить при работе с объектами в JS.

Проблемы языка

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

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

Язык создавался в спешке, и это заметно, так, самой главной проблемой JS является то, что объекты несущие в себе абсолютно идентичный результат работы, могут быть различных типов. Рассмотрим такой код:

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

Тип первой строки не совпадает с типом нового объекта new String(‘Hello World’) и зачастую это приводит к печальным последствиям, которые могут сбить кодера с толку.

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

Как развивался браузер Netscape

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

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

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

Браузер, разрабатываемый известной нам командой Netscape, просуществовал с 1994 по 2007 год, и в период зарождения интернета, был эдаким Google Chrome своего времени.

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

Самый первый браузер увидел свет зимой 1990 года, создал его младший работник организации ядерных исследований Тим Бернерс–Ли, при помощи специализированной платформы конструирования программ, посему это не отняло у Тима много времени, на разработку ушло всего пара месяцев. И вот уже к завершению 1992 года кроме самого первого интернет–обозревателя WorldWideWeb на рынке начинает появляться множество иных, большая часть которых базировалась на библиотеке libwww.

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

А в 1993 году свет увидели Cello, Arena, Lynx, tkWWW и тот самый NCSA Mosaic, разработанный организацией National Center for Supercomputing Applications (сокращенно NCSA) для разных платформ. Уже в 1994 году пользовательский интерфейс браузера считался эталонным, и на него ориентировались практически все разработчики, а в 1995 году благодаря свободному распространению и бесплатному лицензированию движка для некоммерческих проектов, браузеры разработанные на Mosaic, включая его самого доминировали в сети.

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

Для тех кто не знает, должен сказать, что для работы над дефолтным браузером Internet Explorer в Windows 95, Microsoft купила лицензию Mosaic. В 1995 году для свободной инсталляции в сети появилась вторая ревизия веб–обозревателя Internet Explorer. В итоге вышло так, что доминантами в сети стали Netscape Navigator и Internet Explorer, в дальнейшем оба браузера стали очень серьезно конкурировать, пытаясь обскокать друг друга, попутно принося огромную пользу развивающемуся интернету.

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

Одни из самых первых бета–версий браузера были опубликованы в 1994 году, на этот момент разработка браузера от Netscape предоставляла самый большой спектр функционала пользователям, что обеспечило безукоризненный успех, рост популярности и, как следствие, лидерство в своей нише.

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

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

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

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

Третья версия самого популярного на тот момент времени браузера содержала встроенный HTML–редактор Netscape Composer для отладки и веб–разработки, его наличием компании удалось расширить в несколько раз аудиторию пользователей. Кроме всего появилась возможность кастомизации интерфейса, с помощью специальных плагинов. Этот выпуск серьезно отличался от предыдущего, но такие возможности как регулярные выражения, исключения и JSON еще не были доступны.

Заключение

Язык программирования javascript история создания. Смотреть фото Язык программирования javascript история создания. Смотреть картинку Язык программирования javascript история создания. Картинка про Язык программирования javascript история создания. Фото Язык программирования javascript история создания

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *