Вопрос: Языки программирования. JavaScript зачем вообще нужен? Преимущества и недостатки

Автор ya.kris.afanasieva задал интересный вопрос в категории Программирование. Он спрашивает: Языки программирования. JavaScript зачем вообще нужен? Преимущества и недостатки. Среди полученных ответов он выбрал самый точный и полный ответ.

Самый полезный ответ для автора ya.kris.afanasieva

JS — своеобразный язык, в нём есть одна общеизвестная логическая ошибка (если будете изучать — узнаете), которую специально не исправляют для совместимости с предыдущими разработками на js. Сам js — создан для фронтенда и его код обрабатывается непосредственно браузером, но из-за повсеместной популярности, из него сделали и бекенд—версию. Плюс, для js создано большое количество всевозможных фреймворков, заточенных под разные задачи и облегчающие процесс кодинга

Кроме этого другие посетители написали Ещё 2 ответа

JS — своеобразный язык, в нём есть одна общеизвестная логическая ошибка (если будете изучать — узнаете), которую специально не исправляют для совместимости с предыдущими разработками на js. Сам js — создан для фронтенда и его код обрабатывается непосредственно браузером, но из-за повсеместной популярности, из него сделали и бекенд—версию. Плюс, для js создано большое количество всевозможных фреймворков, заточенных под разные задачи и облегчающие процесс кодинга

Изначально JS создан действительно для front-end’а, то есть того, что видит пользователь на сайте. Формы, popup’ы и т.д. Но сейчас JS можно использовать абсолютно везде.Node.js, Next.js — хотите писать back-end-часть на том же языке? Пожалуйста.ReactNative.js — хотите сделать фронт для мобильных устройств? Пожалуйста, еще и компилируется это в прекрасно читаемый и работающий «нативный» (родной) язык для мобилок.Можно конечно писать и приложения для локальных машин на JS, но я таких библиотек не искал и не советую 🙂 Причина проста: быстродействие. Как ни оптимизируй код JS, а тот же C# или Java обработает множество вычислений быстрее.Преимущества JS:Очень низкий порог вхождения. Легкий для изучения, уже в 14 лет можно найти подработку и реально кодить крутые вещи. Можно стать крутым кодером без профильного образования, платных курсов и даже сразу получать деньги.Огромнейшее коммьюнити и тонна информации по всему интернету (если вы не знаете английского и пошли в кодеры, мне нечего вам сказать, хотя в данном случае и ру-коммьюнити нехилое)Благодаря новому пику популярности количество библиотек зашкаливает, и под каждый проект можно подобрать свою.Недостатки JS напрямую следуют из достоинств:Каждый второй (и необязательно программист) бьет в грудь и с воинственным кличем бросается учить JS. Как результат — много, очень много г%#но-кода как на старт-апах, так и на enterprise-проектах. И никакие Typescript и Beautify не помогают от этого 🙂 Но при должном управлении командой и нормальных code-review человек быстро избавляется от нехороших привычек.Много невалидных советов на просторах интернета. Редко кто задумывается о сохранении экосистемы проекта и либо изобретает велосипед, либо берет чужой код «не глядя». Не сказал бы, что это недостаток конкретно JS, просто здесь это заметнее из-за большего числа «советчиков» :)Слишком много библиотек, слишком многие из них излишни и/или нестабильны. Знакомый в 2017 году работал с компанией, у которой основной была библиотека, которая уже не поддерживалась автором с 2013 года. А перейти — это тоже нехилые затраты, если твой бизнес — не ларек с шавермой. Так что прежде чем выбрать фреймворкбиблиотеку, приходится долго посидеть на гите, посравнивать звездочки, историю и скорость разработки и решения issues и еще и самому потестить на вкус.Резюмирую:JS, как и любой другой язык, является инструментом. И инструмент хорошо применять там, где он реально нужен. Вы же не закручиваете гайки молотком (по-хорошему). Так и здесь — front-end — это основная стезя JS. В остальных местах его использовать «можно, но не нужно». Разве что если не хочется нанимать в команду никого, кроме JS’еров.

Javascript (название стандарта на него — ECMAscript) является языком WEB программирования. Предназначен для работы внутри браузеров, где он разрешён, формирует визуальный вид сайта и работу его логики. Формы ввода, всякие «красивости» чаще всего на нём и реализуют. Появился первый раз внутри браузера Netscape Navigator и ныне существующего на AOL.com. Обычно Javascript работает на клиенте (внутри браузера пользователя), но есть и серверная реализация Javascript (в этом случае он работает на сервере вебстраниц), называется эта реализация Node.JS. Серверный вариант может лазить по базам данных и прочему, клиентский только по свойствам страниц и браузера, но оба создают вебстраницы.