Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если/когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
>>3442866 → Так это банально нужно и прорешать все такие потенциальные задачки.
>>3443468 → У редьюса для такой задачи есть один важный подъеб, а именно передача во второй параметр undefined. То есть нужно различать ситуации, когда он явно передан как undefined и когда не передан вообще.
Сап аноны, я вообще не в теме JS и программирования фронта в браузерах. Вопрос следующий - TS имеет какие-либо серьезные проблеиы? Или это просто JS здорового человека (со статической типизацией)?
P.S. Если вы считаете, что динамическая типизация лучше статической, то отвечать не надо
>>3446055 >вкат Какой вкат, додя? Вас уже искусственный идиот заменяет. Вкатывайся лучше в сантехника или плиточника, так хоть высокооплачиваемую работу сможешь найти.
>>3446782 >TS имеет какие-либо серьезные проблеиы Да, тебе на проекте могут запретить использовать any и придется громодить ебанутые конструкции, которые нахуй никому не нужны.
>>3448328 Если расхайповавшая в свое время нода никому не нужна, то до ее клона тем более нет никому дела. Хотя Bun сам по себе неплох и если бы вышел сильно раньше, то все для серверной тс разработки могло пойти по другому (а могло и не пойти)
Я сто раз объяснял. Что топ - это две абсолютно одинаковые модели на клиенте и сервере. На сервере меняем параметр store.kek = 123. Автоматом срабатывает логика, которая за этим стоит, и всем клиентам, которые на данный момент подписаны на вебсокеты и которые должны иметь доступ к параметру kek получают сообщение о том, что kek изменился. Там прилетает на клиент с сервера json вида: [{"op": "replace","path": ["kek"],"value": 123}] либо можно свой протокол бинанрный ебануть. После также автоматом это применяется к стейту на клиенте, не нужно для этого писать код, он один раз написан. После остаётся на клиенте только написать код, который эти данные в компоненте отобразит
Но макакушкам такое сложна, поэтому они пердолят HTTP запросы, парсят ответы от GQL, пишут свитки говна на Joi, Zod, в общем всячеки угорают по трешу
>>3446782 >динамическая типизация лучше статической Кек. Тебя наебали. В JS нет типизации. Так как о наличии типизации говорит вывод типов. В JS вывода типов нет, значит и типизации тоже
Это просто игра слов такая, когда типов не завезли, чтобы не выглядеть говном, говорят, что у нас динамическая типизация. Ну, ну а чо, складываешь массив с числом, и норм. Как раз таки, сложения массива с числом и нормальная сборка такого кода и говорит о том, что язык нихуя не понимает, что за типы там используются и не уберегает тебя от обишки. То есть типов нет
На самом деле динамика работы с переменными, а собственно и смена того, что в них хранится, плюс немного магии по проведению операций над разными данными - это просто свойство любого скриптового языка
>>3447615 >VSCode или WebStorm Intellij IDEA. Она сразу во много языков умеет в отличие от WebStorm. Актуально, если твой функционал шире вебмакаки. "Чит коды" для неё сам найдёшь
>Емакс или неовим но лучше емакс. Остальное кал собаки. Этого шиза не слушаем. Хуйня даже не понимает зачем нужны типы. Я мышкой могу навести и увидеть тип переменной. А ты в своём неовиме ошёшь, что мышкоблядь не человек и страдаешь, или что?
>>3448864 Хуйню какую-то написал. Причем тут сложность? Никто в 2к25 не будет тебе на сервер твое графкл говно тащить. Проще и быстрее бэка пнуть чтобы он нужные данные дал.
>>3448915 >Никто в 2к25 не будет тебе на сервер твое графкл говно тащить >Проще и быстрее бэка пнуть чтобы он нужные данные дал Какой же хлебуш. Ты даже не смог в аргументацию. Если у тебя GQL ты точно также можешь пнуть бэка, чтобы он тебе выдал данные
>Причем тут сложность? При том, что ты тупая макака так не делаешь
Анонсики, а ts/ts могут в ai/ml на бэкенде? Есть илея для стартапа, но не хочу снова лезть в пиструн. Хочу полностью построить бэк на node например, но пока плохо представляю возможности его работы с нейросетями (я не про api ллмок, а именно про свою модель анализа на основе какого-нибудь тензора или пайторча). Не обоссывайте только пожалуйста, лучше помогите.
Вёрстка-треда не нашёл, спрошу здесь. Есть задача наверстать SPA, и если с бэкендом и клиентским JS я разберусь, то CSS приходится учить с нуля. Вот я вроде осилил как менять цвета/размеры, margin/padding/box model вроде понятно, флексбокс вообще хорошо зашёл. Что ещё нужно осилить перед тем как браться за собственно кодинг нужного интерфейса? Гриды вроде как нафиг не нужны мне, для моих задач флексбоксов хватит
>>3449089 А больше ничего не надо. Осваиваешь флексбоксы. Осваиваешь position: fixed/relative, размеры и отстутпы. Дальше можешь делать любые конструкции. Остальное тебе нейросеть подскажет. Я в рот ебал трансформы, например, помнить или анимации, или box-shadow или прочие украшательства, так как помимо фронта ещё много чего умею
можете посоветовать какой то современный хороший учебник (или сайт)? и как вам сайт learn.javascript.ru, можете подсказать источник откуда можно знания на джуна хотя бы набрать? начинал жс с нуля до профи но там 5 версия es обозревается, в первом же затупе там проблема из за версии, поэтому дропнул. смотрел роадмап по ссылке, но там как то дохуя накидано, хочется нормально структурированной информации, и только нужной
>>3449196 Присоединяюсь к вопросу. Инфоцыгане довели интернеты до безумствая, любая статья - или реклама или байт на клик, где все расписано в общих чертах, а ресурсы даются на отъебись. Нужно буквально перебрать тонну говен прежде, чем найдешь что-то стоящее.
>>3449196 >>3449203 В шапке треда есть ссылка на руководство для вката. Читайте learnjs и выразительный js (хотя бы reduce научитесь писать). Если совсем тяжело идет, читайте headfirst. Если хотите что-то посмотреть, то идите на рутрекер и нннклаб и выбирайте там курс. Если вам нужна пародия на дефолтное обучение, где учителя даю т вам материал, а вы сами его изучаете, то можете пиздовать в БЕСПЛАТНЫЕ rsschool и metalamp.
Бу! Испугался? Не бойся. Я друг. Я тебя не обижу. Иди сюда, иди ко мне, сядь рядом со мной. Посмотри мне в консоль. Ты видишь красивый интерфейс? Я тоже не вижу. Давай смотреть в консоль до тех пор, пока наши глаза не покраснеют. Ты не хочешь? Почему? Что-то не так?
>>3447783 >придется громодить ебанутые конструкции, которые нахуй никому не нужны. Если тебе приходится это делать, то ты скорее всего что-то делаешь не так >>3448872 VSCode тоже умеет во много языков, без проблем пишу там проекты на жс, расте и го
Вот говорят, что в го не используют фреймворки, а юзают стандартную библиотеку. Почему тогда ноджс ругают за то же самое? Встречал хейт в сторону ноды, типа нет полноценного фреймворка аля ларавел, только роутеры, а остальное самому нужно собирать из говна и палок. Является ли это минусом? Возможно ли что из-за этого джс не взлетел на сервере?
>>3449326 Ноду за это как раз не ругают. На ноде есть Nest, где куча всего идет из коробки. Ноду ругают за то, что она медленная в отличии от го, что там нет многопоточки которая есть в го, что она не собирается в компактный бинерник в отличии от го, что там надо кучу всякой хуеты настраивать для работы в отличии от го. Нода - это игрушка для фронтендеров, которым как правило лень учить новые языки и хочется залезть в область на знакомом. Человеку со стороны (бэку) ты не объяснишь почему он должен брать ноду.
>>3449326 >она медленная в отличии от го По каким метрикам ты это измерял? Fastify не медленный, решения с uws внутри не медленные. Да и сейчас уже есть bun, который быстрее ноды.
>там нет многопоточки которая есть в го Такой как в го нету, только для чего конкретно её не хватает? Что такое ты делаешь в веб-бекендах на горутинах, что не можешь сделать на ноде?
>собирается в компактный бинерник в отличии от го Собирается, если тебе это по какой-то причине очень нужно.
>там надо кучу всякой хуеты настраивать для работы в отличии от го Не надо.
>>3449326 >Возможно ли что из-за этого джс не взлетел на сервере? Как ты это определил? Почему в 2025 для меня есть большое количество работы, как для разработчика, специализирующегося на серверном js/ts? Почему этой работы с годами не становится меньше?
>>3449312 >VSCode Я сравнивал Intellij IDEA и WebStorm. Блокнот с фичами даже не рассматривал. Как только хочешь удобств - обнаруживаешь, что их нет. Ни истории изменений (можно посмотреть все файлы которые были изменены), можно ткнуть CTRL + SHIFT + E и посмотреть где я недавно что-то правил, ни интерфейса для подмана/докера (зайти в конетйнер, отредактировай файлы в нем, ни красивого сравнения файлов. Ни удобной работы с базой, ни ещё десятков инструментов. В итоге ты обмазываешься плагинами, которые по-сути кривая калька IDEA и получается такой франкенштейн
Причина популярности VSCode - он бесплатный, IDEA долго грузится на слабом компе
>>3449326 >Почему тогда ноджс ругают за то же самое Пыхеры перекатились в ноду. Это же очевидно. Иначе бы не педалировали nextjs, apollo и прочие помойки, тянущие тонну дерьма, когда это всё можно собрать нормально самому, что занимает всего несколько дней
>>3449334 >Ноду ругают за то, что она медленная в отличии от го Тебе ссут, а ты и рад. Если макака открывает рот за скорость, недослушивая кидаешь следующий тейк: если тебя интересует скорость, почему ты не взял C++. Всё, макака растерялась с одного захода. Там ещё есть вопрос, в какой предел скорости вы упёрлись, чтобы выбрать го вместо ноды - и тут тоже поплывёт. Причина в том, что эфемерная скорость - это просто рекламная ссанина, типо круто писать на "быстром" языке. А по факту никакие критерии скоросте в выборе скриптовых языком место иметь не могут
>что там нет многопоточки которая есть в го Показывай, чего там нет. Есть там всё. Тебе треды завезли. Тебе евентлуп завезли, промисы. Все детали для многопоточки есть. Что ты не осилил?
>она не собирается в компактный бинерник в отличии от го, что там надо кучу всякой хуеты настраивать для работы в отличии от го Если твой критерий компактность - C++/C. Зачем ты взял Go? Ты берёшь какой-то незначительный критерий и преподносишь его как что-то важное. При том, что сам твой выбор по этому критерию является далеко не лучшим
Так-то GO норм язык, простой как топор, но по уровню недотягивает до TS. Ключевое - это отсутсвие эксепшенов, и номинальная типизация сильно хуже чем в TS, утсутствие удобств, вроде reduce. И когда сравнивают языки. Надо сравнивать языки, а не шизу
>>3449335 >bun, который быстрее ноды Глупец. Как ты мерял? bun - говно, чтобы попиарить Zig
>>3449391 try завезли. Но эксепшенов так и нет. Эксепшены пробрасываются наверх, try надо везде руками писать. В общем, попытались в норм дизайн и не смогли
Просто часть кодеров воспринимают язык как что-то волшебное, тогда как программисты знают, что это такой же продукт, как сайт или приложение для мобилки. И бывает сделано хорошо, а бывает на отъебись. Вот, GO сделали норм базу, но потом неотъебись дали сообществу, типы try и прочие приколы, типо, на те, только отстаньте. TS как-то получше вышел, но прекратил своё развитие уже давно. Плюсы развиваются, но там шиза с обратной совместимостью и тоннами уже написанного. Так и живём
>>3449376 >Ни истории изменений (можно посмотреть все файлы которые были изменены), можно ткнуть CTRL + SHIFT + E и посмотреть где я недавно что-то правил, ни интерфейса для подмана/докера (зайти в конетйнер, отредактировай файлы в нем, ни красивого сравнения файлов. Есть в vs code из коробки >Ни удобной работы с базой Установить плагин так сложно, понимаю
>Нода - это игрушка для фронтендеров, Неправда, на ноде прекрасно пилится практически любой бекенд.
>которым как правило лень учить новые языки и хочется залезть в область на знакомом Я был фронтендером 4 года, перешёл в бекенд на ноде лет 5 назад, за последние 5 лет помимо ноды использовал на бекенде раст (пока что немного) и го (много). За это время встретил немало людей с похожим на мой карьерным путём.
>Человеку со стороны (бэку) ты не объяснишь почему он должен брать ноду. Легко объясню почему — тайпскрипт. Но вот подробнее: если у нас тру хайлоад либо нетипичный веб, например работа по обработке видео, нагружающая ЦПУ, то мы просто берём раст. Если у нас классический веб бекенд (99.99% проектов), то для мвп, для небольшого проекта, для среднего проекта мы просто берём ноду/бан и наслаждаемся быстрой и приятной разработкой на классном языке, на тайпскрипте. Для крупного проекта уже можно рассмотреть го, но только как вариант, потому что нода вполне тянет и крупные проекты с серьезными требованиями по рпс, латенси, потреблению ресурсов. Возможно современный дотнет тоже есть смысл рассмотреть. Но в любом случае потенциальные проблемы абсолютно наверняка будут в работе с базами данных.
>>3449385 >Глупец. Как ты мерял? bun - говно, чтобы попиарить Zig Пик релейтед. При этом результатам уже год, если не больше, за это время были апдейты по оптимизациям в bun. По латенси и рпс тоже лучше перформанс, есть бенчмарки в том числе с различными видами работы с запросами в бд, куками, джейсоном, думаю тот же techempower ты и сам видел. Bun охуенен и заставляет разрабов ноды шевелиться в ускоренном темпе, плюс он очень быстр в качестве пакетного менеджера. Бекенд фреймворки на bun куда приятнее нодовских, тот же hono имеет потенциал стать дефолтом, elysia по перформансу и DX ещё лучше, но её пока только в пет-проектах использовал. Они оба уже портированы на ноду, к слову.
>>3449385 Чел, мне нет дела до твоей тряски и унылых попыток дефать ноду из треда в тред. Я смотрю на динамику вакансий, на частоту внедрения технологий и вижу что го растет и развивается, а нода стагнирует. Мне похуй к чему ты там привык, это не меняет реальности. Я предположил почему так происходит, я нигде не ставил какой-то один фактор во главу угла. Выбор ЯП всегда основывается на совокупности факторов, и по совокупности факторов в корпоративном бэкенде го тащит, а какой-нибудь c++ не тащит. Тоже касается и ноды, то что лично тебе она нравится ничего не меняет, то что на нее есть вакансии ничего не меняет (вакансии есть и на RoR). Я говорю что эта технология становится все более ненужной. Лет пять назад на нее был больший спрос чем сейчас, пять лет вперед она будет еще менее востребована.
>>3449545 Есть ли смысл учить раст, как думаешь? Я в последнее время подсел на него, пока нравится. Но такое ощущения что он нахуй никому не нужен будет, причем долго.
>>3449553 Блять! Да хватит оглядываться на всех! Это тупо. Взял язык, написал проект, получил профит. Точка. Я просто не понимаю зачем оглядываться на кого-то, это их проблемы то что они не используют rust. Земля пухом долбоёбам.
>>3449532 >CTRL + SHIFT + E >Есть в vs code из коробки Покеж аналог окна на пик 1
>интерфейса для подмана/докера >Есть в vs code из коробки Да ты чего. В контейнер запущенный можно зайти и файлы редактировать? Показывай. Кстати, это плагин, а не из коробки
>Ни удобной работы с базой >Установить плагин так сложно, понимаю Нет там удобной работы с базой. Плагин неудобен
Ты хоть понимаешь, что ты сравниваешь можу с пальцем. Это всёравно что я скажу, что женщин в вашем селе нет, а ты мне начнёшь доказывать, есть, так как там живёт баба Нюра 90 лет, 150кг. Я же выше написал: "Обмазываешься плагинами, которые по-сути кривая калька IDEA и получается такой франкенштейн"
>>3449551 >Я смотрю на динамику вакансий >то что на нее есть вакансии ничего не меняет Хахаха
Golang - неплохой язык. Но его назначение - чтобы макака дрочила мелкописюны бигтеху. Больше у него назначений нет.
Node же, мало того, что уступает gо в производительности процентов 10, так он еще может буквально ВО ВСЁ. Может даже хуев тебе напихать за шиворот, когда бигкабаныч пидорнет тебя за на мороз из своей конторы, когда поймет, что говноеды с таким узким профилем ему не нужны или просто в рамках оптимизации расходов.
Node - это развитый, устоявшийся и развивающийся продукт на владение которым - СТАБИЛЬНЫЙ СПРОС. С Go пока вопрос открытый, в РФ он на хайпе (и хайп тут поболее, чем у остального мира), поэтому и произошел скачок вакансий х10 от 3 человек до 30, но только перспективы его пока не ясны. Слишком уж урезан, примитивен, слишком уж узкое прикладное направление у него. Такие языки обычно или не выживают или занимают свой стабильный 0.01% рынка.
>>3449551 Тут 2 чела, почему ты только одному ответил? Возможно на мои посты нечего сказать, кроме как "бекенд на TS хуета просто потому что мне не нравится"? Вот мои посты: >>3449545 >>3449335 У меня конструктивные попытки дефать ноду, только не из треда в тред, я последние полгода тут не был.
>смотрю на динамику вакансий, на частоту внедрения технологий и вижу что го растет и развивается, а нода стагнирует В РФ го чаще используют и с каждым годом частота применения в проектах внутри РФ увеличивается быстрее остальных, тут не поспорить. Но это не означает, что нода стагнирует, она тоже растёт и развивается и вакансий с каждым годом становится больше, чем было год назад, просто скорость прироста не такая высокая, как у го. Но это локальная тема РФ рынка.
>Я говорю что эта технология становится все более ненужной. Лет пять назад на нее был больший спрос чем сейчас, пять лет вперед она будет еще менее востребована. Это просто враньё, лет 5 назад, как раз когда я перекатился в чистый бекенд на ноду, спрос был куда меньше, проектов на ноде в РФ было раз и обчёлся. А сейчас даже в компаниях типа газпрома или росатома её используют, что было неслыханно 5 лет назад. Про международный рынок думаю нет смысла говорить, тут у ноды всегда дела были лучше, а у го не так хороши, как в РФ.
>>3449596 Думаю из фронтенда прямо в раст непросто будет перейти. Может через разработку смарт-контрактов для Соланы или Sui неплохой вариант, но фронтендеров куда чаще пускают к смарт-контрактам на Solidity для Эфириума.
>>3449551 >Чел, мне нет дела до твоей тряски и унылых попыток дефать ноду из треда в тред. Во даёшь. Ноль тряски. Я в этот тред только зашёл, пропустив десяток до этого. А, вот ты чего так рвонькнул ржомбно, что буквально написал то, с чем я полностью согласен, но только как буд-то это не так. GO действительно набирает аудиторию. Это не делает Go лучше, как технологию, также, как застой TS не делает его хуже, он всё ещё выше на голову большинства языков. Ну, а вопрос кормёжки я кодинга - это вообще отдельня тема. Тут можно и сRust выучить
>>3449603 Да я так понял смарт контракты это и есть Solidity и эфириум. Все остальные технологии там в роли исключения. В соседнем растотреде пишут, что кроме шиткоинов раст нигде не используется из за сырой инфраструктуры. Тоже самое с TON. По сути EVM это абсолютный лидер рынка. Но мне сам солидити не нравится, какой-то язык обрубок.
>>3449613 В Солане на расте, в Sui на Move (вдохновлён в том числе растом). По размеру сети и уровню развития экосистемы EVM впереди, но по скорости развития Солана уже давно намного быстрее. Но помимо смарт-контрактов на расте пишут инструменты разработки, инфру, сам блокчейн, узкие места на бекенде. Нередка ситуация, когда кор сервисы написаны на тс или го, а отдельные хайлоад операции выделены в микросервисы на расте.
>>3449620 Ну вот я потому и склоняюсь к раст, потому что на нем не только смарт контракты пишут. Короче послушаю работягу выше и буду учить потому что интересно.
>>3449376 >Причина популярности VSCode - он бесплатный Причина в том, что почти все с него начинают, а потом переходить неохота да и не нужно. Я вот недавно попробовал вебшторм, понял что все что надо там есть и местами он сильно удобнее. Но мне не охота на него переползнать, так как к вскоду я придрочился и быстро все делаю, а к вебшторму надо привыкать. И ради чего? Все необходимые вещи есть в вскоде в плагинах.
>>3450780 Чат гпт и иже с ним референс есть на MDN Чтобы не охуевать от слозности нужно проосто в голове держать мысль что это просто апи чтобы запускать шейдеры на видимокарте и больше ничего
>>3443580 (OP) Питонист заглянул к вам в хату. По долгу службы надо снова разбираться с жс, у меня опыт есть но профессионально не кодил. Накатил Webstorm как IDE, т.к. был большой опыт с Жидбрейнс, с питоном работаю на Pycharm. Однако почему-то в тайпскрипте у меня не подсвечиваются автоматом ошибки в IDE, я специально неверно проставил тип для express но он не среагировал
>>3450801 Да, ещё откуда у тебя payload берётся, я так и не понял. В общем дай фул код, ща пофиксим. А то ты как Страуструп, он тоже любит кусок кода показать, где в половине случаев непонятно, где вообще это было инициализировано и что делает
>>3450862 → >The Math.round() static method returns the value of a number rounded to the nearest integer. >If the fractional portion of the argument is greater than 0.5, the argument is rounded to the integer with the next higher absolute value. Что не так? Работает как математическое округление до целого. У тебя есть еще floor и ceil
>>3450820 >Да, ещё откуда у тебя payload берётся, я так и не понял. Оттуда, что этот хуйкин, не понимая даже базового синтаксиса языка, уже прожал npm install для како-то васянской цмс-обертки над экспрессом, и теперь пытается понять, в какой именно момент у него по штанам потекло коричневое. Типичный питухонщик.
А почему нет нормального метода числа чтобы отбросить дробную часть до определенного порядка, но без округления? Да, есть туФиксед, но он сука возвращает строку.
>>3451146 Хоспаде, как же счастлив что такую чванливую блядоту активно увольняют/замещают вкатуны и LLM. Воистину, програмеры - одни из самых чсвшных но и одни из самых попущенных профессий. Хвала яйцам этому говну наконец-то приходит конец. В кои веки зашел на Погромач а не в Дипсик и собственно понял почему перестал сюда наведываться ты даже не понял нихера, что именно я написал
>>3450816 Если ты бекендер/фуллстак то можешь столкнуться с питоновскими скриптами + может так случиться что будешь сидеть на проекте где окажется питохун как у меня получилось с жс
>>3450814 Экземпляр приложения express - express(). Но суть не в этом, я намеренно вбил туда хуйню но IDE мне не подсветила ошибку
>>3449581 >В контейнер запущенный можно зайти и файлы редактировать? Показывай. Кстати, это плагин, а не из коробки Нет ты сначала покажи, как в идее можно редактировать файлв в контейнерах — пока что выглядит как пиздёж. Докер плагин для Идеи — это не плагин? Утёнок, ты совсем ебанулся, нихуя кроме своей мамы-идеи изучать не хочешь?
>>3450777 > >Броооооо, WebGPU это просто!!! WebGPU — ужасно низкоуровневая штука. именно потому индустрия сначала разрабатывала анусы OpenGL и Direct 3D. Я сам когда-то писал хуйню на OpenGL, было очень просто. Современный вулкан — реально дремучий лес.
>>3449632 >Популярные плагины хорошо работают, да и непопулярные обычно тоже Непопулярные плагины работают хуже, особенно если брать непопулярные сочетания версий плагина и среды.
>>3449376 >Причина популярности VSCode - он бесплатный Причина популярности VSCode — это яростное продвижение среды мелкомягкими, и таки грамотная реализация по сравнению с Atom. Справедливости ради, среда хорошая, я сам пользуюсь, но кодиумом, без ихней телеметрии. В том числе MS продвигает VS Code для того, чтобы собирать телеметрию, в том числе через CoPilot. Ну и просто продвигают другие свои облачные решения на Azure.
В то время, как выпускали VS Code, из конкурентов были Idea, Atom, Bracket, Sublime — последний так и не оброс серьёзными плагинами (да разрабам и похуй было на плагины). То есть, выбирать было особо не из чего. Сейчас есть какой-нибудь Zed, но его ещё несколько лет пилить надо.
В конторах, где я работал последние несколько лет, юзали и Идею, и VS Code, и Vim-совместимые варианты. Не то, чтобы были какие-то серьёзные предпочтения, в том числе не было никаких историй про "вебшторм круче, но он же ж платный". Ну типа программисты — не самые бедные люди, чтобы позволить себе подписку за $6/месяц.
Я довольно часто сидел в тупом текстовом редакторе с подсветкой синтаксиса, иногда Vim-ом через шел правил файлы, потому что все эти красивые свистоперделки в хуй не упёрлись, я знаю код и знаю что в нём делать, мне не нужны ваши ебучие отладчики, хинты типов, рефакторинги, etc. Характерно, что самые отбитые долбоебы в JS команде таки сидели на WebStorm, периодически высирая нечитаемый и нерабочий код. То есть, люди, у которых каша в голове, больше всего нуждаются во внешних костылях.
Я прошел долгий путь, когда-то сидел на Delphi с горой дополнительных расширений. Более того, я когда-то давно сам участвовал в разработке опенсорсного IDE (Anjuta). В том числе при разработке Anjuta мы столкнулись с простой истиной: нужно сильно ограничить программиста для того, чтобы алгоритмы работы IDE могли предсказуемо работать. То есть, никаких подводных камней в типах данных и метапрограммировании, никакой runtime-only хуеты, недоступной ни в простой разработке, ни даже в отладчике. И это всё то, что присутствовало в огромном энтерпрайзном проекте на делфях, из-за чего фичи IDE были либо просто неюзабельны, либо нужно было уделить хуеву гору времени на разработку расширений IDE для взаимодействия с нашими кастомными фичами.
Java в стандартном наборе уже помещает кодера в смирительную рубашку, но JS — настолько ебливый динамический язык, что я всегда предпочту всё проконтролировать глазами, даже если правки делались автоматически. Да, сейчас есть тренд делать из JS Жаву, но далеко не все ему следуют.
В принципе, я согласен с тем, что если вы хуярите через GPT однотипные сайтики на Next.js + TS + GraphQL, то у вас будет шаблонный код, предсказуемо парсящийся Вебштормом. Однако, хуета уровня конструкторов вебсайтов не должна была называться программированием изначально — и слава богу, что теперь вся эта шаблонная параша будет генерироваться нейросетками. Раньше такое на вордпрессе писали, теперь это Хибрид Апликейшн.
>>3451648 Ты просто глупец, который растрачивает ресурсы собственного мозга из-за некоторого чувства элитарности, созданного на пустом месте. То есть, ты выдумал себе, что неиспользование инструментов, которые тебе облегчают генерацию кода тебя как-то поднимают над другими
>нужно сильно ограничить программиста для того, чтобы алгоритмы работы IDE могли предсказуемо работать. Нет. Вы столкнулись с тем, что вы лоускильные макаки
Это распространённая проблема. Макака, она чему-то научилась, что-то умеет и в целом живёт норм, но иногда сталкивается с тем, что вокруг оказываются более талантливые люди. Это поджигает ёе пятую точку. От чего она, вместо того, чтобы признать свою слабость, начинает отрицать реальность. Типо, как бабка, которая видит, что рядом веселится молодёжь, а её не берут, и начинает запрещать веселье
Вот, и ты, видя, как молодые шутливые пытаются развить язык, вместо того, чтобы осилить парсинг, скатываешься в запреты. То же самое с нейросетями и удобствами. Ты их отрицаешь, дабы себя потешить, хотя по факту тратишь на это силы. Просто прими реальность, смирись с собственным положением. Реально легче станет. Нет ничего плохого в том, чтобы вообще нахуй не писать код, и гробу видеть это программирование. Нет ничего крутого в том, что ты в нем что то понял. Миллиарды людей нихуя не понимают в этом и им норм. Расслабься, кроч
>>3449376 > Как только хочешь удобств Какие удобства, мань? 90% времени ты сидишь и раздумываешь над фичей, а пока пишешь интерфейсы для фичи - продолжаешь думать.
Если ты какой-то вебмакака и пишешь кнопки - тебя заменят нейросетью и индусом за 300 баксов, можешь выкатываться из треда и идти в грузчики.
>>3451665 >Ты сам-то чем пользуешься? VSCode-ом? Я уже пятый месяц не работаю, катаюсь по миру, чилю. На последней работе в основном VS Code юзал, но больше для работы с Git-ом, на самом деле, потому что 2/3 работы было "разобраться с проблемой, посмотреть, как до тебя пытались разрабатывать этот код, написать несколько строчек правок с отладкой, запустить эту хуйню, закомитить ту часть правок, которая исправляет код и не относится к отладке". Какие-то суперанализаторы не были нужны, потому что во-первых я наизусть знаю архитектуру, а во-вторых я, как техлид, жестко пиздил уебанов, которые нарушают модульность.
Отладчиком из IDE вообще никогда в жизни не пользовался, бесполезная хуета для джунов, которые не могут понять, как работает код. Серьёзным дядям не нужно миллион строк кода в проде проходить пошагово. То же относится к визуальным инструментам дизайна формочек — это красиво выглядит на hello world-ах, но в реальной разработке не применимо, большим дядям нужен REPL, поменял код — запустил, посмотрел.
>>3451681 >То есть, ты выдумал себе, что неиспользование инструментов, которые тебе облегчают генерацию кода тебя как-то поднимают над другими Вообще не понимаю, о чём ты. Ты точно на моё сообщение хотел ответить?
>Нет ничего плохого в том, чтобы вообще нахуй не писать код, и гробу видеть это программирование. Нет ничего крутого в том, что ты в нем что то понял. Я психотерапевту когда-то озвучивал, что моя мечта — уничтожить программирование, чтобы системы вокруг просто сами работали как мне удобно. Отсюда вопрос: ты кому комент писал?
>>3446782 >Вопрос следующий - TS имеет какие-либо серьезные проблеиы? Или это просто JS здорового человека (со статической типизацией)? TS - это такой же кал ебаного говна, как и JS, просто при выполнении ряда определенных условий ты можешь видеть "типы" переменных. Поскольку никаких фундаментальных проблем языка TS не решает и даже не ставит такой задачи, в итоге TS оказывается просто чуть более продвинутым линтером и все.
>>3452018 Решает проблему рефакторинга старого говна на сотни тысяч строк. Без тайпскрипта ты бы просто переименовать метод бы не смог в легаси тырпрайз фронтенде
>>3449276 >С каких пор она умирает? Наоборот живёт и развивается. Зачем писать неправду? С таких, что на трижды обоссанном ПХП в пять раз больше вакансий, чем на ноде, и это поиск по упоминаниям, т.е. туда вошли вакухи, в которых нода нужна, что б нажимать npm install react. Т.е. собственно бэковых, или, по крайней мере, фулкечных джоб еще раза в 3 меньше. Теперь докинь на другую чашу весов пистон, говно, джаву, сисярп и замерь долю проектов на ноде в бэкэнд разработке. Правильно, она ничтожна.
>Так с серверной разработкой на ТС всё в порядке. Что с ней в порядке? Это абсолютно тот же кал, обмазанный типами (и то, еще поебаться надо, чтоб нормально обмазать).
>>3449276 >О каких ограничениях речь? О всех, которые связаны с тем, что ты пытаешься наебашить бэкэнд на языке, предназначенном для покраски кнопок.
>>3452030 >Без тайпскрипта ты бы просто переименовать метод бы не смог в легаси тырпрайз фронтенде Ты под наркотиками какими-то пишешь сюда? Идешь и переименовываешь.
>>3452181 Ну допустим 1) у тебя два, три - десять методов с одинаковыми названиями 2) объект с таким методом возвращается и другого метода (например фабричный метод) и в коде вызывается этот не уникальный метод. 3) У тебя из типизации нихуя нет. Даже нормальных жс доков. 4) Фронтенд пилится не одним челом, вас там несколько и ее неизвестно сколько было до того и будет после. Ты можешь только свой метод переименовать - в чужие задачи не лезешь. 5) Воообще это был специальный гротескный пример про переименование, но благодаря тайпскрипту в идешке есть поддержка атоматичесих переименований и перемещений файлов с автоимпортом.
>>3451648 Ты сам-то чем пользуешься? VSCode-ом?>>3452216 >но благодаря тайпскрипту в идешке есть поддержка атоматичесих переименований про какую ide речь идет?
>>3452216 >1) у тебя два, три - десять методов с одинаковыми названиями 1. Всё в порядке, они находятся в разных разных файлах. 2. Если они находятся в одном файле, в одном локальном пространстве - любой редактор кода подсветит это. 3. Знал твою мать, видел как её выебал таджик с синдромом дауна, после этого родился ты.
>>3452018 >TS - это такой же кал ебаного говна, как и JS, просто при выполнении ряда определенных условий ты можешь видеть "типы" переменных. Чел, который создавал венгерскую нотацию в своё время, был в ахуе с того, что сделали с понятием "тип". По его исходной теории, число коров — это отдельный тип, число километров — это свой. совершенно несовместимый с числом коров тип. В предельном варианте тип — это не более чем "набор значений, нужных вот этой одной функции", и у каждой функции каждый параметр имеет свой тип. String — это не тип, это формат хранения данных. Значение одного типа может храниться в разных форматах, например, целое число некоего типа может храниться в формате Number или String — в том числе отсюда проистекала ебанутая мода на неявные преобразования типов из девяностых, которая до сих пор осталась в JS и PHP.
Так вот ебаный TS по этой теории никакие типы не проверяет, он проверяет только соответствия низкоуровневых форматов, протоколов, чтобы программа не прекратила работу с исключением из-за неспособности интерпретатора разрешить неожиданную ситуацию. В какой-то степени это частично нивелирует ебаунтые особенности JS, реализованные аж в 90-е годы, но это же делали линтеры для JS, тут тайпскрипт не нужен. Более того, В сложных системах так или иначе возникает потребность в полиморфизме и динамических типах, из-за чего TS становится третьей ногой. Однако, в прикладнухе есть совершенно иное применение TS, которые даже не совсем относится к исходному назначение TS — это поточное написание CRUD-ов на GraphQL, где ты в среду с бэка запрашиваешь схему данных, благодаря чему можешь прокинуть всю эту структуру данных на фронт. То есть, прямолинейные задачи, почти статичные странички, однотипные элементы, 10 лет не менявшийся фреймворк, у которого полностью описаны все типы аргументов функций, и даже поведение отдельных ебливых функций мономорфизировано для ублажения TS — в таких тараканьих бегах IDE и TS проявляют себя хорошо. Ещё раз повторяясь: >>3451648 >нужно сильно ограничить программиста для того, чтобы алгоритмы работы IDE могли предсказуемо работать. То есть, никаких подводных камней в типах данных и метапрограммировании, никакой runtime-only хуеты, недоступной ни в простой разработке, ни даже в отладчике Самое грустное здесь, что такой подход по сути нивелирует все преимущества JavaScript, который изначально был ФУНКЦИОНАЛЬНЫМ ЯП: map-reduce, локальные данные, замыкания как фундаментальный тип данных, рекуррентные алгоритмы через явную рекурсию (асинхронный цикл, между прочим, является рекурсией) — всё это забыто, хотя Elm пытается его возродить.
>>3452030 >Без тайпскрипта ты бы просто переименовать метод бы не смог в легаси тырпрайз фронтенде "Метод"? Ебать, может у вас там ещё и иерархии наследования? Шаблоном Visitor часто пользуетесь?
Нахуй мне метод переименовывать? Типа клиент такой приходит "всё нравится, клиенты товары могут купить, и поиск по сайту работает хорошо — вот только Марие Ивановне и её подружкамиз Тобольска не нравится, что ваши названия методов оскорбляют негров" — так, что ли? Заказчик приходит с новыми функциональными требованиям, и тут уже IDE тебе новую фичу сам не напишет автоматом. Даже если ты нейросеточкой что-то нахуяришь — при иерархии классов поведение этой новой хуйни непредсказуемою.
Я два года назад своему банкингу зарепортил багу с детальным описанием решения, из-за этой баги отваливалась цифровая подпись. Спустя два года со всеми IDE и нейросетками никто не смог поправить проблему, потому что СИСТЕМА СУКА РАСПРЕДЕЛЁННАЯ, ты не контролируешь все её части. Нейронка говорит, что всё работает, IDE говорит, что всё норм — а код не работает. Потому что его писали ебланы с вебштормом вместо мозгов.
>>3452116 >С таких, что на трижды обоссанном ПХП в пять раз больше вакансий, чем на ноде У меня отвлечённые вопрос: какой ебанат придумал на самом хуёвом языке в галактике, созданном за десять дней, писать бэк в условиях, когда можно взять любой другой язык из этой галактики? Я когда N лет назад первый раз услышал про бэк на JS, то даже не совсем понял, что это такое. Я подумал, что у них там на сервере стоит браузер, и им зачем-то нужно в этом браузере что-то автоматизировать. Ну типа как документы MS Office через ActiveX открывать и редактировать (так Office 365 делает, если что). Но ПРОСТО ПИСАТЬ КОД НА JS? Вы ебанулись?
>>3452216 >1) у тебя два, три - десять методов с одинаковыми названиям >2) объект с таким методом возвращается и другого метода (например фабричный метод) и в коде вызывается этот не уникальный метод. Прежде всего нужно ногами отпиздить мудаков, у которых 90% функций называются "post", "get", и прочее. А потом, собственно, проблемы больше не остаётся. А иначе я тебе могу написать код на TS так, что ты охуеешь: type Transformer<T> = (input: T) => T; type Pipe<A> = <B>(fn: Transformer<B>) => Pipe<B>; type Execute<T> = (x: T) => T; type Pipeline<T> = Pipe<T> & Execute<T>;
const pipeline = createPipeline((x: number) => x + 1) ((x: number) => x 2) ((x: number) => x - 3);
const result = pipeline(5); // (((5 + 1) 2) - 3) = 9 console.log(result); // 9 И пожелаю тебе щастья и здоровья при рефакторинге этого говна. Это, кстати, не совсем шутка, я так ИРЛ троллил на работе ебланов с вебштормами.
>Фронтенд пилится не одним челом, вас там несколько и ее неизвестно сколько было до того и будет после. Если у вас каждый новый разраб срёт в проект как хочет, то вам ничего не поможет. То есть, будет некая критическая масса кода, при достижении которой проект станет невозможно поддерживать и развивать — это постоянно случается, сплошь и рядом. Даже фейсбуку приходилось нанимать сторонние компании для разработки отдельных сложных модулей, потому что 95% фронтеров в фейсбуке — безмозглые макаки, и менеджмент фейсбука это довольно чётко это понимает. Собственно, именно так и возникла идея создания React.js — он нужен был как относительно безопасная смирительная рубашка для раскраски кнопочек индусами. И по той же причине React.js стал настолько популярным среди аналогичных индусных помоек.
>>3452435 >Пиздец ты тупой писатель портянок на 5000 строк... А что делать, если я (>>3452750>>3452755) — умный писатель портянок? В принципе, обычно до 5000 в JS я стараюсь не доходить, где-то 1000-3000 строк является оптимальным количеством для логики, в маленькие файлы я выношу только общие вспомогательные штуки.
>>3452755 >Это, кстати, не совсем шутка, я так ИРЛ троллил на работе ебланов с вебштормами. То есть, ты считаешь, что VSCode с плугинами - более оптимальный вариант для работы? мимо другой анон
>>3452757 >Например? С основаниями почему нужно взять именно этот любой другой язык, кроме TS. Питхон, Golang, Elixir — в порядке от "ЯП для даунов" до "ЯП для экспертов по распределённым системам". Питхон ещё и потому уважаем мной, что я под него пишу расширения. То есть, если возникает какое-то бутылочное горлышко, то я просто хуярю на сишке функцию для этого вычисления. Хотя, есть и другие способы добиться промежуточного эффекта, вроде того же Cython, генерирующего питоновые расширения без необходимости целиком погружаться в C API.
>>3452763 >>const exec = (x: T) => composed.reduce((acc, f) => f(acc), x) >Это у вас функции такие? А в чем прикол? Чейнификация же ж, а exec проходится по всему списку функций composed и применяет их по одной. composed здесь является общей изменяемой переменной для всех функций, что не совсем очевидно.
>>3452750 >Так вот ебаный TS по этой теории никакие типы не проверяет, он проверяет только соответствия низкоуровневых форматов, протоколов, чтобы программа не прекратила работу с исключением из-за неспособности интерпретатора разрешить неожиданную ситуацию. Обгрунтовал.
>В какой-то степени это частично нивелирует ебаунтые особенности JS Одной из которых является то, что вместо адекватной стратегии вместо fail-fast fail-loud системы, которая падает сразу и громко, JS всегда выбирает продолжать исполнение любой ценой, даже когда обрабатываемые данные заведомо невалидны и дальнейшая работа программы вообще не имеет смысла, что роднит ее с другим фракталом плохого дизайна: >PHP
>это поточное написание CRUD-ов Чтобы макака ПОЛНОСТЬЮ отключила мозг и из типов генерила OpenAPI ручки, все так.
>все преимущества JavaScript, который изначально был ФУНКЦИОНАЛЬНЫМ ЯП: map-reduce, локальные данные, замыкания как фундаментальный тип данных Насчет локальных данных и замыканий, я бы, конечно, поспорил.
>>3452753 >У меня отвлечённые вопрос: какой ебанат придумал на самом хуёвом языке в галактике, созданном за десять дней, писать бэк Смотрит на тебя как на гоя.
>>3452805 >Питхон, Golang, Elixir — в порядке от "ЯП для даунов" до "ЯП для экспертов по распределённым системам". Зачем ты ему что-то объясняешь? Если человек считает нормальным писать бэк на TS, тут есть два варианта: 1) они никогда в жизни не видел других ЯП, тогда бесполезно что-либо объяснять, это как объяснять преимущества тойоты человеку, который всю жизнь с жигулей не слазит. Его просто надо в эту тойоту посадить. 2) он видел другие ЯПы, но все равно считает TS нормальным. В таком случае нужен галоперидол, тут объяснения бессмысленны.
Вы развели демагогию, но толком не привели ни одного довода почему питухон это тойота, а нода с тайпскриптом - жигуль. Если причина только в строгой типизации питухона - то наркоманы это вы.
Для бизнес крудошлепства нода с тайпскриптом дает все что нужно. Нахуя кабанычу с его специфичной CRM какие-то другие технологии кроме ноды? Да нода не для рокет саенса. Она для простого биза ,чтобы нанять челиков фулстеков с улицы. Если бы выбирали с питухоном, пришлось бы искать среди людей с двумя стеками в резюме.
Что касается тайпскрипта. Наркомания с переусложнением системы типов в тайпскрипте не нужна в бизнесе. Там нужны простые юзкесы. Например нужны средства для идешки, чтобы быстро найти ссылки в коде на типы или классы. Или чтобы не писать на каждый пук тесты, а статическая типизаци несколько уменьшает потребность в таких тестах. Но тащить ради статической типизации жаву в малый бизнес не выгодно.
Поэтому нода просто практичный выбор, для маленьких компаний, как и пыха. На мое имхо если большая компания выбирает ноду, то это действительно больная голова виновата.
>>3452900 >JavaScript, который изначально был ФУНКЦИОНАЛЬНЫМ ЯП Нет, это императивная джаваподобная ООП-дрисня для вебмакак. Там даже оптимизации хвостовой рекурсии нет.
>>3452924 >почему питухон это тойота, а нода с тайпскриптом - жигуль. Потому что:
1) нода изначально не предназначена для бэкенд разработки 2) джаваскрипт один из худших языков программирования в мире для бэка по озвученной выше причине >JS всегда выбирает продолжать исполнение любой ценой, даже когда обрабатываемые данные заведомо невалидны и дальнейшая работа программы вообще не имеет смысла
Это даже для браузера хуевенькая идея, а для бэка - это просто пизда.
3) тайпскрипт НИКАК не фиксит фундаментальные проблемы джаваскрипта, выступая в роли довольно примитивного линтера/статического анализатора
Тебе нужно объяснять почему джс худший яп в мире?
>Для бизнес крудошлепства нода с тайпскриптом дает все что нужно. Laravel или Django просто в силу КРАТНО более развитой экосистемы с этим справляются в разы лучше.
>Нахуя кабанычу с его специфичной CRM какие-то другие технологии кроме ноды? Переформулируй свой вопрос: >Нахуя кабанычу с его специфичной CRM какая-то нода?
>Она для простого биза ,чтобы нанять челиков фулстеков с улицы. И на выходе ты получаешь фронтендеров, которые работают с БД, и бэкендеров, которые верстают. Просто пушка, блять!
>Если бы выбирали с питухоном, пришлось бы искать среди людей с двумя стеками в резюме. Нет, вместо двух равномерно лоускильных фулкеков, у тебя будет один нормальный фронтендер, и один нормальный бэкендер.
>Наркомания с переусложнением системы типов в тайпскрипте не нужна в бизнесе. Тем не менее, любая код база на ТСе очень быстро превращается в нагромождение перечисляемых ютилити типов с инферами и прочей ебалой. Я еще ни разу не видел, чтоб без этого обошлось.
>Но тащить ради статической типизации жаву в малый бизнес не выгодно. Никто не говорит про джаву, речь про простые скриптовые языки типа ПХП и питухона, которые лишены фундаментальных проблем ДЖС.
А самое потешное, что при сопоставимой производительности и ресурсоемкости Node и Go, на Node я могу сделать бизнес-логику на порядки сложнее, чем в Go и поддерживать ее будет на порядки легче, чем в Go. Go - прекрасен, спору нет. Невыразительный обрезок, но для инфраструктурных задач он прекрасен. Однако делать на нем весь бэк отличный от простого - это путь для полностью отбитых.
>>3452955 Но питон тоже не проектировался для бекенд разработки. Жава вообще для таблетов проектировалась, а не пк и серверов. Единственный бекенд язык тогда - это пыха.
>>3452990 >Но питон тоже не проектировался для бекенд разработки. Ты вообще понимаешь разницу между DSL и ЯП общего назначения?
>Жава вообще для таблетов проектировалась С хуяли баня загорелась?
>The Java platform and language began as an internal project at Sun Microsystems in December 1990, providing an alternative to the C++/C programming languages.
Челики просто не осилили C++: >they decided that C++ needed too much memory and that its complexity led to developer errors. The language's lack of garbage collection meant that programmers had to manually manage system memory
>>3452900 >>Так вот ебаный TS по этой теории никакие типы не проверяет, он проверяет только соответствия низкоуровневых форматов, протоколов, чтобы программа не прекратила работу с исключением из-за неспособности интерпретатора разрешить неожиданную ситуацию. >Обгрунтовал. Ты хоть укажи, что конкретно обгрунтовать. Ты не согласен с тем, что TS от каких-то ошибок защищает? Защищает, но ровно настолько, насколько он сможет проверить данные до выполнения скрипта. И это о-очень сильно зависит от того, насколько всратые данные будут приходить из соседних скриптов.
>>3453010 James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java language project in June 1991.[23] Java was originally designed for interactive television, but it was too advanced for the digital cable television industry at the time.[24] The language was initially called Oak after an oak tree that stood outside
Тожи DSL для маленьких телеков...
Чел. DSL для веба это HTML, а жс взаимодействует с HTML через апи. Как и любой другой язык
>>3453033 Почему у вас какие-то нереалистичные шизо-идеальные требования к языку? Вам прямо прувер нужен, а не язык для хуяк-хуяк - работает? Думаешь кабан будет за доказательства теорем платить?
>>3453038 Для 99% кабанов стратегия хуяк-хуяк и в продакшен - самая оптимальная. 1% это бигтех и финтех, которым нужно под микроскопом, через 25 митапов и 48 ревю согласовать новый цвет кнопочки. Местные мартыханы наслушаются ахуительных историй и повторяют. Запомните золотое правило, дети, ХУЯК-ХУЯК И В ПРОДАКШЕН.
>>3452955 >1) нода изначально не предназначена для бэкенд разработки А для чего она предназначена? Жопаскрипт и всё с ним связанное предназначено в первую очередь для веб-обезьян, пытаться делать на ноде что-то кроме крудов (бэкенд разработки) будет только клинический олигофрен.
>>3452750 > все преимущества JavaScript > ФУНКЦИОНАЛЬНЫМ ЯП: map-reduce, Из-за такого преимущества и ФП подхода у тебя один говнокод вместо алгоритмов был. Именно из-за этого говнокодища все бугрутили и сделали TS. Писали бы на JS в стиле С и TS никогда бы не родился.
>>3452955 >2) джаваскрипт один из худших языков программирования в мире для бэка по озвученной выше причине >>JS всегда выбирает продолжать исполнение любой ценой, даже когда обрабатываемые данные заведомо невалидны и дальнейшая работа программы вообще не имеет смысла Так не пиши невалидные программы. В чем проблема вообще? Не понимаю. Реально не понимаю.
>>3452957 Там на ноде http вместо сервера, лол. Если сменить либу на uWS, не использовать всякое говно типо JSON.parse, не создавать объектов во время работы - производительность будет раза в два превосходить GO.
Рвутся эти го-петушки потому что понимают - го/петуховн/пхп/сраст калыч на беке и не рабоатет. Забавно кстати с GO-калом вышло, язык создавался для бека, но не вывозит из-за архитектурных косяков.
>>3452924 >Если причина только в строгой типизации питухона - то наркоманы это вы. У питухона много проблем, но на фоне JS строгая типизация — это строго преимущество. У него другая проблема — он, сука, ели ползает. Если не нужно обрабатывать тысячи запросов в секунду на одном хосте, то как-то и похуй вообще. Github, вон, на Ruby хостится. Жрёт ресурсов, конечно, пиздец как много, но работает.
>Она для простого биза ,чтобы нанять челиков фулстеков с улицы. Если бы выбирали с питухоном, пришлось бы искать среди людей с двумя стеками в резюме. В твоём тезисе я согласен только с тем, что уровень фулстэкового сайтописания нынче пробил дно. Просто каких-то бомжей с улицы собирают. Я не знаю адекватного решения этой проблемы, потому что на самом деле делать систему, где логика клиента и сервера работают вместе, крайне сложно, и, по-хорошему, этим должны заниматься топовые разрабы. И там, где сидят эти топовые разрабы — там обе логики работают вместе. И, да, логика сервера при этом должна быть отдельной от клиента — это неизбежно. Но по факту разработкой занимаются люди с улицы — с ожидаемым результатом.
В 95% случаев фреймворки под тяжёлую динамику (React, Vue, Angular, Svelte, Solid) применяют там, где она нахуй не нужна. Впрочем, о чём это я, React.js в принципе не умеет в тяжёлую динамику — он изначально создан для переключения между полустатичными страничками фейсбука. Итого картина выглядит как: — У нас на страничке два кнопки требуют JS, а давайте уже всю страницу рендерить через JS. — У нас вся страница рендерится на клиенте на JS, а давайте и на сервере тоже через JS всё генерировать. Типа "сгорел сарай — гори и хата".
Тем временем, в 2025 всю динамическую часть вебсайта можно написать на голом JS, в крайнем случае со вставками на Svelte/Solid. Просто напоминаю, что jQuery стала не нужна в 2014 году, а все фреймворки на Virtual DOM стали бессмысленны в 2018. Хороший пример — https://distill.pub/guide/ Вот одна из страничек на этом шаблоне: https://transformer-circuits.pub/2025/attribution-graphs/biology.html То есть, по большей части статика, но есть сложные интерактивные вставки на JS. Никто эти интерактивные вставки не будет рендерить на сервере — это никому не нужно, поисковые боты красоту ваших кнопочек не оценят. Только не надо мне вонять историями про "консистентность, одинаковый рендеринг на сервере и клиента" — вот вам пикрил, блять, консистентный рендеринг с отключенным JS на топовых вьебсайтах с node.js бэкендом. Дохуя консистентно? То-то же.
Я последний раз как попробовал фронтом заниматься, то по итогу послал всё это говно нахуй и ушел в хайлоад. Фронту реально бабки платят не просто так за то, чтобы в этом говне колупаться. ХЗ, длинное сообщение уже получилось, я могу долго вонять по этой теме, но я боюсь, что всем просто похуй.
>>3452924 >Или чтобы не писать на каждый пук тесты, а статическая типизаци несколько уменьшает потребность в таких тестах. Но тащить ради статической типизации жаву в малый бизнес не выгодно. Тут проблема не в статической типизации. а в жаве. На Go садят индусов писать, и им норм. Просто IT — это инертная среда, она новые решения минимум 5 лет адаптирует.
>Поэтому нода просто практичный выбор, для маленьких компаний, как и пыха. Поясни, с хуя ли пыха в 2025? Говноязык без дизайна, как и JS.
>>3452928 >Нет, это императивная джаваподобная ООП-дрисня для вебмакак. Там даже оптимизации хвостовой рекурсии нет. Была оптимизация, даже в стандарте прописана, но фактически все интерпретаторы её не поддерживают, потому что геморно. Например, хвостовая оптимизация разваливает стэк.
>>3453433 >но я боюсь, что всем просто похуй. Мне не похуй. Я внимательно читаю, что ты пишешь. Пока не всё понимаю, потому что только собираюсь в фулстек (для себя).
>>3452957 >Просто ты - дегенерат: https://www.youtube.com/watch?v=shAELuHaTio Нода и Go в 4 раза быстрее питона — дальше что? А Rust ещё в 4 раза быстрее и Ноды, и Go. Если у вас нет хотя бы тысячи запросов в секунду, то эта разница похуй вообще. Почему же все не пишут на расте, если раст самый быстрый? Может потому, что в энтерпрайзном говне, требования к которому меняются два раза в день, ты заебёшься переписывать свой растовый код? А если же мы вспоминаем про удобство, то возникает вопрос: нахуй мне Нода, когда Go удобнее и такой же быстрый? Особенно если мы говорим про TypeScript, в котором типы нужно так же писать, но проверка их намного хуже. Даже в сраном Lua такого пиздеца с типами нет — хотя у гейдевов были вопросы к типам, потому они разрабатывали свои производные, вроде JASS. Но никому не могло на ум прийти писать не-браузерную логику на JS.
>при сопоставимой производительности и ресурсоемкости Node и Go, на Node я могу сделать бизнес-логику на порядки сложнее, чем в Go и поддерживать ее будет на порядки легче, чем в Go Если бы ты написал "я обмажусь говном, буду бегать по улице и дрочить" — я бы ответил "ну это разумно, весна заканчивается". Но хуйня, которую ты написал, вообще бессмысленна и взята с потолка. "Сопоставимая производительность" — господин в курсе, сколько секунд нужно выполняться программе на ноде, чтобы стать быстрее питухона? Про деоптимизацию от кривого кода слышал? Что ебучая нода однопоточна и просто хуёво выполняет сложные алгоритмы на процессоре не слышал? Чуть оступился — и ты отправляешься соревноваться с питухонщиками за первенство по производительности.
Далее, "поддерживать на порядок проще". Я даже не знаю как-то, с чего начать, потому что это настолько бессмысленный тезис, что тут даже нечего опровергать. Просто на досуге поешь говна из рандомных типов от сторонней либы или лямбды от неё же, и ещё раз повтори, что "поддерживать ноду на порядок проще". Ну как бы я соглашусь, что поддерживать ноду возможно, но сравнивать неисправимо динамическую хуету со статически и строго типизированным языком даже джун всерьёз не станет.
>>3452990 >Но питон тоже не проектировался для бекенд разработки. Жава вообще для таблетов проектировалась, а не пк и серверов. Единственный бекенд язык тогда - это пыха. Пыха вообще было процессором шаблонов, там не было никакого бэкэнда. Может быть потому, что не было ни одного языка специально для разработки сайтов, потому у нас вебсайты нынче такое говно.
>>3453010 >they decided that C++ needed too much memoryv Мне кажется, что там просто кто-то обосрался с цитатой или переводом. В вике никакой ссылки на оригинал нет, гугл ничего не находит. Даже в 1994 году не было никаких причин считать, что у Java потребление RAM будет ниже, чем у C++. Я спросил у нейросетки — она вообще не ебёт, откуда взята эта цитата. С вероятностью 99% эту хуйню просто придумал анон, правивший статью в вике. Всё-таки не стоит забывать, что википедия — это просто помойка, куда каждый выбрасывает то, что ему не нужно.
>>3453038 >Почему у вас какие-то нереалистичные шизо-идеальные требования к языку? Вам прямо прувер нужен, а не язык для хуяк-хуяк - работает? Думаешь кабан будет за доказательства теорем платить? Не у меня. Вон, ебанашка (>>3452957) рассказывает, как легко поддерживать проекты на JS. Я просто пытаюсь какую-то объективную сторону занять, а не фанбойскую или хейтерскую.
>>3453181 >Сеньоры есть в треде? У вас за последние 3 года ваша сеньорская зарплата упала? Есть сеньоры, но крестовые. ЗП выросла, но я по итогу ушел с этой работы из-за нарастояющего мозготраха.
>>3453269 >Из-за такого преимущества и ФП подхода у тебя один говнокод вместо алгоритмов был. Операторы сравнения из-за лямбд такие сделаны? >> console.log(parseInt(0.0000005)); 5 вот это для удобства функционального программирования сделано, правильно? Как раз функциональщина серьёзных проблем не создаёт, потому что обычно тот, кто её пишет, понимает что пишет. Правда, без персистентных типов данных особо далеко не уедешь, а имеющиеся типы предельно всраты.
>>3453433 >Я не знаю адекватного решения этой проблемы, потому что на самом деле делать систему, где логика клиента и сервера работают вместе, крайне сложно, и, по-хорошему, этим должны заниматься топовые разрабы. И там, где сидят эти топовые разрабы — там обе логики работают вместе. И, да, логика сервера при этом должна быть отдельной от клиента — это неизбежно. Но по факту разработкой занимаются люди с улицы — с ожидаемым результатом. Топовые разрабы пишут библиотеки. А обычные чуханцы с улицы просто пользуются этими библиотеками и пользуются вполне прилично - всё работает, никаких проблем особо и нет. Некто не пишет с нуля кроме долбоёбов вроде меня ядра приложений, ядра рендера, гидратацию и прочую чушь.
>>3453594 > Как раз функциональщина серьёзных проблем не создаёт ФП и есть одна большая проблема. Когда ты КАЖДЫЙ СУКА РАЗ создаёшь объекты и функции и возвращаешь их - всё скатывается дикий говнокод через полторы итерации разработки. > тот, кто её пишет, понимает что пишет. Влажные манямечты. Если бы такие как ты понимали что ты пишешь - ты не писал бы в ФП стиле. > Правда, без персистентных типов данных Вся суть таких как ты. У тебя в return куча дерьмища вместо строк, куча бессмысленных состояний, никто ничего не разберёт в твоей лапше (как и ты сам) и чтобы огородить тебя от продкашена - придумали TS, который не позволяет тебе возвращать рандом ебалу.
>>3453586 >Вон, ебанашка рассказывает, как легко поддерживать проекты на JS Ебанашка утверждает, что проекты, где бэк полностью построен на Node поддерживать легче, чем полностью на Go при условии, что у него сложная бизнес-логика. На Node я могу просто создать объект, который описывает бизнес-сущность: его свойства, поведение и его методы. То есть, я прямо, компактно (в рамках портянки) опишу: - ЧТО ЭТО - ЧТО ОНО ДЕЛАЕТ И все в рамках одного класса.
В Go мне придется пердолиться со структурами, методами, интерфейсами и все в разных местах порятнки. А потом еще понимать, что к чему и где относится, бегая туда-сюда, получая наслоения абстракций друг на друга.
Единственная проблема - это проблема с типами, которая может возникнуть. Но для этого я буду не щелкать ебалом и использовать TS. Хотя в Go также может возникнуть проблема в типами, пусть и с меньшим шансом.
>>3453298 >либу замени >это не используй >то не используй >объекты не создавай Ну и нахуй мне все это надо, если можно просто взять GO и все будет быстро из коробки работать. Это уже не говоря о том, что в продакшене ничего ты менять не будешь, а будешь пилить на Nest с экспрессом под капотом и не выебываться.
Типы и валидация Валидация входящих данных - бездарное мусорное говно для даунов, уровня экранирования переменных SQL. Типы - это вообще разные сущности. Одно в рантайме, другое при сборке используется. Не путаем
Go На TS ты можешь выразить всё то же, что и на GO, в обратную сторону не работает. В этом и заключаются возможности языка
Функциональное программирование Его не существует. Везде, где у тебя есть сеть, время и внешние зависимости - не может быть так называемых чистых функций. Вас наебали Хаскелисты
Про React Он нужен не для VirtualDom. Он нужен, чтобы генерировать интерфейс кодом функциями, как делают везде, в JAVA, C++ etc. - чтобы не пердолиться отдельно с HTML и CSS
Про питухон Клей для тех мест, где не справляется BASH. Типизации в нем нет
Переусложнение TS Скил ишью
Основная проблема макак в их сознании себя макаками. Я могу писал на питухоне, пыхе и других примитивных языках. Но не хочу потому, что они не позволяют мне выражать задумку так, как это делает TS. Кресты ещё лучше, но на них интерфейс особо не попишешь - QT лютый кал по сравнению с React. Макака же тоже имеет предпочтение в языках, но она не хочет писать на языке не потому, что он ей что-то не даёт, а потому, что ей сложно. Она запуталась в лямбдах и типах, и хочет отменить это, как лудит. И она даже не палится в своей аргументации. То есть макака против, но никогда не за
Если бы макаки осознавали себя, то было бы проще, но тогда бы они и не были макаками. А так потребуется больше времени, чтобы их вымыло с рынка, потому что их хозяева ещё долго будут не в теме, что делает макака, что позволит ей кормиться. Но вымывание случится, как это случилось с асемблеродаунами, когда появился СИ, с дельфистами против крестов, сейчас происходит с пыхерами и рубистами, и начинает происходить с петухонистами
>>3453795 > Ну и нахуй мне все это надо, если можно просто взять GO И получить падение производительности в два раза. Молодец, хорошо поступил. > и все будет быстро из коробки работать Не будет, это же go и куча говнокода на go. Чтобы на go было быстро тебе придётся стать сеньёром с 10 годами опыта. > Это уже не говоря о том, что в продакшене ничего ты менять не будешь, Скорее на пхп и жабе.
>>3453800 Про TS Бессмысленный и бесполезный высер, созданный для макак которые не могут отдавать себе отчёт в том что пишут. Вместо написания приложения теперь придётся писать обосранные типы на десятки строк, которые никаких проблем и не решают.
>>3453829 А нуда, нужно же писать везде any. Напомни, зачем этот кал тогда нужен?
> что у тебя прилетает объект, в котором поля неизвестны Почему у тебя прилетает объект в котором поля неизвестны? Как это вообще получается? Ты посмотреть не можешь? У тебя ручки трясутся и из-за этого ты не можешь посмотреть что это за объект? Тебе неприятно смотреть в API?
Объясни, как в целом происходит разработка в среде умственно отсталых дегенератов, которые неспособны прочитать апи и посмотреть какой объект возвращается?
>>3453851 >нужно же писать везде any Не нужно. Опять ты обосрался. Тебе же было сказано, не обязывает
>Почему у тебя прилетает объект в котором поля неизвестны У меня такого нет. У тебя прилетает объект. Может сказать, какие поля у этого объекта: function kek (obj) { console.log(obj.???) }
>У тебя ручки трясутся и из-за этого ты не можешь посмотреть что это за объект? Тебе неприятно смотреть в API? Погодь, погодь вопросы задавать. Ты с основой не разобрался ещё
>>3453863 > У меня такого нет. Ты же сам сказал что это проблема. Теперь у тебя проблем нет? Что же случилось, сначала у тебя проблема, а потом её нет!
> Может сказать, какие поля у этого объекта: > function kek (obj) { console.log(obj.???) } Что за дегенеративный кусок говна, даун? Это пишется так: > function kek({ mother, death }) { console.log(mother, death) } > "tvoya", true
> Погодь, погодь вопросы задавать. Ты с основой не разобрался ещё Это ты про ту тему с умственно-отсталыми дегенератами, которые не могут писать нормальный код. Ну да, и что с тобой?
>>3453889 >Показывай, где сказал > > А хуй те, не используй, сам ебись с тем, что у тебя прилетает объект, в котором поля неизвестны Т.е. я неправильно понял, "ебаться с объектом" это не проблема, это наслаждение? Да это наслаждение, если этот объект твоя жена. > Что лежит в mother? Хорёк. Не знаю зачем твоя мать в себя его запихала, спроси у неё. Возможно она хотела отрицательное зачатиеировать тебя, но уже поздно...
>>3453930 Выбирая между TS и GO - однозначно GO. Плюсов куда больше, например проблемные участки кода можно переписать на C++, компилятор GO автоматически встраивает его. Это пиздец какой плюс, для бэка это очень крутая хуйнюша. Ну а если решил выбрать ноду, то лучше чистый JS, разработка куда быстрее чем с TS, скорость работы кода на чистом JS сравнима с GO (если не использоваться C++ на проблемных участках).
Этого >>3453939 дурочка с TS не слушай, он просто местный умственно-отсталый юродивый, копки красит на CSS и всем советует TS, лол.
>>3454101 > На ноде ты тоже можешь переписать участки на крестах. В JS это вызывается как внешний модуль, ты не можешь делиться участками память, ссылками на объект и производить прочие охуенные вещи, как можно делать в GO.
Оверхед вызова C++ в GO примерно 30-40ns, да, это дохуя, но. Оверхед библиотеки в ноде это 5000ns нахуй. Вызов WASM это 10-20 ns, но работа с типами занимает ещё 500-2000ns.
Чтобы работать с WASM и не терпеть ебанутых издержек - нужно работать с примитивными типами, никаких объектов, весь дизайн приложения нужно составлять для работы с WASM, все данные хранить в типизированных массивах. В GO ничего из этого не нужно нахуй вообще. Берёшь. И пишешь.
> Ты такой овощь, что даже не ознакомился с возможностями инструмента Тут только ты ничего и ни о чем не знаешь, потому что ты обоссаный всем тредом кнопокрас.
> Только это нахуй не нужно обычно. Конечно не нужно, с такой-то производительностью.
>>3452116 >С таких, что на трижды обоссанном ПХП в пять раз больше вакансий, чем на ноде И что? По твоей логике умирает всё, где вакансий меньше пхп? На го меньше вакансий, чем в пхп, он умирает? Я ещё раз говорю, вакансий на ноде не становится меньше каждым годом, а наоборот больше. Это буквально противоположно умиранию.
>Что с ней в порядке? Это абсолютно тот же кал, обмазанный типами (и то, еще поебаться надо, чтоб нормально обмазать). Написано же, что с ней всё в порядке. В 2025 уже есть годные инстрмуенты для разработки бекенда на ТС. Разрабатывать бекенд на ТС удобно, приятно и быстро. Если тебе сложно добавить ТС в проект, то это skill issue, там уже давно ничего не надо обмазывать и не надо ебаться, делается всё элементарно и просто.
>О всех, которые связаны с тем, что ты пытаешься наебашить бэкэнд на языке, предназначенном для покраски кнопок. Так назови какие именно особенности этого языка мешают написанию бекенда, как они ограничивают тебя в написании бекенда. Ладно, можешь не пробовать, ты всё равно не сможешь. Сам выдумал себе в голове рамки про язык для покраски кнопок, или как попугай пересказываешь чужое необоснованное мнение. Оно может и было обоснованным, но лет 10+ назад.
>>3452753 К тебе тот же вопрос, какие именно особенности этого языка мешают написанию бекенда, как они ограничивают тебя в написании бекенда?
>>3452900 Если человек считает нормальным писать бэк на TS, тут есть два варианта: 1) они никогда в жизни не видел других ЯП, тогда бесполезно что-либо объяснять, это как объяснять преимущества тойоты человеку, который всю жизнь с жигулей не слазит. Его просто надо в эту тойоту посадить. Я пишу помимо ТС на расте и го. 2) он видел другие ЯПы, но все равно считает TS нормальным. В таком случае нужен галоперидол, тут объяснения бессмысленны. Ты не сможешь обосновать почему писать бекенд на ТС это плохая идея.
В чем смысл срача го/нода? Сейчас же везде микросервисы, можно пилить на чем хошь. На ТС быстрее наваять, а если будут проблемы с производительностью - перепилить на го.
>>3454337 >В чем смысл срача го/нода? Да нет особо никакого смысла. Нода вполне нормально работает, так же как и го. Равнозначные языки для бека, отличий особо нет. > На ТС быстрее наваять, а если будут проблемы с производительностью Можно изначально писать на JS и проблем с производительностью не будет.
>>3452924 Для больших проектов бекенд на ТС отлично работает. Перформанс более чем достаточный, автоскейлинг в кубере делается как и везде.
>>3452928 При чём тут язык? В JSC (Bun) есть оптимизация хвостовой рекурсии. А теперь объясняй зачем тебе она понадобится.
>>3452955 >1) нода изначально не предназначена для бэкенд разработки Сейчас не 2010 год во-первых, во-вторых она предназначена для запуска JS вне браузера, это уже достаточно.
>JS всегда выбирает продолжать исполнение любой ценой, даже когда обрабатываемые данные заведомо невалидны и дальнейшая работа программы вообще не имеет смысла Нет, не всегда, и обычно это происходит по причине говнокода.
>Laravel или Django просто в силу КРАТНО более развитой экосистемы с этим справляются в разы лучше. Там как минимум нет статической типизации, уже по этой причине они отправляются в помойку.
>>3453583 >А если же мы вспоминаем про удобство, то возникает вопрос: нахуй мне Нода, когда Go удобнее и такой же быстрый? Go не удобнее, он корявый и обрезванный, на нём неудобно писать веб-бекенды. На нём неплохо пишется софт уровня докера и кубера, хотя и тут его корявость и обрезванность не помогает, но чтобы он был удобнее именно для веб-разработки, чем ТС? Абсурд. Я буду делать разработку сложного проекта на ТС раз в 5 быстрее, а несложного в 10-20 быстрее.
>Особенно если мы говорим про TypeScript, в котором типы нужно так же писать, но проверка их намного хуже. В чем твоя проблема с типизацией в ТС? Структурная типизация, или что?
>Что ебучая нода однопоточна и просто хуёво выполняет сложные алгоритмы на процессоре не слышал? А ты часто числодробилки пишешь в рамках веб-бекенднов? Часто пишешь какой-нибудь транскодинг видео? Сложно выделить обработчик в отедльный микросервис, который будет дёргать ffmpeg? Да хоть из руби дёргай, какая разница, если делом будет заниматься внешняя сишная либа.
>>3453810 Не нужно писать типы на десятки строк, пишешь примерно как в дотнете, джаве, го.
>>3453851 У меня в проектах 0 any, я просто не делаю даунский tsconfig. Есть немного unknown там где нужно с соответсвующими проверками.
>>3453930 Для 90% бекенда TS, для хитровыебанных сетевых и числодробильных штук Go, 1% раст для тру хайлоада во всех смыслах, и память, и цпу, и латенси с рпс - всё лучше го.
>>3454232 >>3454101 Никто не юзает эту фичу, для этого просто делается отдельный микросервис на го или расте и всё.
>>3454232 >Конечно не нужно, с такой-то производительностью. С какой такой? Байки про плохую производительность оставь тем, кто в 2025 пишет ТС бекенд на экспрессе.
>>3454337 Несколько человек просто иррационально хейтят идею написания бекенда на ТС, кто-то пересказывает чужое мнение из 2010, кто-то болен снобизмом и ему печёт в духе "что эти кнопкокрасы себе позволяют, ррряяя, этот язык не предназначен для бекенда".
А так да, микросервисы с изоляцией всякого цпу-баунд говна в раст или го отлично работают.
>>3454341 >Можно изначально писать на JS и проблем с производительностью не будет. ТС не накладывает никакого оверхеда, лол, исполняется же ЖС код.
>>3454353 Это проблема, которая актуальна чисто для джунов. Человеку с опытом уже становится сложно писать говнокод на ТС.
>>3454358 >Не нужно писать типы на десятки строк, Нужно. Это ТС. На ТС все пишут типы на десятки строк, если ты не пишешь - ты не пишешь на ТС.
>ТС не накладывает никакого оверхеда, лол, Накладывает. Он буквально высирает неоптимизированный говнокод, который можно написать куда лучше, если писать на ЖС. ТС вообще никогда не занимался оптимизацией своего кала, ТС он про другое - позволить джунам писать кучу корпоративного дерьмокода за копейки.
> Это проблема, которая актуальна чисто для джунов. Человеку с опытом уже становится сложно писать говнокод на ТС. Это да, сеньёры на ТС писать не будут, человек с опытом будет писать на ЖС.
>>3454358 > Никто не юзает эту фичу, для этого просто делается отдельный микросервис на го или расте и всё. Охуенная идея даунгрейднуть производительность и гонять данные между бекендами просто потому что бекендер чут-чуть даун.
Впрочем, кто я такой чтобы судить любителей покушать свежее человеческое дерьмо.
>>3453810 >Вместо написания приложения теперь придётся писать обосранные типы на десятки строк, которые никаких проблем и не решают. Два раза не прав.
Во-первых, благодаря типизации можно писать код по спеке. Например бэк ещё не сделали, но его API уже спроектирован, а значит уже можно пилить для него клиент (фронт). В голом JS такой финт сделать практически нереально.
Во-вторых, часто типы можно сгенерить из самой спеки, если она формально описана (openapi, graphql и тп).
>>3454370 Какие-то маняфантазии потому-что 1) Обсуждается перформанс в вакууме и как всегда в попугаях 2) Априори преподносится, что этот магический перфрманс важнее поддерживаемости 3) Практически всегда можно убрать типы из кода и сверить бечмарки
>>3454378 >Во-первых, благодаря типизации можно писать код по спеке. Например бэк ещё не сделали, но его API уже спроектирован, а значит уже можно пилить для него клиент (фронт). Погоди, а в чем проблема писать это на жс? Типо. Религия? Религия тебе запрещает это делать на жс? >Во-вторых, часто типы можно сгенерить из самой спеки, если она формально описана (openapi, graphql и тп). Т.е. тс обязывает ещё и всякую хуйню проектировать и всё ради того чтобы дауны-джуны не ошиблись в строке.
Ну не знаю, а у вас в комании принято набирать даунов-джунов? Это типо норма?
>>3454362 >Нужно. Это ТС. На ТС все пишут типы на десятки строк, если ты не пишешь - ты не пишешь на ТС. Нет, нужно только если ты автор библиотеки, напимер ты разработчик какого-нибудь реакта.
>Накладывает. Он буквально высирает неоптимизированный говнокод, который можно написать куда лучше, если писать на ЖС. ТС вообще никогда не занимался оптимизацией своего кала, ТС он про другое - позволить джунам писать кучу корпоративного дерьмокода за копейки. Пруфы? Он высирает разве что функции там, где это казалось бы не нужно - когда юзаются енамы. ТС про что угодно, на нём и корпоративные говнокод могут писать, и некорпортативные неговнокод тоже. Суть в том, что на чистом ЖС просто уже практически не пишут. ТС это дефолт и уже давно.
>Это да, сеньёры на ТС писать не будут, человек с опытом будет писать на ЖС. Разве что какой-нибудь мелкий скриптик, не более.
>>3454370 >Охуенная идея даунгрейднуть производительность и гонять данные между бекендами просто потому что бекендер чут-чуть даун. Наоборот апгрейднуть проивзодительность, а заодно и масштабируемость. Впрочем, я и прямо из монолита на ноде дёргал ffmpeg, ничего страшного не было, но это был небольшой проект. А писать c/cpp аддоны для ноды это чаще всего плохая идея, можно заебаться чинить это дерьмо в случае проблем (а они вполне вероятны). Микросервисы легче и надёжнее. Ты думаешь сетевой оверхед большой, когда всё в одном контуре? Да даже если распределены географически, то в чём твоя проблема, у тебя цпу-баунд задачи, которые выполняются быстрее сетевых запросов?
>>3454383 > важнее поддерживаемости Как ты собрался поддерживать типы на 4 строки? Их никто, кроме писавшего, не понимает. > всегда можно убрать типы из кода и сверить бечмарки Дело не типах, дело в говнокоде который сплошь пронизан __awaiter, __assign и прочим бредом.
>>3454392 > в чем проблема писать это на жс Ты будешь запоминать все-все-все структуры данных из API и совсем ни разу не ошибешься в каком-нибудь data.zalupaEnota.mamku[0]?.ebal? Запустить код чтобы отловить баги нельзя - бэк всё ещё ещё пишут гоферы, но из-за обилия if err ≠ nil у них сломались клавиатуры, а новые привезут только завтра.
Я же не сказал, что на JS такое вообще не возможно, но на практике 100% будет обосрамс жидким.
>>3454418 >Ты будешь запоминать все-все-все структуры данных из API и совсем ни разу не ошибешься в каком-нибудь data.zalupaEnota.mamku[0]?.ebal? 1. Ты читаешь апи. 2. Строишь дефолтный объект по этому апи. 3. Строишь обработчики для этого объекта.
В какой момент у тебя появляются ошибки? Типо ты смотрел в доку, а в другой момент ты пускаешь слюни и пишешь хуйню? Как это происходит?
Как можно смотреть в апи и писать хуйню? Как?
> но на практике 100% будет обосрамс жидким. Чел, если ты физически болен, если у тебя есть синдром дауна или какие-то другие ментальные проблемы. Как тебя взяли на работу?
>>3454418 >>3454392 >>3454423 Как же ору с кукареков про тс нинужен. Как без тс сделать такое? https://trpc.io End-to-end type safety это просто пиздец как удобно, зачем лишать себя удобств, которые ещё и защищают от ошибок? Это мазохизм, или как это называется?
>>3454423 >Строишь дефолтный объект по этому апи Вот нахера, если вместо этого объекта достаточно просто описать его тип, а в идеале вообще сгенерировать из спеки? Потом ещё этот объект удалять придётся. Слишком много ненужной работы.
>>3454442 >Вот нахера, если вместо этого объекта достаточно просто описать его тип, а в идеале вообще сгенерировать из спеки? Нет, мань. В идеале существует монорепа с АПИ которую берёт и бекенд и фронт и не возникает никаких проблем с типами, их в принципе не может возникнуть. Большая часть компаний работает с монорепой.
Но откуда это тебе знать, верно? Ты же обоссаный кнопкокрас, ты даже с сетью не взаимодействуешь на клиенте. Зато весь тред засрал своим ТСом, молодец.
>>3454445 Как монореповость стала альтернативой типам? Что за шиза? Когда проект большой разобраться вместе с типами легче. Какая бы там реповость не была. Я понимаю когда DHH топит за ванильный жс. У него цель вообще минимум жс и писать все на рельсах. Но каким образом это лучше для жс фулкека?
>>3454454 > Как монореповость стала альтернативой типам? Что за шиза? Речь была про апи, не теряйся > Когда проект большой разобраться вместе с типами легче. Когда проект большой - писать типы сложнее, разбираться в том какие калструкции высрал какой-то дегенерат - невозможно. > Но каким образом это лучше для жс фулкека? Тем что писать это быстрее раз в пять. То что ТS-дебилы пилят месяц, обычная команда на JS пишет за неделю. Конечно, к обычным рабам это не относится, на чем тебе скажут на том и будешь пилить.
Читаю вас, как самый ахуенный сериал. Когда уже развязка-то будет? Что в итоге лучше, круче, быстрее? А как вам такая допинформация: репа Го будет раз в 10 меньше, чем Ноды.
>>3454460 Чел, я еще на жквери успел пописать фронтенды, а потом долго писал на вуе 2 без тайпскрипта (и реакте), потому что он вначале с тайпскриптом плохо дружил и тайпскрипт еще не был распостранен у вуешников, а теперь в основном с тайпскриптом живу на беке и фронте и без вуя. Ты какие-то страсти пишешь про тайпскрипт. Я в основном про лучшую поддержку кода в иде: навинагия, поиск ссылок и наследников/имплементаций. Даже чистый жс код в иде поддерживается через статический анализ. Только в виду отстттвия типовых подпорок он ограничен. Возьми любой относительно большой жс проект и там навигация по коду сильно хуже в том же вскоде Возми например https://github.com/stephomi/sculptgl и проверь навигацию и автодополнение. Заебно же методы и свойства копировать вставлять.
>>3454494 >репа Го будет раз в 10 меньше, чем Ноды. С чего бы? В ноде будет больше сторонних пакетов установлено. От этого раздует node_modules но не репу
>>3453623 >Топовые разрабы пишут библиотеки. А обычные чуханцы с улицы просто пользуются этими библиотеками и пользуются вполне прилично - всё работает, никаких проблем особо и нет. Я пишу библиотеки — дальше что? Без хайпа и просто админресурса никто про них даже не узнает. Вот кто из вас знает про Elm? А его авто бегает по всем возможным конференциям нон-стоп. При этом Redux используют не только лишь все, хотя это копия механизма из Elm, причём, используют чаще всего там? где оно даже не нужно. Опенсорс — это 80% хайпа и сетевого эффекта и 20% технической составляющей. Собственно, я аналогичную тему поднимал среди облачных сервисов (>>3449366 (OP)), где сложный дорогой продукт, привязывающий к единственной инфраструктуре, по прежнему доминирует рынок, на фоне намного более выгодных и открытых альтернатив. Впрочем, кому это я рассказываю в треде, где на JS пишут бэкенд. Спасибо хоть не на JPEG пишете.
>Некто не пишет с нуля кроме долбоёбов вроде меня ядра приложений, ядра рендера, гидратацию и прочую чушь Для Vue.js сделали VueX, суть работы которой заключается в том, что она за тебя создаёт глобальную переменную. Всё, больш она нихуя не делает. Зачем её создали? Чтобы скаргокультит интерфейс Redux. Ну то есть, да, во VueX ещё есть Redux-подобные интерфейсы, но всё то же самое во Vue.js можно сделать без них. Если так пойдёт дальше, то скоро на npm появятся отдельные пакеты для написания hello world — крайне низкий уровень среднего JS кодера как бы намекает. Бля, несколько лет назад со мной работал чел, который в корону ушел с работы слесаря и стал работать кодером на JS. После этой работы я подумал, что во фронте ловить нечего. У меня были сомнения, что я ошибся и слишком рано сделал выводы, ведь такие додики сидят не везде, но этот тред мне напомнил, что всё-таки я был прав. "Руки-крюки, всё ронял, даже веник поломал. Но однажды сел за гит — и теперь я full-stack-lead".
>ФП и есть одна большая проблема. Когда ты КАЖДЫЙ СУКА РАЗ создаёшь объекты и функции и возвращаешь их - всё скатывается дикий говнокод через полторы итерации разработки. Задай вопрос тем, кто юзает React.js и Redux — зачем ты у меня спрашиваешь?
>У тебя в return куча дерьмища вместо строк, куча бессмысленных состояний, никто ничего не разберёт в твоей лапше (как и ты сам) и чтобы огородить тебя от продкашена - придумали TS, который не позволяет тебе возвращать рандом ебалу Я выше привёл пример пиздеца в твоём же TS. Тебе не понравилось?
>>3453748 >На Node я могу просто создать объект, который описывает бизнес-сущность: его свойства, поведение и его методы. >То есть, я прямо, компактно (в рамках портянки) опишу: >- ЧТО ЭТО >- ЧТО ОНО ДЕЛАЕТ >И все в рамках одного класса. Лучше меньше пизди и больше показывай кода. "Бизнес-сущности" будешь показывать мастеру на скрам-митинге, а на двачах за такие слова ссаными тряпками пиздят.
>>3453895 >Хорёк. Не знаю зачем твоя мать в себя его запихала, спроси у неё. Возможно она хотела отрицательное зачатиеировать тебя, но уже поздно... Хуйня, это твоя мать. Я твой код показываю. Ты не виляй, а отвечай глядя на код. Что там?
>>3453800 >На TS ты можешь выразить всё то же, что и на GO, в обратную сторону не работает. В этом и заключаются возможности языка На TS ты можешь выразить всё то же, но в райнтайме всё будет наоборот, потому что сторонний код на JS ебал твою TS валидацию. Это тем более актуально в плане того, как JS умеет тихо игнорировать ошибки.
>Функциональное программирование >Его не существует. Везде, где у тебя есть сеть, время и внешние зависимости В прикладных инструментах идеальных реализаций нигде нет, но это не значит, что функционального программирования не может быть в грязном инструменте. Ещё более абсурдно про неидеальность слышать от челика, который топит за проверку типов в языке, где рантайм малопредсказуемым образом превращает разнородные типы в кашу.
>Переусложнение TS >Скил ишью Тут, вон, выше и ниже челики пишут, что для TS скила не нужно, только для Go он нужен.
>Кресты ещё лучше, но на них интерфейс особо не попишешь - QT лютый кал по сравнению с React. Господин макак точно пытался писать похожие интерфейсы на Qt и на React? С CSS стилями, flex/grid, position, opacity, transform, z-index, position (absolute / relative / fixed / sticky), media queries, кастомные свойства (var(--main-color)) — расскажи мне, как ты охуенно ими владеешь и пишешь адаптивные интерфейсы, как у 5% современных вебсайтов, где всем этим умеют пользоваться. Вот те, кто двачи верстали, ими пользоваться не умеют, например. Для сравнения, любая макака может написать на Qt гибкие интерфейсы, и они будут предсказуемо отображаться везде.
>>3454232 >В JS это вызывается как внешний модуль, ты не можешь делиться участками память, ссылками на объект и производить прочие охуенные вещи, как можно делать в GO. >Оверхед вызова C++ в GO примерно 30-40ns, да, это дохуя, но. Оверхед библиотеки в ноде это 5000ns нахуй. Вызов WASM это 10-20 ns, но работа с типами занимает ещё 500-2000ns. Какой же ты упоротый. Неудивительно, что ты хейтиш TS. Ты даже не знаешь основ программирования. Ты на полном серьёзе сравниваешь динамический язык, исполняемый виртуальной машиной, которая НЕ СТРУКТУРНО хранит данные, в котором можно на лету генерировать что угодно, со кодом без динамики и виртуальной машины. Очевидно, что в первом случае тебе надо время, чтобы преобразовать данные в структуры, который будет читать программа на C, тогда, как Go спизжен с C, и это я выше упоминал: "Та часть Go, что спизжена с C - норм", поэтому, и сочетается легко. Ты б ещё вилку с ложкой сравнил, Вилкой надо делать 40 черпков супа, а ложной один, значит ложка лучше - охуенная логика
Если ты хочешь скорости, ты берёшь C++ и не ебёшь мозг. Хочешь динамики, берёшь TS. Хочешь псевдо скорости и покушать с рук корпоратов с мозгом, поражённым гугловской пропагандой, берёшь Go. Хочешь, динамику со структурностью - находишь ресурсы, и ебашишь свой виртуалку
С этого момента я прекращаю на твою хуйню отвечать, но отвечу на вопросы, если ты хочешь научиться программировать
>>3454460 >Когда проект большой - писать типы сложнее, разбираться в том какие калструкции высрал какой-то дегенерат - невозможно. Нет, не сложнее, и вообще чем больше проект, тем больше пользы от тайпскрипта. >Тем что писать это быстрее раз в пять. То что ТS-дебилы пилят месяц, обычная команда на JS пишет за неделю. Не нужно экстраполировать уровень своего скилла на всех остальных. В большом проекте на TS разработка будет в разы быстре, чем на JS. Но в твоём случае возможно нет, если для тебя даже TS сложен.
>>3454520 >Тут, вон, выше и ниже челики пишут, что для TS скила не нужно, только для Go он нужен. Для Go не особо нужен скилл, язык в целом примитивен. Нужно в целом понимать как работает асинхронщина, и в частности как работают горутины и каналы, и как устроен гошный scheduler. Не особо сложно.
>На TS ты можешь выразить всё то же, но в райнтайме всё будет наоборот, потому что сторонний код на JS ебал твою TS валидацию. Это тем более актуально в плане того, как JS умеет тихо игнорировать ошибки. Какой сторонний код? Пробовал не использовать низкокачественные васянские библиотеки? И не тащить на каждый пук внешние зависимости?
>рантайм малопредсказуемым образом превращает разнородные типы в кашу. Ты о чём? Какой рантайм? Компилятор тайпскрипта абсолютно предсказуемым образом превращает ts код в js код.
>>3454423 >1. Ты читаешь апи. >2. Строишь дефолтный объект по этому апи. >3. Строишь обработчики для этого объекта.
Да ты заебал. Тебе выше был задан вопрос, что находется в твоей mother, хроме хуя бомжа. Глядя на код, отвечать, быстро >function kek({ mother, death }) { console.log(mother, death) }
>>3453851 >Почему у тебя прилетает объект в котором поля неизвестны? Как это вообще получается? Ты посмотреть не можешь? У тебя ручки трясутся и из-за этого ты не можешь посмотреть что это за объект? Тебе неприятно смотреть в API? Так это JS. Скрипту пришла строка вместо числа, скипт тебе в вычислениях наебошил "NaNNaNNaNNaN", потом сложил всё это в объект {'a': 0, b: "NaNNaNNaNNaN"} — твоему тайпскрипту это приходит как масив чисел. Твои действия? Это хорошо, если исключение выкинется, а часто вся эта хуйня дальше пробрасывается без изменений.
>>3453939 >Я предпочитаю TS. Та часть Go, что спизжена с C - норм. Та часть, где попытались в фичи: типы, обработка ошибок - кек, азазаза >>3454015 >Выбирая между TS и GO - однозначно GO. Плюсов куда больше, например проблемные участки кода можно переписать на C++, компилятор GO автоматически встраивает его
Я задумался ещё раз, и вспомнил опыт работы в самой помойной помойке, где я когда-то был. Там челики способны запутаться в трёх соснах без внешней помощи. Эти будут делать tmp1 , _ = func(MyData) в каждой второй строке и писать типа "interface{}" каждому полю. В их случае чем более примитивен инструмент — тем лучше. Правда. с нейросетками есть вероятность, что моих бывших коллег уже отправили обратно работать слесарями на завод.
Если же говорить про программистов, способных учиться, то инструментов для создания больших проектов с независимыми модулями в Go, очевидно, больше, чем в TS/JS — о чем тут разговор? Если нужна многопоточность и разделяемое состояние, то тут вообще no contest.
>>3454232 >Вызов WASM это 10-20 ns, но работа с типами занимает ещё 500-2000ns. Воу-воу-воу, секундочку... Нахуй мне ваш JS, если я просто могу скомпилировать программу Go в WASM?
>>3454336 >К тебе тот же вопрос, какие именно особенности этого языка мешают написанию бекенда, как они ограничивают тебя в написании бекенда? Уже отвечено: >>3452900 >вместо адекватной стратегии вместо fail-fast fail-loud системы, которая падает сразу и громко, JS всегда выбирает продолжать исполнение любой ценой, даже когда обрабатываемые данные заведомо невалидны и дальнейшая работа программы вообще не имеет смысла, что роднит ее с другим фракталом плохого дизайна: PHP Я когда писал фронты, то даже изучал все эти хитромудрости JS, но даже я до вчерашнего дня не знал про прикол с parseInt(0.0000005). Люди, которые пользуются питоновским говнософтом, часто жалуются на стэки исключени в консоле, но в жертв JS стэков либо нет, либо они настолько всратые, что ничем не помогут в исправлении ошибки. Один из ключевых инструментов для фиксации ошибок в проде — это стэектрейсы, которые фиксируют ошибочное состояние программы и отдельные параметры окружения. Но в JS это не работает, потому что стэки, как правило, ничего не значат. И что же придумали разрабы? Они фиксируют ВСЕ действия пользователя на сайте в надежде, что повторяя эти нажатия кнопок у себя в таком же браузере получится воспроизвести ошибку с добавленными отладочными фичами/логированием. В том числе двач пишет ваши щелчки мышкой и нажатия кнопок — если кто не знал. Называется Microsoft Clarity. И вся эта еботня только потому, что JS — это ЯП, написанный за десять дней.
>>3454541 В чём твоя проблема? Ты не умеешь пользоваться try/catch? Ну ок, мне тоже больше нравится обработка ошибок как значений, запрещают так делать что ли? Если стэки ничего не значат, то может это наговнокожено? Почему люди говнокодят, а потом говорят, что это язык им в штаны срёт? Почему таким людям, которым язык срёт в штаны, кажется что при написании бекенда на тайпскрипте запрещено использовать OpenTelemetry, Jaeger, Loki, Prometheus, Grafana, Sentry, Datadog, New Relic? И при чём тут твой пример с логированием в браузере, если речь была про бекенд?
>>3454337 > В чем смысл срача го/нода? Сейчас же везде микросервисы, можно пилить на чем хошь. На ТС быстрее наваять, а если будут проблемы с производительностью - перепилить на го. Микросервисы, именно в своём классическом понимании — это мозг рака само по себе. Многие дрочат на гигантов вроде Google, но один "микросервис" гугла для автокомплита больше, чем вся ваша система вместе взятая. За исключением тончайших проксей, которые ничего не делают (и непонятно зачем нужны), проблема изоляции сервиса неизбежно приводит к необходимости восстановить доступ к общим данным, а это значит нагрузка на БД, а БД не резиновая, потому нужны кэши, а кэши протухают, потому нужны сервисы синхронизации кэшей — вуаля, у нас был макросервис, мы поделили его на три, но сервисов в итоге получилось пять. Тепрь всей этой хуйней нужно еще админить, потому эластик-логстеш-кибана, кубернет у нас уже стоит, это же очевидно, RabbitMQ там несложно будет развернуть для очередей между сервисами — ну, в общем, это вы и без меня знаете, если у вас есть два сервиса, то им нужно ещё минимум семь других для обслуживания. И если у гугла "микросервис" уже не влазит в простой комплюктер, то простому кабану с сотней пользователей ваши микросервисы — просто третья нога.
Но о чём я пишу, всем похуй, нынче модно микросервис.
>>3454348 >Нет, не всегда, и обычно это происходит по причине говнокода. Как это "не всегда"? У нас разные жаваскрипты? Или ты мне расскажешь очередные сказки про "у нас в проекте багов не бывает"?
>>Laravel или Django просто в силу КРАТНО более развитой экосистемы с этим справляются в разы лучше. >Там как минимум нет статической типизации, уже по этой причине они отправляются в помойку. Я не знаю, как называется болезнь, когда пациент берёт худшие куски говна (JS и PHP), и даже там, где говна мало, он всё равно умудряется находить худший кусок говна (Django). Слышал когда-нибудь про mypy и pydatic?
>Go не удобнее, он корявый и обрезванный, на нём неудобно писать веб-бекенды. Нука поясни, что здесь корявого и обрезанного? https://pastebin.com/DL5M97vs Если тебе нужен темплейтер, то могу переписать с темплейтером.
>Я буду делать разработку сложного проекта на ТС раз в 5 быстрее, а несложного в 10-20 быстрее. При чём тут "я"? Мы инструмент или тебя обсуждаем? Может ты десяток хуёв в жопу за чес примешь, но я не из таких.
>В чем твоя проблема с типизацией в ТС? Структурная типизация, или что? Я не знаю, есть ли смысл повторять, в ответах выше несколько раз повторил, лучше там про типизацию обсудить.
>А ты часто числодробилки пишешь в рамках веб-бекенднов? Часто пишешь какой-нибудь транскодинг видео? Если мне похуй производительность, то я пишу на питоне. И в том числе транскодинг видео, как ни странно, шустро работает на питоне.
>Сложно выделить обработчик в отедльный микросервис, который будет дёргать ffmpeg? Implying у вас вся система — пиздец из микросервисов. Тогда можете писать на ноде — там уже нет разницы.
>>3454358 >Для 90% бекенда TS, для хитровыебанных сетевых и числодробильных штук Go, 1% раст для тру хайлоада во всех смыслах, и память, и цпу, и латенси с рпс - всё лучше го. Наверное, потому MS переписало компилятор Typescript на Go, бг-г-г.
>Никто не юзает эту фичу, для этого просто делается отдельный микросервис на го или расте и всё. Ага, тут говорили о том, что вызов фукнции WASM стоит 30 нс, вызов нативной функции 1000 нс, но у нас есть решение круче — это удалённый вызов на 100 000-200 000 нс. Напомните, ваш хайлоад сколько запросов в секунду обрабатывает?
>Несколько человек просто иррационально хейтят идею написания бекенда на ТС, кто-то пересказывает чужое мнение из 2010, кто-то болен снобизмом и ему печёт в духе "что эти кнопкокрасы себе позволяют, ррряяя, этот язык не предназначен для бекенда". Я болен снобизмом плана "мою айтишечку скатывают в говно", и с каждым годом вебсайты работают хуёвее и хуёвее. И мне приходится этим говном пользоваться. Раньше вебсайтов было меньше, но сил в них вкладывалось больше. Сейчас вебсайты клепаются на похуй вообще.
>>3454378 >Во-первых, благодаря типизации можно писать код по спеке. Например бэк ещё не сделали, но его API уже спроектирован, а значит уже можно пилить для него клиент (фронт). В голом JS такой финт сделать практически нереально. Я тут сидел, и чот мне скучно уже давно. Но ты молодец, рассмешил дядьку. Эффект от написания по спеке для несуществующего кода обычно примерно такой же, как если бы я от балды написал рандомную хуйню, какая мне захочется. И тем хуже будет, долбоебы на другом конце таки выполнят написанную заранее без понимания требований спеку.
Такую хуйню можно провернуть в любом ЯП, TS не обязателен.
>>3454392 >Т.е. тс обязывает ещё и всякую хуйню проектировать и всё ради того чтобы дауны-джуны не ошиблись в строке. Бля, чел, я в ахуе был, когда нашел предложение работать фронтендером в какой-то помойке за 100 тыр (в короновирус), где требовались все баззворды, которые в принципе есть в индустрии, типа CSS, Webpack, Jest, REST API, Git, CI/CD, при этом работа с таймтрекером — и, вишенка на тортике, необходимо демонстрировать, как ты изучаешь английский язык, какие сериалы на английском ты смотрел. Как ты думаешь, насколько отбитые ебобошки идут на подобные работы? Какой фронтенд они могут написать?
Но более адекватный конторы не полностью исключают долбоебизм. Я с последней работы ушел, когда из-за проебанного не нами дедлайна начали перетряхивать все формальные процессы у нас, и начали жестко ебать мозги best practice и хуяк-хуяк-и-в-продакшен driven development. И это ещё куда ни шло, а пасаны, вон, в 2025 сидят на React.js + Redux сайты пилят.
>>3454418 >бэк всё ещё ещё пишут гоферы, но из-за обилия if err ≠ nil у них сломались клавиатуры, а новые привезут только завтра. Ну всегда можно напистать подчерк второй переменной, и получится как в JS.
>Я же не сказал, что на JS такое вообще не возможно, но на практике 100% будет обосрамс жидким. У нас выросло поколение дебилов, не слышавших про mock тесты. Поздравляю, товарищи.
>>3454427 >Как без тс сделать такое? https://trpc.io >End-to-end type safety это просто пиздец как удобно, зачем лишать себя удобств, которые ещё и защищают от ошибок? Это мазохизм, или как это называется? Я всё думал "как это никто до сих пор не додумался превратить фронт и бэк в одну монорепу". А вот же ж есть tRPC. То есть, вы даже типы данных в API не объявляете — API строится автовыводом прямо. Не, я бы всё-таки предпочёл монорепу фронт+бэк и импортировать API из общего файла. Мне бы спокойнее на душе было. хотя я всё ещё считаю, что нода на бэке — это рак.
>>3454445 >В идеале существует монорепа с АПИ которую берёт и бекенд и фронт и не возникает никаких проблем с типами, их в принципе не может возникнуть. Большая часть компаний работает с монорепой. Ты забыл уточнить "большая часть компаний, в которых я работал", потому что таким карго культом не так много кто занимается. Например, хоть я работал и в помойке, но у нас никаких монореп не было, у нас API был API и не менялся пять раз в день.
>>3454499 >С чего бы? В ноде будет больше сторонних пакетов установлено. От этого раздует node_modules но не репу Да, node_modules, не репа. У меня обычно меньше 300 пакетов в node_modules не было. В Go даже для жирных фреймворков аля Gin/Echo нужно штук 50 пакетов — в это время для экспресса уже нужно несколько тысяч пакетов-зависимостей. Это пиздец, господа.
>>3454562 >Ты не умеешь пользоваться try/catch? Кусок говна по имени JS предпочитает никаких исключений не выбрасывать — это не питон же ж.
>И при чём тут твой пример с логированием в браузере, если речь была про бекенд? Да какая нахуй разница? Развернули бэк у заказчика, на одной из машин бэк не работает. Ваши действия? "Ой, шас по шелу включу логирование". А если после этого ошибка не повторяется? Собирать сотнями гигабайт логи? У меня знакомый "архитектор" так и делает, у них сейчас уже десятки Тб логов, типа "если отказ повторится, то можно будет сравнить с похожим".
>>3454524 >Нужно в целом понимать как работает асинхронщина, и в частности как работают горутины и каналы, и как устроен гошный scheduler В Go нет явной асинхронности, все потоки выполнения пишутся как абстрактные потоки, а планировщик потом уже сам ебётся с тем, как их напялить на потоки ОС. То есть, да, язык пиздец какой простой, на самом деле.
>Какой сторонний код? Пробовал не использовать низкокачественные васянские библиотеки? И не тащить на каждый пук внешние зависимости? 5000 пакетов-зависимостей для экспресса — это типовая история. И вот как мне предложишь фильтровать эти зависимости?
>>рантайм малопредсказуемым образом превращает разнородные типы в кашу. >Ты о чём? Какой рантайм? Компилятор тайпскрипта абсолютно предсказуемым образом превращает ts код в js код. Рантайм JS/TS/похую чего. Javascript иногда выполняется — он для этого и пишется. Или тебе нужно определение, что такие рантайм? https://en.wiktionary.org/wiki/runtime - "Alternative spelling of run-time" https://en.wiktionary.org/wiki/run_time#English "(computing) The stage during which a program is executing. (computing) The amount of time during which a program is executing. (computing) A software component designed to support the execution of computer programs."
>>3454614 > Как ты думаешь, насколько отбитые ебобошки идут на подобные работы? Какой фронтенд они могут написать? Зачем идти в такие калторки и работать с ебанавтами?
>>3454634 > Если API большое, то это реально проблема так-то. Если апи большое, то это монорепа.
>>3454641 >Например, хоть я работал и в помойке, но у нас никаких монореп не было, По этому и не было, потому что в помойке. Не стоит проецировать помойные практики использования ТСа на всю индустрию.
>>3454523 >Хочешь псевдо скорости и покушать с рук корпоратов с мозгом, поражённым гугловской пропагандой, берёшь Go. Какую ты предложишь альтернативу Go для своей ниши? Ну сейчас ещё можно с натягом предложить Rust, но Rust, сука, сложный. А раньше был выбор между C++ с сегфолтами, Java, на которой без IDE невозможно было писать, и Python, который медленный пиздец. Гугл сделал язык, который простой, как базовые констуркции питона, при этом по скорости между Java и C++. И нет, Rust/C++ не всегда быстрее, как я недавно пояснял в растотреде: >>3452701 → Если писать на Rust/C++ наивными рефкаунтами сложносвязанные объекты, то можно заметно погрустнеть при бенчах.
>>3454505 >Я пишу библиотеки — дальше что? Показывай. >Впрочем, кому это я рассказываю в треде, где на JS пишут бэкенд. А в чем проблема? Что-то я до сих пор не понял. >Я выше привёл пример пиздеца в твоём же TS. Тебе не понравилось? У меня JS, всё в порядке.
>>3454521 >Ты не понимаешь что такое end to end type safety. Понимаю, чего нет? Это бред мартышек вроде тебя, которые неспособны писать нормальный код. Им везде нужно safety, потому что они во время программирования слюни пускают. Что поделать, если ты умственно-отсталый.
>>3454523 > Ты даже не знаешь основ программирования. @ > исполняемый виртуальной машиной, которая НЕ СТРУКТУРНО хранит данные АХАХАХАХ, даунёнок не в курсе даже как JS код исполняется и как работает V8. Впрочем, это норма для любителей TS, слишком низкий уровень, лол. Конечно же никаких оптимизаций ты выполнять не можешь, потому что ты даун который пишет на TS и в принципе не понимаешь что писать.
Про DataView ты вообще не слышал наверное, да? Ещё бы, ведь писать типы и свой калыч на объектах не получится, если использовать бинарные данные и типизированные представление.
>>3454495 > Я в основном про лучшую поддержку кода в иде: навинагия, поиск ссылок и наследников/имплементаций. >Даже чистый жс код в иде поддерживается через статический анализ. Так суть-то как раз в том, что в JS этого достаточно. Всё остальное решается нормальной архитектурой, нормальным АПИ и jsdoc. И всё, никаких проблем там больше не существует. > Возьми любой относительно большой жс проект и там навигация по коду сильно хуже в том же вскоде Проблема вскода. Открой какой-нибудь вим и пиши как белый человек. > Возми например https://github.com/stephomi/sculptgl Ехали классы через классы. Всё это можно переписать нормально и сразу же 80% кода улетит в помойку, даже в вскоде можно будет работать.
>>3454663 Не, TS уже для другого нужен - для джунов-даунов-индусов, которые в принципе не могут кодить или хоть как-то читать код. Им необходим инструмент которых их ограничивает, вследствие низкого айсикью они сами неспособны мыслить.
>>3454672 Опять лоускильные неосиляторы жалуются на чужой айсикью. Типы у них сложные - заставляют думать и мешают в разработке. Но айсикью низкий у других...
>>3454686 >Опять лоускильные неосиляторы Зачем ты так про любителей TSа, которые не могут писать код если им IDE не ткнёт в ебало ошибкой?
>Типы у них сложные - заставляют думать и мешают в разработке Всё так, у пользователей TSа типы данных вызывают фрустрацию и они не могу справится без транспилятора.
Программист - это творец. Ничто не должно ставить ему препятствия для творчества. Типизация, документация, спецификации, принципы и лучшие практики - только мешают творить, убивают вдохновение, воруют время. Их придумали тупые индусы, чтобы хоть как-то совладать высокими материями, не вмещающимися в их твердолобые головы. Настоящий программист начинает с того, что забывает всё чему его учили. Особенно ООП. Творцу нужны только функции, массивы и оператор goto - самые быстрые и проверенные временем решения. Это основы, которым не учат на курсах, их можно постигнуть только путем многолетних медитаций на кодом.
>>3454772 >Творцу нужны только функции, массивы и оператор goto Какое ещё goto? Jump. Мне очень плохо из-за отсутствия этой полезной фичи во многих языках.
Ещё забыл добавить что код нужно не самому писать, а составлять генераторы которые будут писать выполняемый код. Иначе производительности не получить, просто так массивы и индексы не пролинукешь, если они в рекурсии. Можно конечно и компилятор написать, вместо генераторов, но это уже для индусов.
>>3454830 >Jump. Мне очень плохо из-за отсутствия этой полезной фичи во многих языках >составлять генераторы которые будут писать Бездарная асм {mother} макака, тебе было выше сообщено, что ты не знаешь основ. Генераторы используют только идиоты по той причине, что для оптимизаций нужно понимать, что происходит в коде, а для этого нужна более сложная система, чем генераторы, которые срут код и не знают ничего друг о друге
>>3455133 Я к тому что специалист по всему это далеко не имба. Когда-нибудь приходит время выбросить все знания, что насобирал и изучать только одну школу кунг-фу
>>3455309 Чего тут беседовать? О чем? Любой человек с нормальной психикой понимает что вместо trpc можно использовать один единственный файл АПИ в монорепе. Это проще, это надежнее, это логичнее. Сборочка не будет собираться если АПИ изменится. Клиенты не будут компилироваться, если апи изменится.
>>3454772 >Программист - это творец. Нет, даже не близко. Творчестко - это стихи, это рисование, это кино, это выражение. Программирование ближе к бухгалтерии, к ремонту автомобиля, к инвентаризации кассовому обслуживанию, это пустой дроч.
>>3455442 >Программирование ближе к бухгалтерии Странно отождествлять разработчика софта с буквально пользователем этого самого софта, да и в целом у тебя сравнения вообще мимо, программирование ближе к банально инженерам всяким
>>3454336 >И что? По твоей логике умирает всё, где вакансий меньше пхп? Ты дегенерат или опять таблетки не пьешь, которые доктор прописал? Ноде больше 10 лет, за эти 10 лет вакансий не стало больше чем на ОФИЦИАЛЬНО умирающем ПХП. Это как квалифицируется в твоем щизоидном манямирке? Растем и развиваемся, блять?
>Написано же, что с ней всё в порядке. Кем написано, блять? На заборе написано хуй, а там дрова лежат.
>Разрабатывать бекенд на ТС удобно, приятно и быстро. Да, если ты гомосексуалист, проще говоря пидор.
>Так назови какие именно особенности этого языка мешают написанию бекенда Если ты не понимаешь, какие issues делают JS говноязыком, то есть лишь два варианта, которые я описывал выше. Для особо одаренных повторюсь: 1) ты либо не видел других ЯП 2) либо видел, но просто долбоеб
В обоих кейсах, также как я не могу 5-летнему ребенку объяснить квантовую теорию поля, также я не смогу тебе, долбоебу, объяснить, почему JS кал. И дело не в моих объяснениях, приемник сломан, понимаешь?
>Я пишу помимо ТС на расте и го. Смотрим кейс номер два. Ты, будучи долбоеб, так и не понял, чято делает тот или иной ЯП хорошим. Советую начинать качать эту тему, например, начни с книги Дизайин и имплементация языков программирования. Одной из первых глав там идут требования к ЯП. Почитай этот перечень, попробуй оценить как JS оценивается по этим параметрам. До тех пор, не начинай ничего писать в интернетах, не позорься перед уважаемыми людьми.
>Ты не сможешь обосновать почему писать бекенд на ТС это плохая идея. Я тебе уже это обгрунтовал. Ты просто либо тролль, либо даунит, вероятно, сертифицированный. Справку от психиатра скинь сюда.
>>3454523 >Ты б ещё вилку с ложкой сравнил, Вилкой надо делать 40 черпков супа, а ложной один, значит ложка лучше - охуенная логика Ты ебанат. Все, что можно есть вилкой, точно так можно есть ложкой. Ничего из того, что можно есть ложкой, вилкой есть нельзя.
>>3453339 >Ты тупой? В пустыне нет воды. А писать нормальный код никто тебе не мешает хоть сейчас. Это ты тупой, ты не понимаешь аналогию. Язык должен ПОМОГАТЬ тебе писать нормальный код, а не мешать. JS - язык, буквально созданный для написания говнокода.
>>3455555 >Язык должен ПОМОГАТЬ тебе писать нормальный код, а не мешать. Так именно об этом и речь. Зачем мне ТС, который вместо того чтобы помогать, заставляет писать портянки типов и всякого говнища?
Нахуя писать в 3-4 раза дольше один и тот же код? Типо, нахуя?
> JS - язык, буквально созданный для написания говнокода. Если ты пишешь говнокод - лично твои проблемы.
Штош, вариантов особо нет. Буду пилить статичное дерево на TypedArray и флагах на ветках. Хотя, оно и не совсем статичное, ведь там линки на индексы есть, в теории туда можно добавлять динамические данные.
>>3455655 >У нас всё хорошо. Тут только ты рассказываешь про говнокод, делаю вывод - говнокодище пишешь лично ты. Ты ДУМАЕШЬ, что у тебя все хорошо. На по факту ты уже поцеловал парашу и являешься петухом. Я тебе простой пример приведу. Открой Youtube, любой канал, сделай мемори снэпшот. Попереключай раз 10 вкладки главная->видео->short->трансляции и обратно. Повтори замер. Оцени результаты. Я думаю, ты вряд ли сможешь поспорить с тем, что в Youtube работают одни из лучших фронтендеров в мире. Если лучшие не могут справиться с memory leaks, может быть с языком что-то не так?
>>3455851 > Ты ДУМАЕШЬ, что у тебя все хорошо. Т.е. ты выстроил для себя манямир, в котором у всех, кто не пользуется твоим калом, всё плохо, и ты пытаешься убедить окружающих в своей искажённой фантазии?
Интересная психологическая особенность тайпсриптеров. Понятно что у таких людей подобные отклонении распространены, но я не знал что отрицание реальности так развито. Это связано с неприятными воспоминаниями из детства, их ебал отчим?
> На по факту ты уже поцеловал парашу и являешься петухом. Нет, я не пользуюсь тайпискриптом.
> Я думаю, ты вряд ли сможешь поспорить с тем, что в Youtube работают одни из лучших фронтендеров в мире > Если лучшие не могут справиться с memory leaks, Там работают дегенераты-кнопкокрасы. Возможно ещё и TS используют, из-за этого и протечки.
>>3456096 >Т.е. ты выстроил для себя манямир, в котором у всех, кто не пользуется твоим калом, всё плохо, и ты пытаешься убедить окружающих в своей искажённой фантазии? Это не я выстроил манямир, это объективные данные, полученные независимыми исследователями в ходе анализа нескольких десятков тысяч Github репозиториев.
JS-репозитории содержат больше багнутых ПР, там выше соотношение баг/коммит и внедрение фиксов занимает больше времени, чем не только C# и Java, но даже у традиционно считающегося супер небезопасным C++.
>отрицание реальности так развито. Это связано с неприятными воспоминаниями из детства, их ебал отчим? Я не знаю, ты мне скажи. Это ведь ты отрицаешь реальность.
>Нет, я не пользуюсь тайпискриптом. Тем более.
>Там работают дегенераты-кнопкокрасы. Ага, т.е. в Youtube, в который стоит очередь желающих просто ради строчки в резюме, и который может себе позволить нанимать лучших из лучших, работают >дегенераты-кнопкокрасы которые с JSом почему-то не совладали, а хуйкин с двача, который в проперживает стул в сельском интернет магазине, знает как как бороть JS. Верю. Я поверил, вот тут верю.
>>3456420 > Это не я выстроил манямир Нет, это был ты.
> это объективные данные, полученные независимыми исследователями в ходе анализа нескольких десятков тысяч Github репозиториев. О, ну так их такие как ты писали. Я-то тут при чем?
> Это ведь ты отрицаешь реальность. Нет, я не отрицаю что ты пишешь говнокод. Более того - я уверен в этом.
> Ага, т.е. в Youtube, в который стоит очередь желающих просто ради строчки в резюме, Вот видишь, ты говоришь не про программистов, а про хуесосов которые ради строчки в резюме хуй пососут.
> который может себе позволить нанимать лучших из лучших, работают Не может. Лучшие из лучших делают свои проекты и хуй клали на весь этот кал по найму. Зачем им твой ютуб?
> которые с JSом почему-то не совладали Проблемы работопетухов типо тебя.
>>3456651 > Бля, написал бы сразу, что ты безработный петух, Понимаю, ты не можешь представить что кто-то зарабатывает деньги иначе чем бесконечным кнопкокрасом на работе. Ведь ты больше ничего не можешь, кроме как красить кнопки на тайпсрипте, АХАХАХХАХА > Ебать, еще и школьник. Что ещё придумаешь про меня, чтобы попытаться выиграть в своей ментальной борьбе? > Д'Артаньян, ты? Покажешь свой код? Нахуй мне палить тс-говноедам свои изысканные алгоритмы?
>>3457298 дык а вкатиться как? как опыт накрутить, что пиздануть на собесе?
я смотрел сливы, но там в основном технические вопросы были. или про бэкграунд меня исключительно хрюша спрашивать будет на позицию джуна, а потом кинет ссылку на гугл мит, где лысый дед с потными яйцами будет меня на знание типов данных в ява скрипте прогонять и про то, нахуя дом нужен?
>>3457299 звучит ахуенно так-то. опыт и деньги капают ненапряжно капают, если по гпх, то можно с другой работой совмещать... через пол годика можно уже на уровень повыше расчитывать юудто... как ты нашел такую работу?
>>3457294 плюсую. совсем охуел, чтоб магаз сделать нужно как минимум админку, базу данных развернуть на експрес, еще эту хуйню если на редаксе то ебаться с слайсами, инпуты фильтрацию массива с этим же массивом ебаться чтоб в навигации через роутинг по разному фильтровало, для админки jws какой нибудь, чтоб базу данных развернуть нужно как минимум ноду и монголдебил дрочить это как минимум 2 месяца еще 2 месяца на акклиматизацию чтоб полностью придрочиться еще и бандл с каким нибудь свистопердящим бутсрапом потому что обычные сиесес модули нихайпова если еще на тс это вообще 20000 строк говнокода перды охуели совсем мне кажется мимо вкатло волчара
>>3457307 >дык а вкатиться как? Будь готов подписаться под тасками и штрафами в случае если их не закрываешь. Для вкатуна только так и это самое основное - уметь закрывать таски. Фишка в том, что джуны никому не нужны, а нужны как минимум мидлы за цену ждунов. Раскинешь сам остальное.
>>3457313 >звучит ахуенно так-то Ну оно только звучит. По факту там ни разу не джунское было. Я свалил когда мне зпху подняли до 50кусков и дали вести проект в одно ебало. На следующей работе я получал 150к за примерно то же самое.
> esbuild > хочешь написать свой парсер, добавить что-то в парсер, сделать модули для парсера? иди нахуй Какие гошники дебилы, пиздец просто. Вместо апи кусок кала, парсер и лексер вообще нигде не упоминается. Гении, просто гении.
>>3457294 >да ты ахуел... Если ты сделал магазин - у тебя есть опыт. Хуёвый, но есть. Особенно, если ты сделал полноценный магазин, с кросивым дизайном с выебонами, полностью написан бек с БД, крудами и прчоей хуетой. Ты когда в компанию устраиваешься говоришь: вот мой проект, написал полностью сам, смотрите. Если ты будешь делать по тз в сжатые сроки, например три недели, (нах тебе летом этим заниматься вопрос) то это будет более чем приближено к реалиями разработки - сделать быстро, но чтобы работало. Это и будет твой практический опыт. Можешь ещё пару проектов сделать, ускоряя цикл разработки, например один проект за неделю, срать и спать запрещено. Когда допиздываться о работке будешь можешь пояснить время которое потратил на эти магазины, чтобы все поняли что ты можешь писать приличный код (ты же можешь, да?) пока тебя ебут в срачелло. Проекты копируй с существующих, либо поищи где-нибудь готовый ui-дизайн, по которому ты будешь всё делать.
>>3457406 >сделать быстро, но чтобы работало. Это и будет твой практический опыт. Можешь ещё пару проектов сделать, ускоряя цикл разработки, например один проект за неделю, срать и спать запрещено. Когда допиздываться о работке будешь можешь пояснить время которое потратил на эти магазины, чтобы все поняли что ты можешь писать приличный код Никому это не нужно и никто не даст писать случайному человеку полноценные проекты. Всё равно переделывать придётся.
>>3457406 >полностью написан бек с БД, крудами и прчоей хуетой нихуя ты слова умные знаешь!
не, я только фронт написал. дизайн как дизайн, без выебонов... основная страница с поиском, фильтрам по категориям, сортировкой по алфавиту/цене/популярности и пагинацией. корзина с подтягиванием через редакс количества товаров, общей стоимости и возможностью добавлять/удалять. из бека у меня массив по ссылке с мокапи...
>>3457447 Придётся, ктож спорит. Главное показать что ты можешь в сложные проекты и можешь работать сжатые сроки. Кроме, офк, знаний всяких говноалгоритмов, фреймворков и прочей чуши, которая учится через мануалы, книжки и нейросеть.
>>3457656 > дизайн как дизайн, без выебонов Мало, сука. Нужно показать что ты ВАХ КАКОЙ ИНЖЕНЕР, такую сложную хуйню так изящно исполнил! Например, какая-нибудь трёхмерная корзина с кучей паралаксов которые не лагают. > дайте работу, умоляю Верю в тебя. Ты сможешь стать курьером
>>3457656 Иди в офис. Хуй знает зачем тебя тут дрочат петами усложненными. Смотришь как проходить интервью - проходишь - работаешь. Ищи места попроще. Я сам так вкатился недавно. Да деньги небольшие, просто средняя зп моей мухосрани работник пятерочки, но мне нравится такая работа больше.
>>3457695 а пролапсов им не надо? мне бы для начала во что-то простенькое устроиться, на небольшую зарплату... ну не на 70, ладно уж. ну на 50-60 хотябы...
>Верю в тебя. Ты сможешь спсибо большое... пидорас
>>3457699 >Я сам так вкатился недавно. а какой стек знал на момент устройства? какие пет проекты были, сколько? скинь сливов собесов, по которым тренировался, если не сложно...
>>3457918 >еще бы на удаленку, а не в офис ебаный...... Мне кажется такие мысли лучше не прокручивать даже. Собесы на ютубе смотрел любые: рус и англ. Тренился по вопросам, на гитхабе по темам есть. Да ничего особенного, на фрилансе немного поделал верстку. Парочка готовых легких проектов было. Я думаю, что решает вообще уверенность и адекватность. Главное, чтобы до собеса добраться, а как - это тебе уже решать. Собес с которого меня устроили я завалил, кмк, но это не мешает мне выполнять задачи.
>>3458727 >Какие сейчас у мидлов з/п в бэкенд ноде? У меня сейчас 200 на руки, не наебывают случаем? Бэкэнд на ноде? Это ты наебываешь. Тебя надо выкинуть к херам собачьим на мороз, а проект переписать на нормальном языке программирования.