С момента его появления в 1995 году о JavaScript много говорилось. Кто-то высмеивает его, кто-то ненавидит, но те, кто его понимает, любят. Это мой взгляд на то, почему JavaScript так важен в современном мире программирования. Без лишних слов, давайте просто перейдем к делу.

Начнем с некоторых фактов. JS - это самый популярный язык, который понимают браузеры. Действительно, ~ 95% всех веб-сайтов используют JavaScript, а их очень много. JS имеет самое большое сообщество инженеров и разработчиков. JavaScript можно использовать как во фронтенде, так и в бэкэнде. JavaScript дает представление как об объектно-ориентированном программировании, так и о функциональном программировании. PWA стали реальностью, это означает, что мобильные приложения могут быть написаны на JavaScript (Twitter и Firebase - лучшие примеры).

Хотя факты говорят о многом, давайте посмотрим на некоторые характеристики JavaScript, которые делают его таким прибыльным. Заодно рассмотрим некоторые факты более подробно.

Легко учить

JavaScript легко выучить, вам не нужны высокопроизводительные IDE, а браузеры предоставляют хорошую среду для запуска кода. Для тех, кто плохо знаком с программированием JS, его гибкость позволяет быстро освоить более сложные концепции. Для опытных разработчиков это дает возможность адаптировать свой собственный стиль: объектно-ориентированный, функциональный или процедурный (подробнее об этом ниже).

Front-end и Back-end

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

JS также дает вам доступ в мир внутреннего программирования. Node.js поднял JS на новый уровень. По сути, это означает, что JS можно использовать для создания API-интерфейсов, чтения и записи из баз данных, создания микросервисов и т. Д. Важной частью является то, что после того, как вы его изучите, вы можете обслуживать как интерфейсные, так и серверные приложения. Я считаю, что это значительная победа.

Настольные и портативные устройства

Как я уже упоминал ранее, прогрессивные веб-приложения стали реальностью. Некоторые знают, что у Twitter уже есть PWA, как и у Firebase. Это означает, что разработчики, которые могут кодировать на JS, теперь могут создавать приложения для мобильных устройств, не полагаясь на определенные языки и технологии. Хотя я согласен с тем, что PWA все еще находятся на начальной стадии, я также считаю, что их появление неизбежно.

Ароматы инженерных концепций

Одна из лучших особенностей JS, хотя и не преднамеренная, заключается в том, что ее можно использовать как в объектно-ориентированном, так и в функциональном вариантах разработки программного обеспечения. Хотя JS обычно не является объектно-ориентированным языком, он дает синтаксический сахар, поэтому разработчикам удобно его использовать. В то же время с такими библиотеками, как RxJs, Immutable.js и Ramada JS можно использовать функционально. Почему это важно? Во-первых, это упрощает работу с JavaScript разработчикам с разным опытом. Во-вторых, при разработке с использованием JS можно использовать лучшие практики обоих. В-третьих, это дает разработчикам возможность переходить от одной разновидности к другой, не изучая другой язык.

Бессерверный режим - лямбда-выражения / облачные функции

Концепция первоклассных функций в JS делает его очень хорошим соперником для написания лямбда-выражений. AWS и GCP, ведущие облачные платформы, используют JS в качестве языка для написания бессерверного кода. Это дает инженерам, имеющим хороший опыт работы с JS, уникальное преимущество. Они не только могут кодировать интерфейсные и серверные приложения, но также могут использовать облачные платформы для перехода на бессерверные.

Наука о данных, AI, ML

Возможно, многие из нас не знают об этом, но JavaScript все чаще используется в науке о данных. Хотя большинство специалистов по обработке данных по-прежнему полагаются на R или Python, JS является привлекательным языком, в основном из-за того, что его кривая обучения не очень крутая. Библиотеки действительно уже присутствуют для анализа данных на JS. TensorFlow, Twitter-текст - это как раз две такие библиотеки. Здесь вы можете найти список многих доступных JS-библиотек, которые можно использовать для Data Science, AI и ML.

Поддержка сообщества

JS имеет одно из самых активных сообществ с открытым исходным кодом. Это означает, что вы не попадете в стену очень легко, и это действительно исходит из моего личного опыта. Кроме того, сообщество постоянно вводит новшества, и такие библиотеки, как Ramda, TypeScript, RxJS, Flow, Immutable.js, prettier и т. Д., Являются тому подтверждением.

Резюме

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