Вы путаете разработчика и кодера, сиречь обезьяну, переводящую готовый алгоритм на одном языке на другой.Толковый разработчик не должен держать в голове пятьсот взаимоисключающих параграфов (таких как true + true дает 2, или "+" - это конкатенация, а "-" - это математическая операция) нужного говноязыка, он должен легко и просто записать на выбранном языке разрабатываемый алгоритм; при этом быть защищенным от большинства интуитивных ошибок.
В любом языке эти грабли, конечно, есть (например, "=" как присвоение а не сравнение в С), но это именно что "грабли есть". В то время как JS - это одна сплошная грабля, куда не сунься. И не надо мне вешать лапшу про "динамический язык", динамических языков много, а говно - только один.
И это не только мое мнение. Это подтверждается постоянно изобретаемыми языками, фреймворками и тулзами поверх JS. Такого зоопарка языков "ну хоть как-то превратить программирование на js из изврата в программирование" больше нигде нету.
46 языков (https://www.slant.co/topics/101/~best-languages-that-compile...), главная цель которых "мы не хотим писать на говне, мы хотим писать для веба комфортно"!!!
/Щас мне скажут: все эти люди - не программисты, они не могут зазубрить весь противоречивый экмаскрипт, поэтому пусть идут вязать лапти. Три раза хаха - когда одни зубрят почему нельзя добавить true и true, другие успешно реализуют алгоритмы и продают свою работу/.
--
Но больше всего, конечно, удручает воспитанное этими граблями всеобщее отсутствие культуры программирования. Если уж инструмент всегда норовит вывернуться и вместо забитого в стену гвоздя сыграть лезгинку, то сам бог велел при программировании плевать на результат - какая разница, ведь все равно вокгур грабли и говно.
Посему и странички, которые на 5 гигагерцовой машине рендерятся по 5 секунд и жрут по гигу оперативы.