> Глядя на вебню, жрущую гигабайты, лагающую, и вечно текущую… Ну да, ну
> да, победитель. На бэке то всё равно питон, как ни хотели
> протащить жс, ничего вменяемого не получается.Ситуация немного сложнее. За тормоза могу пояснить. Причин несколько
Дело в том, что не каждый JS-ный синьор задумывается о структурах данных. 99% структур данных -- это стандартные массивы и Object. И проблема в том, что они не всегда подходят. Например, ребята просто обожают использовать массивы для проверки на включение там, где нужно использовать Set. На ровном месте сложность растёт с линейной до квадратичной. О том, что можно создать собственную структуру данных, знают лишь избранные, а ключевое слово `class`, с которого начинается создание своих структур данных, сегодня в JS подобно ругательству
JS-ник сегодня дохера функци-анальщик. Я не против ФП, но против отрыва от реальности. Дело в том, что JS -- это чисто ООП язык, хоть и с функциональными элементами. И оптимизации, гарантированные в ФП, невозможны в JS. В мире JS считается зашкваром перебирание элементов коллекции через `for ... of`. Забавно, что как только я заменил обработку больших коллекций с `forEach` на `for ... of`, приложение резко стало работать ощутимо быстрее. Я не говорю "в топку forEach/map/filter" -- я указываю на ограничения
Ещё один рак дохера функци-анальщика -- иммутабельность в каждой дырке. Иммутабельность -- это инструмент, позволяющий реализовать ссылочную прозрачность. Прекрасная штука. При этом JS-ник забывает про цену иммутабельности -- необходимость пересобирать заново структуры данных. Особенно больно на больших списках. И ладно, когда речь о redux. Плохо, когда пересборка структур данных происходит вообще в каждой дырке. Я хочу сказать, что мутабельность -- это тоже инструмент, позволяющий сильно поднять производительность. Как извлечь все выгоды мутабельности и сохранить ссылочную прозрачность -- просто обернуть мутируемую структуру данных в объект с одним ключом
Вы прослушали тираду "Дорогие коллеги! Давайте прекращать кодить и учиться программировать!"