Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Почему JavaScript все ненавидят? Если я знаю только основы JS, то стоит ли переучиваться на Python?

PythonЯзыки программирования+1
Денис Абашев
  ·   · 7,5 K
старший разработчик в pseven.io  · 29 мар 2021
«JavaScript все ненавидят» — это фактическая ошибка. По результатам опроса «самый нелюбимый язык» на Stackoverflow в 2020 году JS занял всего лишь 16-е место из 25. Выше оказались такие языки как C, C++, PHP и Java. При этом в номинации «самый любимый язык» второе место занимает TypeScript, по сути являющийся надстройкой над JS.
Какие-то разработчики действительно могут не любить JS. Попробую предположить, за что именно, не вдаваясь в холивар о том, какой язык лучше:
  • Безальтернативность. Формально это не совсем так, но по факту если ты занимаешься фронтендом в вебе, ты обязан знать JS, в отличие от бэкенда, где может быть выбор.
  • Трудности при переходе с других языков, особенно с языков с сильной статической типизацией (например, с Java). Конечно, это относится не только к JS, но JS сейчас самый популярный, поэтому с ним сталкиваются чаще.
  • Путаница, вызванная обратной совместимостью. JS имеет довольно долгую историю, в течение которой разработчики сохраняют полную обратную совместимость (старый код должен одинаково работать на новых интерпретаторах). Это вызывает разные неочевидные особенности. Например, какие-то (старые) методы массивов мутируют массив, а другие (новые) — возвращают его копию.
  • Прототипная модель наследования. При переходе с языков с классической реализацией ООП понимание отличий и особенностей возникает не сразу. А первая реакция на непонятное — это обычно отрицание.
  • Излишняя универсальность и модифицируемость. JS не является функциональным языком, но предоставляет функциональные возможности. Он также не является ООП языком, то предоставляет элементы ООП. Иными словами, JS не навязывает конкретную парадигму, из-за чего код разных разработчиков может выглядеть слишком по-разному. Не всем такое нравится.
  • Отсутствие статической проверки типов. Это проблема не только у JS но и у любого языка с динамической типизацией. Крупные проекты нуждаются в том или ином виде контроля данных. Это решается тестами и сторонними инструментами проверки типов (Flow, TypeScript), но без них код становится трудно поддерживаемым.
  • Якобы низкий порог входа. Следствием всего вышеперечисленного является то, что грамотно программировать на JS может оказаться сложно, особенно когда приходишь в уже состоявшийся продукт. Однако почему-то до сих пор считается, что JS это простой язык для новичков. Также встречается мнение, что на JS не делают серьёзных проектов, хотя на практике это давно уже не так. А обманутые ожидания — это всегда боль.
Стоит ли переучиваться на Python, если знаешь только основы JS? Это вопрос, на который ответить можете только вы сами. Python и JS имеют довольно разные сферы применения, какая ближе вам —  никто вам не расскажет, это можете знать только вы. То же с комфортом разработки на данном конкретном языке — кому-то нравится Python, кому-то JS. Другие люди не могут (хотя и пытаются) диктовать, что должно нравиться вам.
Попробуйте Python, если его синтаксис вам понравится больше — продолжите его изучение. Если вы знаете только основы, особо переучиваться не придётся. Да и нет такого в IT, чтобы пришлось «переучиваться», это же не моторные навыки. Вы не переучиваетесь, а изучаете новое, расширяете кругозор. Не припоминаю, чтобы это кому-то помешало.
Что-то осталось непонятно? Спроси в нашей группе в Телеграме!Перейти на t.me/jstsmentor
SEO и поисковый маркетинг  · 21 янв 2021  · textarget.ru
Почему ненавидят? JS - "рабочая лошадка" веб-разработчика, SEO-специалиста, аналитика. Без понимания хотя бы его основ и умения его использовать в современном веб сложно. Python же – хорошая идея, если вы планируете работать с... Читать далее
Консультации по SEO и услуги по продвижению сайтовПерейти на textarget.ru
Grand Programmer Deni  · 27 авг 2021  · baskovsky.ru
JavaScript ненавидят из-за легкого входа, что чревато в дальнейшем созданием узких горлышек в проекте. Так, джуниоры легко могут допустить утечку памяти, которую сеньоры не смогут быстро обнаружить. Гибкость JavaScript это... Читать далее
Разработчик, читатель со стажем  · 21 янв 2021
Да не все, любой честный опытный разработчик считает свой язык так себе реализацией. Но это не важно: главное, чтобы на нем можно было реализовывать поставленные задачи. Конкретно к JS претензии в логике, не согласующейся с... Читать далее
Я - программист, который знает немного о циклах и...  · 16 мая 2021
Те люди, с которыми вы сталкивались, утверждающие что JavaScript - плохой язык, могли так говорить по ряду причин. Назову некоторые, с которыми я знаком или которые я сам частично разделяю: 1. JavaScript вобрал себя множество... Читать далее
МатенПрог PyQt, java, delphi, c++  · 21 янв 2021

JavaScript - frontend (то что видет пользователь)

Python (к примеру Django) - backend ( то что находится на сервере и реагирует на действия польлзователя)

JS+ Python - учи оба, или как альтернатива js+Node.js - тут учишь только один язык.

Задавай правильные вопросы - получай правильные...  · 21 янв 2021
С чего вы решили что его все ненавидят? Он используется в работе 99% сайтов, т.к. позволяет изменять HTML код без перестроения DOM (перезагрузки) страницы, т.е. на лету. Выбор языка (языков) программирования зависит от целей... Читать далее