

Огласите весь список пожалуйста

На что угодно готов, чтобы с тем джуном из скиллфэктори в один проект не попасть))
Вот это моё любимое: https://github.com/denysdovhan/wtfjs
пиздец, оно еще хуже, чем я думал.
Там почти все случаи это неявное приведение одного типа к другому, и в реальных сценариях к таким шизотерическим случаям можно прийти либо если специально пытаться так сделать, либо если вообще не отдуплять, что ты делаешь и зачем. Этим удобно пугать людей вне области и всяких «вкатывальщиков», которые чего-то по верхам нахватались, но реального скилла не имеют, а по факту ничего страшного, непонятного или необъяснимого не приведено. Отдельно смешно с иронии, что поливатели жаваскрипта говном довольно часто (по моему опыту) любят дрочить на условные плюсы, в которых, если копнуть, шиза и похлеще водится, один undefined behaviour чего стоит.
Слушай, оправдывать JS это как оправдывать инвалида без ног, почему он не может пробдежать спринт. Этот язык, сплошной сюр, который сам по себе даже в математику с точными данными не может, нужно все округлять. Его стали все использовать ибо он прост в понимании и его легко равернуть на любой системе, благодаря стараниям гугла с его V8. Поэтому его выучить можно даже подростку за месяц, ибо ему нужно знать как запустить браузер и все
Отличный от языков программирования.
ЯП - это не только сам синтаксис и интерпретатор/компилятор, но еще и экосистема вокруг него. Так что то, что JS полнится ебланами, плодящими ебланские практики - это всецело вина JS и поэтому он нихера не отличный.
Пока его использовали для чего придумали(для логики интерфейсов) - он был норм, а с приходом логики на фронт он стал раком, а потом нашелся еблан, сделавший nodejs и этот рак дал метастазы на бэк.
Пока его использовали для чего придумали(для логики интерфейсов) - он был норм, а с приходом логики на фронт он стал раком, а потом нашелся еблан, сделавший nodejs и этот рак дал метастазы на бэк.
ну ну и потом такие, а давайте лучше TS
а воюще я не понимаю, почему не взять Dart и flutter в контексте js
Когда в js добавят встроенную типизацию аргументов и возвращаемых значений, тогда можешь начинать такие разговоры. Только не над TS упоминать, это другой язык.
Не строгая типизация JS - это вот прям совсем не проблема по сравнению с остальной херней, которую он порождает. И да, JS - единственный известный мне ЯП, для комфортной работы на котором въебали еще один уровень абстракции в виде фактически другого ЯП, который потом транслируется в JS.
Остальное на мой взгляд терпимо. Но вот то, что IDE в душе не ебёт какие типы принимает метод, и что он возвращает в ответ - это пиздец.
В других языках меня IDE сразу нахуй пошлёт, а потом ещё и компилятор, ну либо интерпретатор вывалится в ошибку, дескать "я хотел тут int, а ты, еблан, прислал строку". JS-у - па-ху-ю, он её как-то приведёт, что-то сделает, куда-то вернёт, это через три метода ещё просочится и в итоге у тебя где-нибудь в совершенно постороннем месте вместо объекта получится его величество, ебать его в сраку, NaN.
Ты еще забыл сказать, что и эксепшина не свалится и приложение продолжит работать как ни в чем не бывало.
И это... 100% НОРМАЛЬНО, когда это использовалось для разработки интерфейсов. Ну зафейлился флоу нажатия кнопки 1 раз - похуй, другие кнопки работают и эту можно еще раз нажать попробовать. И весь стек вызова там это обработчик нажатия кнопки и отправка данных на бэк, либо отрисовка какого-нить окна. А потом случилось то, что я написал выше
И это... 100% НОРМАЛЬНО, когда это использовалось для разработки интерфейсов. Ну зафейлился флоу нажатия кнопки 1 раз - похуй, другие кнопки работают и эту можно еще раз нажать попробовать. И весь стек вызова там это обработчик нажатия кнопки и отправка данных на бэк, либо отрисовка какого-нить окна. А потом случилось то, что я написал выше
>> единственный известный мне ЯП, для комфортной работы на котором въебали еще один уровень абстракции в виде фактически другого ЯП, который потом транслируется в JS.
Котлин, Скала, Насхорн и еще полдесятка JVM языков внимательно на тебя посмотрели.
Котлин, Скала, Насхорн и еще полдесятка JVM языков внимательно на тебя посмотрели.
JS - кусок неконсистентного говна со слабой динамической неявной типизацией - буквально худшим сочетанием из возможных, и с уебищной системой прототипов вместо нормального ООП.
А еще, напрямую с JS не связано, но стандарты с вебом пишутся какими-то невменько. Например, невозможно отличить эвент, сгенерированный скриптом через изменение DOM-дерева, от эвента, который прилетел от пользователя. Event.isTrusted позволяет отличить первые два случая только от третьего, когда эвент собирается и диспатчится вручную.
Оцените, блядь, глубину полета мысли: ввели флаг, который отличает два вида от третьего, а два оставшихся между собой отличить никак нельзя. И описали это в специкации. И сидят довольные, блядь, как будто так и надо.
Без этого, сука, невозможно нормально сделать синхронный скролл двух элементов (пример - таблица https://ui.com/eu/en/switching, особенно на мобилке) - буквально типовая задача из гуестроения уже 30 лет как. Но не для JS-сверхразумов. Эти живут в своем мире и вообще не смотрят, что происходит вокруг.
Мне как-то один фронтэндщик на серьезных щах еще в 2010х заявлял, что JS - язык богов...
Скорее язык багов
Ссылку на wtfjs уже кидали, вот еще мои пять копеек: https://www.destroyallsoftware.com/talks/wat
JS - объективно говно. С этим будет спорить только тот, кто не знает других языков.
Это всё безобидные лалки по сравнению с LeftPadIncident.
Или вот такая херня:
https://habr.com/ru/articles/280099/
Пиздец не в том, что в npm есть "пакеты", состоящие из одной строчки. Пиздец в том, что они реально используется в продакшине и от него зависят другие пакеты.
Или вот такая херня:
https://habr.com/ru/articles/280099/
Пиздец не в том, что в npm есть "пакеты", состоящие из одной строчки. Пиздец в том, что они реально используется в продакшине и от него зависят другие пакеты.
А все потому, что язык - говно, в котором нет элементарных вещей.
Скорее потому, что элементарные вещи через жопу приходится делать.
Дада, везде жс, и теперь для отрисовки простого интерфейса с трудом хватает десятков гигагерц суммарно. Хотя, в принципе, достаточно было бы в тысячу раз меньше.
И бэк. Запрос, который можно было бы обрабатывать за пару микросекунд, тупит несколько секунд.
Нет, я прекрасно понимаю всё. И менеджеров понимаю, и вообще почему так происходит. Оптимизация дорогая, и ею в типичных конторах не занимаются вообще совсем. Но смотреть на текущие приложения, как локальные, так и веб(а они сейчас не отличаются) - немного больно.
И, что самое смешное, основная проблема жс даже не в тормозном выполнении кода как таковом. Там не настолько всё плохо, в оптимизацию вм въебали порядочно: реалтаймом, конечно, и не пахнет, но в принципе относительно шибкое приложение написать возможно, чтобы оно хоть визуально не тупило.
Основная проблема в том, что язык активнейше поощряет адский говнокод и притягивает говнокодеров, которые ебашат библиотеки как тот батин суп, что аж обои отклеиваются. И это всё говно работает ожидаемо как говно.
И бэк. Запрос, который можно было бы обрабатывать за пару микросекунд, тупит несколько секунд.
Нет, я прекрасно понимаю всё. И менеджеров понимаю, и вообще почему так происходит. Оптимизация дорогая, и ею в типичных конторах не занимаются вообще совсем. Но смотреть на текущие приложения, как локальные, так и веб(а они сейчас не отличаются) - немного больно.
И, что самое смешное, основная проблема жс даже не в тормозном выполнении кода как таковом. Там не настолько всё плохо, в оптимизацию вм въебали порядочно: реалтаймом, конечно, и не пахнет, но в принципе относительно шибкое приложение написать возможно, чтобы оно хоть визуально не тупило.
Основная проблема в том, что язык активнейше поощряет адский говнокод и притягивает говнокодеров, которые ебашат библиотеки как тот батин суп, что аж обои отклеиваются. И это всё говно работает ожидаемо как говно.
Ну и вот нахуя было въебывать в эту ВМ тонны нефти, когда уже давно есть Java VM, в которую уже всё въебали и которая по производительности(но не по потреблению памяти) либо не уступает, либо может даже превосходить C++/C#?
И да, JS плодит бездарей, а свидетели JS лепят отмазы, типа ЯП ни виновааат!
И да, JS плодит бездарей, а свидетели JS лепят отмазы, типа ЯП ни виновааат!
Жава монстроузна, плохо подходит для веба и прикручена сбоку. Принципиально ничто не мешало сделать нормально, но поезд ушел. На самом деле, вебу идеален был бы питон, но со скобочками.
Ну, UI на жабке всё же писать неудобно. Потому что хочется наляпать побыстрее, и всунуть новую пропертю в объект прямо на месте, а не идти править определение класса.
Основная проблема в том, что когда уже стало понятно, что на клиенте нужна и логика тоже, никто не решился по-настоящему переделать язык. Во-первых, избавиться от идеологии "продолжаем работу во что бы то ни стало" - вот те самые мудоёбские авто преобразования типов вместо эксепшнов. Изначально-то типа ошибки писать некуда. Ну так стало давно есть куда, а этот пиздец остался. Во-вторых, на уровне языка трпизировать, оставив тем не менее прототипирование как фичу. Сейчас типизирование там есть, но оно сбоку прикручено. Сделать явно это, чтобы добавление нового проперти было просто синтаксическим сахаром над Object.properties, которая мапа, куда что угодно кладется.
Много чего можно было бы причесать, чтобы логику можно было писать, не ходя по минному полю. Но это нужно было ломать совместимость. Которой, впрочем, никогда толком и не существовало...
Основная проблема в том, что когда уже стало понятно, что на клиенте нужна и логика тоже, никто не решился по-настоящему переделать язык. Во-первых, избавиться от идеологии "продолжаем работу во что бы то ни стало" - вот те самые мудоёбские авто преобразования типов вместо эксепшнов. Изначально-то типа ошибки писать некуда. Ну так стало давно есть куда, а этот пиздец остался. Во-вторых, на уровне языка трпизировать, оставив тем не менее прототипирование как фичу. Сейчас типизирование там есть, но оно сбоку прикручено. Сделать явно это, чтобы добавление нового проперти было просто синтаксическим сахаром над Object.properties, которая мапа, куда что угодно кладется.
Много чего можно было бы причесать, чтобы логику можно было писать, не ходя по минному полю. Но это нужно было ломать совместимость. Которой, впрочем, никогда толком и не существовало...
Я про Nodejs. А на фронте особо оптимизировать нечего, там не нужен тот уровень производительности.
А твои предложения - это считай новый ЯП(еще один) сделать. Лучше как Liksys написал, можно было бы оставить JS как он есть для интерфейсов и прикрутить интерпретатор python для логики - у него как раз тонна логики на C для сортировки всяких таблиц почти-что из коробки. Тогда бы и JS не породил кучу рака, а остался в том, для чего его придумали и логику на фронт фигачить было бы быстро и удобно, еще и занялись бы этим бэкэндщики с нормальной культурой кода. И в итоге Питон бы сожрал JS часть и вместо nodejs рака на бэке был бы ps на фронте. Еще бы и в python интерпретатор гугл вкинул бы тонны нефти для оптимизации.... эх, мечты-мечты.
А твои предложения - это считай новый ЯП(еще один) сделать. Лучше как Liksys написал, можно было бы оставить JS как он есть для интерфейсов и прикрутить интерпретатор python для логики - у него как раз тонна логики на C для сортировки всяких таблиц почти-что из коробки. Тогда бы и JS не породил кучу рака, а остался в том, для чего его придумали и логику на фронт фигачить было бы быстро и удобно, еще и занялись бы этим бэкэндщики с нормальной культурой кода. И в итоге Питон бы сожрал JS часть и вместо nodejs рака на бэке был бы ps на фронте. Еще бы и в python интерпретатор гугл вкинул бы тонны нефти для оптимизации.... эх, мечты-мечты.
Не, я про фронт.
На бэке просто жс не нужон ни в каком виде. Есть намного более подходящие языки.
Нода это набор костылей, на которых в принципе начать проект легко, но редко какой нодовский проект может даже 5-летие активной жизни отпраздновать. Потому что с ростом кодбазы оно превращается в лютый пиздец. Даже со всеми костылями. Я, честно говоря, давно уже не видел, чтобы на ноде начинали что-то. В пик вау-популярности говна наелись все достаточно, чтобы без экстремальной необходимости не касаться этого.
При том что да, на java куча хуйни уже 20-летие справляет, и там до сих пор имеются нетронутые куски, писавшиеся, когда нода-гуру ещё из папкиного хуя истекали. И, главное, оно работает, и худо бедно поддерживаемо.
Чтобы написать коммент, необходимо залогиниться
Отличный комментарий!