Что за JavaScript?
JavaScript (сокращённо JS) — это язык программирования, созданный для интернета.
Дело в том, что любой сайт, который вы открываете в своём браузере, — это обыкновенный текстовый документ.
В середине 90-х компании захотели не только рекламировать товары и услуги, но и продавать их через интернет, в том числе и обеспечивать электронные банковские транзакции, а для всего этого нужно было сделать текстовые документы интерактивными. То есть люди хотели взаимодействовать с веб-сайтами, а не только находить в них информацию.
Так появился JavaScript.
Именно он позволил расширить границы возможного и в десятки раз упростил обмен информацией — за счёт этого появились, в частности, форумы и социальные сети.
Сейчас JavaScript — это царь электронной коммерции, онлайн-банкинга, браузерных игр, видеостриминга, 2D- и 3D-анимации в интернете, онлайн-карт, социальных сетей и прочих сервисов, которые прочно вошли в нашу жизнь.
JavaScript — это «третий кит» технологий, которые сделали современный интернет таким, каким мы его знаем, наряду с HTML и CSS.
А он пользуется спросом?
По данным исследований сервисов для программистов Stackoverflow и GitHub, JavaScript — это самая популярная технология в мире уже много лет подряд!
Дело в том, что у JS относительно низкий порог входа, и он выполняется прямо в браузере. А ещё его популярность обеспечена наиболее легкодоступной нишей использования — он максимально «близок к народу».
Это значит, что вы сможете найти работу, если знаете язык программирования JavaScript, где бы вы ни были.
Кроме того, большая популярность дарит нам внушительное комьюнити — общество единомышленников, у которых можно попросить помощи или подсмотреть какие-то решения.
Но такая мощь накладывает и большую ответственность — конкуренция на рынке труда тоже неслабая.
Получи больше пользы от Skysmart:
-
Научись программировать на курсах разработки.
-
Выбирай из 130+ наставников по программированию.
Записывайся на бесплатные курсы для детей.
Для чего нужен 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 мы рассказываем и показываем ещё больше полезных вещей из мира компьютеров, повышаем цифровую грамотность и помогаем разрабатывать собственные приложения, сайты и игры. Попробовать свои силы и подобрать курс по интересам можно бесплатно на вводном уроке.