Язык программирования JavaScript
Чтобы найти информацию в интернете, вы открываете поисковик, вводите запрос в специальное поле и нажимаете кнопку «Поиск». Возможно, поисковая строка даже попыталась угадать, что вы хотите найти. Любые интерактивные действия, которые вы делаете в интернете, в основном возможны благодаря JavaScript. В этой статье простыми словами объясним, что такое JavaScript, для чего нужен и что на нём пишут.
· Обновлено 29 декабря 2022
Что за JavaScript?
JavaScript (сокращённо JS) — это язык программирования, созданный для интернета.
Дело в том, что любой сайт, который вы открываете в своём браузере, — это обыкновенный текстовый документ.
В середине 90-х компании захотели не только рекламировать товары и услуги, но и продавать их через интернет, в том числе и обеспечивать электронные банковские транзакции, а для всего этого нужно было сделать текстовые документы интерактивными. То есть люди хотели взаимодействовать с веб-сайтами, а не только находить в них информацию.
Именно он позволил расширить границы возможного и в десятки раз упростил обмен информацией — за счёт этого появились, в частности, форумы и социальные сети.
Сейчас JavaScript — это царь электронной коммерции, онлайн-банкинга, браузерных игр, видеостриминга, 2D- и 3D-анимации в интернете, онлайн-карт, социальных сетей и прочих сервисов, которые прочно вошли в нашу жизнь.
JavaScript — это «третий кит» технологий, которые сделали современный интернет таким, каким мы его знаем, наряду с HTML и CSS.
Не путайте JavaScript с Java. Это разные языки программирования. Просто 20 лет назад Java был у всех на слуху и маркетологи решили, что JavaScript будет звучать лучше, чем Mocha или LiveScript.
Получай лайфхаки, статьи, видео и чек-листы по обучению на почту
А он пользуется спросом?
По данным исследований сервисов для программистов Stackoverflow и GitHub, JavaScript — это самая популярная технология в мире уже много лет подряд!
Дело в том, что у JS относительно низкий порог входа, и он выполняется прямо в браузере. А ещё его популярность обеспечена наиболее легкодоступной нишей использования — он максимально «близок к народу».
Это значит, что вы сможете найти работу, если знаете язык программирования JavaScript, где бы вы ни были.
Кроме того, большая популярность дарит нам внушительное комьюнити — общество единомышленников, у которых можно попросить помощи или подсмотреть какие-то решения.
Но такая мощь накладывает и большую ответственность — конкуренция на рынке труда тоже неслабая.
Для чего нужен JavaScript?
Изначально JavaScript создавался для браузеров. Он был призван сделать веб-страницы более отзывчивыми для пользователя, более функциональными для коммерческих компаний, и более важными для человечества в целом. JavaScript выполнялся только на стороне клиента (браузеров) и был узкоспециализированным, пока в 2009 году не вышел Node.js — серверная платформа для работы с JavaScript. Благодаря ему JavaScript можно запустить теперь хоть в кофеварке. ☕
Иными словами, JavaScript не просто стал всесильным в теории, но и на практике ворвался в список серверных языков программирования, таких как PHP, Python, Ruby, Go, C#, Java, и по сей день только наращивает позиции. Его используют известные компании: NASA, Netflix, PayPal, Twitter, LinkedIn, Uber, eBay и многие другие.
Кроме веб-разработки, с помощью Node.js развивают сферу IoT (англ. Internet of Things — интернет вещей), создают умные дома и программируют микроконтроллеры.
А если взять фреймворк Electron, то можно создать десктопное приложение под Windows, macOS или Linux с помощью веб-технологий. Этот фреймворк довольно молодой, но с помощью него создали, например, Skype для Linux и мессенджер Slack.
А что насчёт мобильной разработки? И тут JavaScript на коне рынке — с помощью React Native обыкновенный фронтендер может создать полноценное Android-приложение.
Как видно, сфера применения JavaScript стала весьма широкой. Человечество активно стремится к концепции одного языка программирования для всего, и JavaScript в списке первых претендентов на эту роль.
Плюсы и минусы языка
JavaScript — язык с особенностями. У него много достоинств, но хватает и недостатков. Тем не менее все они субъективны. В мире разработки важно понимать, что язык программирования — это лишь инструмент. Все языки программирования создавались под конкретные классы задач, и вполне нормально, что они хороши именно в них и плохи в других. Никто же не будет ругать дрель за то, что ею неудобно забивать гвозди?
Так что в этом разделе речь пойдёт скорее об особенностях JavaScript. Перечисленные здесь достоинства могут быть для кого-то недостатками — и наоборот.
Обычно к достоинствам JavaScript причисляют следующее:
- Это мультипарадигменный язык программирования, то есть на нём удобно писать как в объектно-ориентированном, так и в функциональном стиле.
- Легко встраивается в веб-страницу.
- Относительно простой синтаксис.
- Запускается во всех браузерах.
- Динамически типизируемый — вам почти не нужно думать о типах данных, JavaScript делает это сам.
- Динамически компилируемый, а значит, работает быстрее любого интерпретируемого языка программирования, например Python.
- Имеет автоматический сборщик мусора — думать о неэффективном использовании памяти нужно гораздо меньше, чем, например, в С++.
Те, кто критикует JavaScript, часто приводят такие доводы:
- Нет встроенной возможности работать с файловой системой компьютера.
- Динамическая слабая типизация — в больших, долгосрочных проектах это мешает и увеличивает затраты на поддержку приложения.
- Сам язык до сих пор не доработан до конца, у него есть некоторые нелогичные особенности поведения, которых нет в других языках программирования, но и исправить многие из них уже нет возможности.
Важно понимать, что как достоинства, так и недостатки являются лишь аргументами при выборе технологии для решения задачи. Некоторые из недостатков, например слабую типизацию, решили с помощью вспомогательных инструментов. Например, для того чтобы использовать JavaScript со строгой типизацией, компания Microsoft в 2012 году выпустила TypeScript — язык, который транспилируется (переводится) в JavaScript. Вы пишете на языке программирования со строгой типизацией, а на этапе сборки проекта он превращается в JavaScript. А невозможность работы с файловой системой нивелируется платформой Node.js.
Сравнение с другими ЯП
Мы разобрались с тем, что пишут на JavaScript, и отсюда можно сделать вывод, что JavaScript — монополист в своём сегменте. И в том, что касается фронтенд-разработки, — так оно и есть. JavaScript — это по-прежнему единственный язык программирования для выполнения в браузере. Только на JavaScript можно создать веб-приложения, такие как Google Docs, Figma и прочие онлайн-инструменты, где вся логика работает прямо в браузере.
Технически веб-сайт возможно сделать на любом языке программирования, хоть на Assembly. Но уровень квалификации для этого нужен несравненно больший, как и затраченное для этого количество времени.
Поэтому если и сравнивать JS с другими языками программирования, то только в контексте серверной разработки.
Серверных языков довольно много, поэтому мы возьмём только самые популярные в 2022 году: Python и С#.
JS vs Python
Мы уже рассказывали подробно про преимущества и недостатки Python. Но если кратко, то у Python и JavaScript много общего:
- Оба — языки программирования общего назначения.
- Это интерпретируемые языки программирования, для работы каждого из них на компьютере должен быть установлен интерпретатор — программа для выполнения кода; у JS им является браузер.
- Как и JavaScript, Python имеет слабую динамическую типизацию.
- Оба языка очень популярны ввиду простоты использования (синтаксис Python проще, чем у JavaScript).
- И у первого, и у второго огромное комьюнити, создавшее большое количество библиотек для всего, что только можно представить и автоматизировать.
- Оба высокоуровневые, скриптовые языки программирования.
- И Python, и JavaScript нужна платформа для бэкенд-разработки, например Django.
Но есть и значимые отличия между этими языками программирования:
- Python медленнее (хотя в версии 3.11 разработчики очень хорошо поработали над этим недостатком).
- Основная ниша Python — Data Science и научно-технический прогресс: нейронные сети, машинное зрение, искусственный интеллект и прочая работа с данными.
- Python пускают к железу значительно чаще. Это означает, что для программирования микроконтроллеров между JavaScript и Python выбирают последний, хоть это и не их стезя изначально.
- Python чаще выбирают в тех задачах, где нужна автоматизация бизнес-процесса.
JS vs C#
Название языка C# читается как «си шарп». Это детище компании Microsoft, наследник Java, взявший от него 90% функциональности. Изначально создавался для разработки десктопных приложений и игр под Windows. Но в последнее время C# оброс таким количеством удобных инструментов, что всё больше завоёвывает любовь у профессиональных разработчиков.
В чём сходятся C# и JavaScript:
- Для серверной разработки на C# нужна платформа ASP.NET, то есть тут вы тоже не можете просто взять и начать писать сервер.
- Многие синтаксические конструкции очень похожи.
На этом их сходства заканчиваются. 🙂
Теперь об отличиях от JavaScript:
- С# — строго типизируемый, это означает, что вам всегда нужно думать о типах данных, которые дозволено использовать памяти компьютера.
- С# — компилируемый, его команды переводятся в двоичный код и отправляются прямиком в процессор, поэтому С#-код выполняется быстрее, чем на JavaScript.
- У С# синтаксис более строгий и сложный, чем у JS, но более лёгкий, чем у Java или C++.
- Если JavaScript — мультипарадигменный язык программирования, то C# заточен на использование в объектно-ориентированном стиле — вы обязательно должны знать ООП.
- Даётся новичкам не так просто, как JavaScript.
Перечисленные тут отличия — фундаментальные, то есть далеко не все, но, пожалуй, самые главные.
Возможности трудоустройства, зарплата разработчика на JS
По данным исследования портала «Хабр Карьера», в первом полугодии 2022 года средняя зарплата фронтенд-разработчика (JavaScript-разработчика) в России — 150 000 рублей в месяц.
А количество вакансий на портале hh.ru по ключевому слову JavaScript — около 6,5 тысячи. В поисковую выдачу попадают вакансии разных профессиональных уровней, а также разных направлений: фронтенд-разработка, веб-разработка, бэкенд-разработка и фулстек-разработка. По ключевому слову frontend количество вакансий — около 3,5 тысячи.
Теперь вы знаете, что такое JavaScript, и имеете представление о его востребованности. На курсах программирования для детей и подростков в Skysmart Pro мы рассказываем и показываем ещё больше полезных вещей из мира компьютеров, повышаем цифровую грамотность и помогаем разрабатывать собственные приложения, сайты и игры. Попробовать свои силы и подобрать курс по интересам можно бесплатно на вводном уроке.
Roblox — одна из лучших платформ, чтобы стартовать в программировании! Запишите ребёнка на бесплатный урок в Skysmart Pro — расскажем, какие мощные игры и проекты он может создавать
Методист компьютерных курсов