История создания Javascript
Brendan Eich (создатель языка JavaScript) между делом пишет о том, как язык создавался, и почему он такой, какой есть.
JS был обязан «выглядеть как Java», только поменьше, быть эдаким младшим братом-тупицей для Java. Кроме того, он должен был быть написан за 10 дней, а иначе мы бы имели что-то похуже JS.
…
что-то вроде PHP, только еще хуже. Его босс Netcsape быстро «зарубил» (в июле 1995, если мне не изменяет память; я сдлелал JS в начале/середине мая), т.к. это был уже третий язык после Java и JS. Было и так трудно обосновать то, что у нас 2 новых языка программирования для web.
…
В то время мы должны были двигаться очень быстро, т.к. знали, что Microsoft идет за нами.
…
Считайте, что JavaScript (пожалуйста, только не «JScript») спас вас от VBScript.
…
10 дней на то, чтобы сделать лексер, парсер, компилятор в байткод (bytecode emitter), интерпретатор, встроенные классы и декомпилятор. Помощь была только с файлом jsdate.c — от Ken Smith из Netscape (который, по нашему излишне оптимистичному соглашению, склонировал java.util.Date — Y2K баги и т.д. Гослинг. ).
Простите, времени было мало для того, чтобы сделать правильную оптимизацию хвостовой рекурсии. 10 дней почти без сна, чтобы сделать JS с чистого листа, заставить его «выглядеть как Java» (я сделал, чтобы он выглядел как C), и тайком протащить туда его спасительные фишки: first class functions (замыкания сделал позже, но они были частью плана сразу) и прототипы (примерно как в языке Self).
I’ll do better in the next life.
Язык программирования JavaScript: история, особенности, перспективы
Язык программирования JavaScript пользуется довольно высокой популярностью сегодня. Связано это с тем, что его можно использовать как для создания динамичности статических веб страниц, так и для написания полноценных приложений SPA и даже компьютерных игр. Правда, последнее сегодня реже встречается ввиду того, что игры пишутся на других языках.
Немного истории
Первые предпосылки для появления этого языка появились еще в 1992 году, когда была начата разработка скриптового встраиваемого языка Cmm (Си минус минус). Позже он был переименован в ScriptEase, так как название Си минус минус имело негативный оттенок. В целом. Перед тем, как язык обрел свое современное имя, его название менялось еще несколько раз.
В 1995 году Брендан Эйх получил задачу внедрить язык программирования в браузер Netscape. Изначально язык назывался Mocha, затем LiveScript. Наконец, он получил свое современное имя – JavaScript. Здесь разработчики пошли на хитрость. В то время, когда они занимались улучшением LiveScript, довольно большой популярностью пользовался язык Java. Для того, чтобы привлечь больше разработчиков для работы с новым языком, было решено использовать в его названии Java. В итоге получился JavaScript.
Последняя на сегодняшний день версия языка ES6 вышла в 2015 году. С ее появлением язык обрел вторую жизнь. Появились новые стандарты, а также возможность работы с константами. Претерпел изменения и сам код. Язык придерживается принципа сокращения кода при большей функциональности.
Особенности языка JS
К основным особенностям этого языка программирования относятся:
- Динамическая типизация. То есть тип данных будет определяться только тогда, когда переменной или const будет присваиваться ее значение.
- Гибкая работа с функциями. В JS функции можно не только выполнять, но еще и возвращать функции из функций, передавать функции в качестве параметров другим функциями и присваивать функции в качестве значения переменных.
- JavaScript поддерживается всеми современным браузерами.
- Объектно-ориентированное программирование. То есть это такая методология программирования, в которой вся программа представляется в виде совокупности объектов.
Помимо этого, важной особенностью JavaScript является его развитая инфраструктура. На сегодняшний день разработчики могут работать с большим количеством библиотек и фреймворков (наиболее популярными из них являются React, Angular и Vue), несколькими сборщиками, вспомогательными библиотеками (например, Lodash) и генераторами статических сайтов.
Что касается сфер применения, в первую очередь, язык JavaScript широко используется в веб-разработке. Причем работает он в сочетании с HTML и CSS. С помощью JS можно создавать любые браузерные приложения. Например, калькулятор расчета кредита, который можно видеть на сайтах большинства банков, также создан с помощью JavaScript.
Причем вся визуальная часть этого калькулятора – это сочетание HTML+CSS. То есть кнопки, диаграммы, ползунки – это статические элементы. С помощью JS все то анимируется, а также проводятся все основные расчеты.
Еще один пример – форма подписки или регистрации. Она создана на HTML+CSS. Однако взаимодействие с сервером обеспечивается именно благодаря JS. Помимо этого, на языке JavaScript можно создавать следующие программы и приложения:
- Разработка программного обеспечения для мобильных устройств (с помощью React Native).
- Разработка серверных решений с помощью Node.js.
- Создание десктопных приложений. JS используется, например, в приложениях, созданных компанией Adobe.
- Программирование бытовой техники и платежных терминалов.
Пример кода на JavaScript
Для того, чтобы оценить все прелести этого языка программирования, приведем простой пример кода на JS:
Что делает эта строка? С ее помощью вы сможете в консоли браузера или среды разработки вывести надпись «Привет, мир!». Как видно, это очень простое решение, требующее всего одной строки кода. Такая простота отличает JS от многих других языков программирования, в которых для вывода этой надписи потребуется больше кода.
Преимущества и недостатки JS
Популярность JavaScript обусловлена множеством факторов, в том числе большим количеством преимуществ, к которым относятся:
- Незаменимость при разработке веб сайтов и приложений. Как уже отмечалось выше, JS поддерживается всеми современными браузерами. Причем язык легко интегрируется с версткой и сервером.
- Высокая скорость работы и производительность. Этот язык позволяет частично обрабатывать веб страницы на стороне пользователя. Это позволяет тратить меньше времени на открытие, а также снижает нагрузку на серверы.
- Большое количество инструментов и богатая инфраструктура. Если в первое время многие работали исключительно с самим языком, сегодня благодаря наличию множества библиотек, появились удобные и доступные для всех инструменты.
- Относительная простота. Написание программ занимает обычно меньше времени. При этом, объем кода также обычно меньше, в сравнении со многими другими языками.
- Широкие возможности для веб-страниц. С помощью JS вы можете оживить любую страницу в сети Интернет. Помимо этого, JS значительно повышает уровень юзабилити приложений и сайтов.
- Относительная легкость изучения. Начать учиться JS можно даже тем, кто вообще до этого не сталкивался с программированием. Причем визуализация многих действий прибавляет обучающимся энтузиазма.
Что касается недостатков, к ним можно отнести следующие моменты:
- Отсутствует возможность загрузки и чтения файлов.
- Нестрогая типизация. Все недостатки кода выявляются на этапе работы программы, что может быть неудобно в ряде случаев. К тому же, нестыковки, которые могут быть в коде JS игнорируются самим языком.
- Уровень безопасности. В такой язык программирования как JS достаточно просто внедрить вредоносный код.
Перспективы
Насколько вообще JS интересен будущим программистам с точки зрения перспектив? Стоит ли начинать его изучение ребенку? На самом деле, этот язык постоянно развивается и внедряются новые решения. Большое количество библиотек говорит о том, что JS сегодня очень популярен. И это вполне объяснимо.
Сегодня каждая компания хочет быть представлена в сети Интернет. Причем готовые шаблоны сайтов мало кого интересуют. Поэтому верстку и программирование доверяют программистам. И это далеко не все.
С помощью JS можно написать любые веб приложения. А это значительно повышает спрос на программистов, владеющих этим языком. И если посмотреть отечественные сайты с вакансиями, предложений по работе именно для JavaScript разработчиков на данный момент больше, чем для тех, кто программирует на Java или 1С.
В ближайшем будущем JS скорее всего останется основным языком разработки веб-приложений и сайтов. И еще один важный момент. В последнее время растет популярность так называемых прогрессивных приложений, которые совмещают в себе сайт и, собственно, само приложение. И все это также разрабатывается с помощью JS.
Наконец, даже если со временем популярность JavaScript снизится, всегда можно переучиться на другой язык программирования. Те, кто занимаются разработкой, все равно постоянно находятся в учебном процессе. Например, появление новой библиотеки для JavaScript требует определенного времени на ее изучение. Для программиста не составит труда выучить другой язык, зная основные принципы программирования.
Еще можно почитать
Самые востребованные специальности 21 века