С чего вы решили что его все ненавидят? Он используется в работе 99% сайтов, т.к. позволяет изменять HTML код без перестроения DOM (перезагрузки) страницы, т.е. на лету.
Выбор языка (языков) программирования зависит от целей, которые вы хотите достичь.
JavaScript - frontend (то что видет пользователь)
Python (к примеру Django) - backend ( то что находится на сервере и реагирует на действия польлзователя)
JS+ Python - учи оба, или как альтернатива js+Node.js - тут учишь только один язык.