Главная Юзердоски Каталог Трекер NSFW Настройки

Программирование

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 108 10 39
JS Thread #326 /js/ Аноним # OP 23/06/25 Пнд 18:53:33 3482678 1
изаброжение.png 73Кб, 1050x1050
1050x1050
Предыдущий тред: >>3443580 (OP)

Больше пары строк кода в посте или на скриншоте ведут в ад.

Для программирования на HTML https://codesandbox.io
Для Node.js с консолькой https://repl.it/languages/nodejs

Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если/когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.

Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
Аноним 23/06/25 Пнд 19:32:03 3482710 2
Первый нах!
Аноним 23/06/25 Пнд 19:57:38 3482729 3
Denis fullstack.png 216Кб, 960x1083
960x1083
Напомните, пожалуйста, нахуй вообще нужен JS на бэкенде? Шо мне сказала нейросетка из плюсов:
1. Нода быстрая — да, но не быстрее Go/Java/C#;
2. Один язык на фронт и бэк — да, актуально для предельно ракового способа разработки, когда фронтендер ебашит из пулёмёта новые роуты на сервере на каждую свою хотелку; но не вляется уникальной фичёй для JS, потому что есть тот же GraphQL, дающий DB-level доступ с аналогичной авторизацией-инкапсуляцией "на отъебись" — разница в том, что делать это же на JS пиздец как просто (и потом пиздец как сложно это поддерживать).
Из минусов:
1. Нода медленнее чем все компилируемые ЯП;
2. SSR/гидрация — для простых шаблонов JS не обязателен; для гидрации всё сложнее, у разных JS-фреймворков разная поддержка гидрации, для каких-то есть серверные решения на Go (Vugu, templ) и Rust (Leptos, Sycamore). Конечно, подразумевается, что вы уже ответили на вопрос "а нахуй это SSR нужно в 2025 году, когда есть Eleventy + Alpine?";
3. Простота деплоя — смишно, угу.

И шо ж получается? Что JS на бэкенде нужен для того, чтобы ебашить как из пулемёта говносайты, без проверок прав доступа, без валидации ввода и проёбанным кэшированием (пикрил эксперт по теме). Бонусом из этой модели разработки идёт призрачная возможность переиспользовать логику при SSR, на за пределами рендеринга почти статичных шаблонов через getStaticProps/getServerSideProps и client-only динамики риск выстрелить себе в ногу приближается к единице — то есть, всё это SSR сводится к шаблонизатору с JS-вставками, что можно реализовать на любом ЯП.

Ничо не забыл?
Рейтоните гитхабчик :3 Аноним 23/06/25 Пнд 23:01:59 3482898 4
вкатился такой [...].png 403Кб, 512x361
512x361
Аноним 24/06/25 Втр 04:13:08 3482955 5
Перекатывый обратно. Этот тред неудачным сразу получился
Аноним 24/06/25 Втр 06:42:49 3482970 6
17443629135731.jpg 114Кб, 688x688
688x688
Аноним 24/06/25 Втр 09:05:28 3483011 7
>>3482678 (OP)
Главный вопрос тысячелетия - почему бекенд на ноде мёртв ?
Аноним 24/06/25 Втр 09:57:52 3483030 8
>>3482898
>https://github.com/xcontcom
>За полтора месяца туда всякой фигни напихал.
Хуяк-хуяк и в продакшен на Next.js умеешь? Нет? Нахуй ты нужен?
Аноним 24/06/25 Втр 10:04:59 3483035 9
>>3483011
>Главный вопрос тысячелетия - почему бекенд на ноде мёртв ?
Не мёртв, кто-то даже в СНГ такой хуйнёй занимается, но вакашек на Python/PHP на порядок больше. С развитием Go у ноды объективно очень мало ниш остаётся, даже бессхемовое API на GraphQL можно сделать на куче ЯП, нода не обязательна.
Аноним 24/06/25 Втр 10:11:52 3483041 10
>>3483035
Можно ли перейти на другие стеки без потери зарплаты? Обычно везде требуют 3-5 лет опыта на go без исключений..
Аноним 24/06/25 Втр 10:19:15 3483046 11
>>3483035
Я бы смотрел на ноду как на средство быстрого прототипирования. Проверка гипотез, моки-хуеки, тому подобное говно. Язык более фичастый чем го, значит писанины ебанины меньше, но есть траблы с перформансом в части сборки мусора, в проде просадки могут делать плохие метрики.
Аноним 24/06/25 Втр 10:36:58 3483055 12
>>3483046
Сычев, какой нахуй прототип. Выкладывай что есть и чтобы работало! Завтара важные люди будут смотреть.
Аноним 24/06/25 Втр 10:50:29 3483065 13
>>3483046
>в проде просадки могут делать плохие метрики.
В 99% случаях просадки метрик из-за БД
Аноним 24/06/25 Втр 11:52:21 3483126 14
>>3483046
>фичастый чем го,
Ну разрабы го в последние годы вроде очухались и начали добавлять фишки по чайной ложке
Аноним 24/06/25 Втр 12:00:51 3483130 15
>>3483041
>Можно ли перейти на другие стеки без потери зарплаты? Обычно везде требуют 3-5 лет опыта на go без исключений..
Мне вспоминаются вакансии "15 лет опыта разработки ядра Linux". Да, 95% HR-ов — бездарные хуилы и не способны набирать кодеров, потому требуют те требования, которые требуют все на рынке, но есть довольно много технически грамотных вакансий, где требуется что-то типа "at least 5 years in backend development" с очевидным предпочтением в сторону Go.
Нужно понимать, что как и на рынке поддержанных авто, как на рынке женщин 30+ 90% предложений — это "тухляк", который никто не разбирает, он висит месяцами и годам. Чтобы найти что-то годное, нужно перелопатить все эти вакашки. А ещё лучше зарекомендовать себя через другие каналы, чтобы безмозглую пизду-HR вообще в глаза не видеть. То есть, статьи, проекты на гитхаб с хорошей видимостью, холодные сообщения техническим спецам или участие в их проектах, и так далее — но, да, это всё долго и сложно.
Я тебе такой пример приведу: последний проект, на котором я был, компания получила благодаря тому, что наш шеф написал какому-то большому начальнику одной частной фирмы, и тот начальник откликнулся. Естественно, до получения отклика было разослано две сотни писем, на которые либо не ответили, либо послали нахуй, либо отреагировали без большого энтузиазма, мол "может быть, может быть".

>>3483046
>Я бы смотрел на ноду как на средство быстрого прототипирования. Проверка гипотез, моки-хуеки, тому подобное говно
JS на бэке в хуй не упёрлось именно для прототипирования, потому что есть PHP/Ruby/Python. А если у вас не прототип, то оно опять же в хуй не упёрлось, потому что есть Go, который медленнее в разработке, но намного надёжнее, даже чем TypeScript, и в том числе потому проще поддержка и доработка.

>>3483065
>В 99% случаях просадки метрик из-за БД
Если твоя хуйня дёргает БД на каждый чих, то да. Тот же Golang позволяет иметь in-process кэш с околонулевой стоимостью доступа, который сильно снижает необходимость читать БД по 20 раз на запрос. И нет, нода так не умеет, потому что нода не умеет выполнять десять воркеров в одном адресном пространстве (чтобы кэш был общим).
Аноним 24/06/25 Втр 12:01:40 3483132 16
>>3483126
>Ну разрабы го в последние годы вроде очухались и начали добавлять фишки по чайной ложке
Ну там грамотные архитекторы работают, а не Гвидо, которые в 90-е тащил прямо всё подряд в ЯП. Golang как раз отличается простотой языка, а простота сама по себе является преимуществом.
Аноним 24/06/25 Втр 12:03:04 3483134 17
>>3483065
Просадки отдельных запросов - да. Както раз стресс-тестил графкульную федерацию на ноде, там прямо в htop было видно как сначала при полной загрузке cpu растет выделение памяти, потом вступает в дело gc и загрузка cpu падает почти до нуля, и через некоторое время снова полная загрузка проца и памяти выделено в разы меньше. Тру стори!
Аноним 24/06/25 Втр 12:07:50 3483139 18
>>3483132
>простотой языка, а простота сама по себе является преимуществом.
Такой простой,что пакет для работы с массивами и его производных добавили только недавно,а раньше надо было городить кучу кода.
И то, не добавили функции reduce filter map ,потому что один и создателей сказал,что НЕ НУЖНО
Аноним 24/06/25 Втр 12:12:22 3483142 19
>>3483132
Простота хуже воровства.
Аноним 24/06/25 Втр 12:32:31 3483162 20
>>3483130
>Тот же Golang позволяет иметь in-process кэш с околонулевой стоимостью доступа
В Nodejs(ORM) позволяет иметь in-process кэш с околонулевой стоимостью доступа
Аноним 24/06/25 Втр 12:41:16 3483170 21
>>348313
>PHP/Ruby/Python
Ну попробуй реалтайм сделать
Аноним 24/06/25 Втр 12:56:20 3483176 22
>>3483130
>PHP/Ruby/Python
Первые два совсем некрота. Ты бы ещё Perl предложил. Петухон получше, но до выразительности JS ему далеко.
Аноним 24/06/25 Втр 12:57:38 3483177 23
>>3483176
Круды клепать самое то
Аноним 24/06/25 Втр 13:05:48 3483180 24
>>3483177
Чел, JS это уже lingua franca на котором говорят буквально все. Пыхера еще найти можно, с рубистами потяжелее, а жсеров бери не хочу. Кому взбредет в голову изучать говна мамонтов, чтобы прототипировать не снимая свитер в режиме забега?
Аноним 24/06/25 Втр 13:07:56 3483182 25
>>3483170
В симфони "реалтайм" из коробки, чел. Через mercure и symfony messenger работает. Не надо ниче делать. только бандл установить официальный. Даже настраивать не надо все само через flex настроится.
Аноним 24/06/25 Втр 13:19:33 3483186 26
>>3483176
JS последние версии ниочем,нет важных улучшений
Аноним 24/06/25 Втр 13:25:20 3483190 27
>>3483139
>Такой простой,что пакет для работы с массивами и его производных добавили только недавно,а раньше надо было городить кучу кода.
>И то, не добавили функции reduce filter map ,потому что один и создателей сказал,что НЕ НУЖНО
Я не понимаю, до чего ты доебался. Что нельзя сделать в Go без filter/map/reduce?
Допустим, ты сделал свои filter/map:
func filter[T any](slice []T, f func(T) bool) []T
func mapSlice[T, U any](slice []T, f func(T) U) []U

Для чего? Чтобы сделать композицию плана numbers.map().filter().reduce(). Окей, давай сделаем:
numbers := []int{1, 2, 3, 4, 5}
evenSquaredNumbers := mapSlice(filter(numbers, func(n int) bool {
return n%2 == 0
}), func(n int) int {
return n n
})
fmt.Println(evenSquaredNumbers) // [4 16]

Но то же самое можно написать как:
numbers := []int{1, 2, 3, 4, 5}
evenSquaredNumbers := []int{}
for _, n := range numbers {
if n%2 == 0 {
evenSquaredNumbers = append(evenSquaredNumbers, n
n)
}
}
fmt.Println(evenSquaredNumbers) // [4 16]

Шо ж тогда получается? Что обычные Тьюринговые пошаговые алгоритмы хуево сочетаются через filter/map/reduce. Ты вот в курсе. что сделали по итогу в Common Lisp?
(loop for n in '(1 2 3 4 5)
when (evenp n)
collect (* n n))

Ой, шо за хуйня, как-то оно подозрительно похоже на подход Go?
Да, если взять какую-нибудь Clojure, то там больше упора на filter/map/reduce, но там, с ихними персистентными типами данных и параллелизацией через всякие pmap, особенности этих функций конкретно используются, они не просто "потому что удобнее" применяются.
Аноним 24/06/25 Втр 13:31:07 3483195 28
>>3483186
Никто не запрещает втаскивать в проект фичи на стадии пропозала. На свой страх и риск, конечно, но кого это останавливает?
Аноним 24/06/25 Втр 13:42:04 3483204 29
>>3483162
>В Nodejs(ORM) позволяет иметь in-process кэш с околонулевой стоимостью доступа
Что такое Nodejs(ORM)?

>>3483176
>Первые два совсем некрота. Ты бы ещё Perl предложил.
Жывее всех жывых — просто посмотри, сколько вакашек на PHP./

>Петухон получше, но до выразительности JS ему далеко.
Ты ебанулся, дядя? У тебя list comprehension какие в JS есть? Переопределения операторов? Дескрипторы свойств? Генераторы недавно завезли — они в питоне есть с девяностых годов. Какая нахуй "выразительность"? В чём она выражается?

>>3483180
>JS это уже lingua franca на котором говорят буквально все. Пыхера еще найти можно, с рубистами потяжелее, а жсеров бери не хочу
Ни питон, ни JS в хуй ни упёрлись никому в отрыве от предметки. Особенно это касается питона, где предметка бывает очень сложной. То есть, на собесе по питону тебя с ходу спросят "какой метод обратного распространения ошибки вы бы предпочли для регрессивного предсказания?" — и хоть ты все PEP выучи наизусть, ты не сможешь ответить на этот вопрос, потому что, ещё раз, сам ЯП никому не нужен, этот язык — дерьмо говна, он нужен лишь как дёргалка сторонних биллиотек на C/C++.

JS — это такое же дерьмо говна, и спрашивать тебя будут по GUI фреймворкам или организации сервисов на бэке. Я проходил собесы — именно это меня и спрашивали, ни одного вопроса не было про "для каких случаев вы предпочтёте асинхронные функции?", нет, только прикладнуха, сторонние либы, фреймворки. Ну и софт-хуйня всякая, типа "как вы будете решать проблему с заказчиком?".

>>3483170
>>PHP/Ruby/Python
>Ну попробуй реалтайм сделать
Какой в пизду петушиный рилтайм вы там собрались делать на языке с GC? Мне аж интересно стало. Наверное, это что-то из оперы "у нас хайлоад система на PHP, обрабатываем 100 запросов в секунду"?
Аноним 24/06/25 Втр 13:45:38 3483208 30
>>3483190
>>3483204
>Жывее всех жывых — просто посмотри, сколько вакашек на PHP./
Битрикс,вордпресс и прочие
Аноним 24/06/25 Втр 13:48:48 3483210 31
>>3483208
и часто есть вакансии,где надо переписать с пхп на го
Аноним 24/06/25 Втр 13:51:32 3483212 32
>>3483204
>тебя list comprehension какие в JS есть?
Lodash chain в тыщи раз пижже
>Переопределения операторов?
Частично, через well known symbols
>Дескрипторы свойств?
Рефлексия во все поля
>Генераторы недавно завезли
10 лет это недавно,лол. Зато async/await завезли быстрее и типизацию
Аноним 24/06/25 Втр 14:11:32 3483224 33
>>3483195
>Никто не запрещает втаскивать в проект фичи на стадии пропозала. На свой страх и риск, конечно, но кого это останавливает?
А что там втаскивать? Из языка фичи нужно УБИРАТЬ и причёсывать старые, а не втаскивать новую хуйню. Там до сих пор целых чисел нет я языке, я ебал. Там недавно НАКОНЕЦ добавили ассоциативные массивы. Не рандомная хуйня на обычных объектах, а настоящий массив, без глобальной перезаписи цепей прототипов сформированным злоумышленником JSON-ом.

>>3483212
>>тебя list comprehension какие в JS есть?
>Lodash chain в тыщи раз пижже
Чем пизже? Тем, что ты забыл ".value()" и получил LodashWrapper{...} вместо значения?

>>Переопределения операторов?
>Частично, через well known symbols
Чивоблять? Каким образом символы помогают переопределить поведение оператора "+" для мамссива?

>Рефлексия во все поля
Reflect, Proxy, Object.getOwnPropertyDescriptors, Object.defineProperty — это полный список всех инструментов хуков-интроспекции в JS. Мне нужно рассказывать, что есть в питоне, или ты сам погуглишь? Я просто заебусь список искать, потому что в питоне есть это всё, и ещё в пять раз больше других фич.

>>Генераторы недавно завезли
>10 лет это недавно,лол. Зато async/await завезли быстрее и типизацию
.В питоне генераторы больше 30 лет существуют. Типизации в ECMAScript нет до сих пор. Async/await в JS появился с ECMAScript 2017, в питоне оно было ещё в Tornado на генераторах с версии 2.1 (2011 год).
Аноним 24/06/25 Втр 14:15:36 3483228 34
А вы заметили что в последний год,код в этом треде почти не обсуждают?
Аноним 24/06/25 Втр 14:37:18 3483244 35
>>3483228
Любители повкатываться ушли отсюда к менторам
Аноним 24/06/25 Втр 14:50:26 3483262 36
download-1.jpeg 7Кб, 225x225
225x225
>>3483224
>ты забыл ".value()" и получил LodashWrapper{...} вместо значения
Твоё ебало когда в петухон завезли типизацию, но не научили ей пользоваться.
Аноним 24/06/25 Втр 15:23:26 3483276 37
Аноним 24/06/25 Втр 16:49:54 3483330 38
>>3483262
>Твоё ебало когда в петухон завезли типизацию, но не научили ей пользоваться.
В питоне код обычно понятен без типизации. То есть, не нужно превозмогать для того, чтобы вызвать примитивную функцию.

>>3483276
>>Next.js
>Кто это?

Next.js — это популярный фреймворк для разработки веб-приложений на основе React. Он упрощает создание быстрых, масштабируемых и SEO-оптимизированных приложений. Основные особенности:
• Серверный и клиентский рендеринг: Поддерживает SSR (Server-Side Rendering), SSG (Static Site Generation) и CSR (Client-Side Rendering) для гибкости и оптимизации скорости.
• Файловая маршрутизация: Страницы создаются автоматически на основе структуры файлов в папке pages или app (в новых версиях).
• API Routes: Позволяет создавать серверные API в рамках приложения.
• Автоматическая оптимизация: Включает оптимизацию изображений, шрифтов и производительности.
• Поддержка TypeScript и CSS: Встроенная поддержка TypeScript, CSS-модулей и популярных библиотек стилей.
• Быстрая разработка: Горячая перезагрузка и встроенные инструменты для упрощения разработки.
Next.js часто используется для создания статических сайтов, e-commerce платформ и сложных веб-приложений. Последняя версия на июнь 2025 — Next.js 15, с улучшениями в рендеринге и производительности.
Аноним 24/06/25 Втр 18:53:49 3483374 39
05f68579100c5e9[...].jpg 24Кб, 564x564
564x564
>>3483330
>В питоне код обычно понятен без типизации
Аноним 24/06/25 Втр 19:06:46 3483381 40
Продвигаясь к заветной сотыге через /pr/, вы встретили тест на icq. Вычеркните лишнее:
- jestjs
- nest.js
- next.js
- nuxt.js
Аноним 24/06/25 Втр 19:23:44 3483388 41
Аноним 24/06/25 Втр 19:29:38 3483390 42
Аноним 24/06/25 Втр 20:49:39 3483449 43
>>3483381
next.js очевидно же, ведь он разработан meta - запрещённой в России экстремистской организацией
Аноним 24/06/25 Втр 21:19:41 3483464 44
Есть смысол вкатываться в next.js или это очередной jqwery, в который ты сегодня вкатываешься, а завтра им уже никто не пользуется и у тебя мозги засраты мусором?
Аноним 24/06/25 Втр 21:34:08 3483477 45
>>3483139
>You can just use a for loop, which is more flexible in general. I am not being facetious; the filter operation tends to obscure allocation and overhead, and also tends to be overused. Although I may be in the minority, I do not believe this would be a wise addition to the standard library.
Аноним 24/06/25 Втр 21:38:35 3483479 46
>>3483464
>Есть смысол вкатываться в next.js или это очередной jqwery, в который ты сегодня вкатываешься, а завтра им уже никто не пользуется и у тебя мозги засраты мусором?
Да какая нахуй разница? Во что бы ты не вкатися — завтра это будет мусор. React уже два раза под корень переписывали.
Аноним 24/06/25 Втр 21:40:08 3483480 47
>>3483477
>>You can just use a for loop, which is more flexible in general. I am not being facetious; the filter operation tends to obscure allocation and overhead, and also tends to be overused. Although I may be in the minority, I do not believe this would be a wise addition to the standard library.
Я пояснил всё то же самое, только развёрнуто и на конкретных примерах. Я-то понимаю, что сей чел имел в виду. но простому крокодилу нихуя не понятно, особенно каргокультисту из функциональщины.
Аноним 25/06/25 Срд 01:09:22 3483567 48
>>3483204
>Что такое Nodejs(ORM)?
Я бы начал с того, что такое
>in process кэш
В node.js нет такого понятия.

>У тебя list comprehension какие в JS есть?
Во-первых, это уебищный нечитаемый синтаксис. Во-вторых, а нахуя они вообще нужны, когда есть map/filter/reduce?

>Переопределения операторов?
В питоне че ты там переопределяешь?

>Дескрипторы свойств?
Ты говна поел?

>Какая нахуй "выразительность"? В чём она выражается?
Она заключается в том, что вместо вот такой хуйни
[item for row in matrix for item in row]
я напишу просто
array.flat()

Уловил разницу?

>Особенно это касается питона, где предметка бывает очень сложной
Кек, крудошлепство на джанго или ноутбуки на анаконде - это пиздец как сложно, верю, проверяй.

>и спрашивать тебя будут по GUI фреймворкам или организации сервисов на бэке
Еще раз кекаю с дауна. В нормальной конторе собес начнется с того, что тебя попросят склонировать объект, после того как собеседующий поймет, что ты не знаешь о существовании дескрипторов свойств в джс, собес закончится.

>нет, только прикладнуха, сторонние либы, фреймворки
Так ты просто додик-формошлеп. Зачем тебя про асинхронщину спрашивать, если ты банально не понимаешь, как объекты устроены? Ты оператор npm install.

>Какой в пизду петушиный рилтайм вы там собрались делать на языке с GC?
Ну давай посмотрим как ты чат на питоне запилишь. А, у тебя скриптовая хуйня, которая интерпретатор на каждый запрос запускает, поняяяятно.

>>3483224
>Там до сих пор целых чисел нет я языке, я ебал.
А в питоне-то, в питоне-то они конечно есть? Ну и завали кукарекалку

>Там недавно НАКОНЕЦ добавили ассоциативные массивы.
Какие блять ассоциативные массивы? Ты под наркотиками какими-то сюда пишешь, ебанько?

>Я просто заебусь список искать, потому что
его нет, лол.

>В питоне генераторы больше 30 лет существуют
А параллельные вычисления завезли в питон уже Многопроцессность? ;)

>Типизации в ECMAScript нет до сих пор
Ебать долбоеб, она там есть с 1999 года, с момента того, как был добавлен jsdoc
Аноним 25/06/25 Срд 06:56:56 3483645 49
Буфер обмена06-[...].jpg 120Кб, 702x467
702x467
Аноны, я в JS вообще ни в зуб ногой, но по работе хочу сделать расширение для Хрома, которое копирует содержимое определенных элементов в буфер обмена и отдает его обратно. Чатгпт мне выдал код, он работает на Линуксе, но на Вин расширение падает в ошибку "NotAllowedError: Failed to execute 'writeText' on 'Clipboard': Document is not focused."
Сам скрипт тут https://pastebin.com/fGhxGyXp.

Что можно изменить, а? Этот Javascript охуенно сложная хуйня оказывается.
Аноним 25/06/25 Срд 07:35:18 3483657 50
>>3483645
А ты свою чатжипиту дальше спрашивай.
Аноним 25/06/25 Срд 09:12:33 3483693 51
>>3483479
вот поэтому угараю каждый раз с вас фрейморщиксов. всегда писал на чистом js и никаких проблем. хуйней страдаете как дети
Аноним 25/06/25 Срд 09:16:10 3483694 52
>>3483464
Хули там вкатываться, если знаешь реакт то почитать доки про app router и нужные компоненты и можно начинать говнокодить
Аноним 25/06/25 Срд 09:22:42 3483695 53
>>3483693
Твои тыща строк это не писал, а так, пописывал.
Аноним 25/06/25 Срд 10:54:05 3483746 54
1i-eQm1hVNC2Xi8[...].webp 37Кб, 531x733
531x733
1Y3a1FfgTv8jen9[...].webp 24Кб, 524x542
524x542
>>3483567
> бы начал с того, что такое
>>in process кэш
>В node.js нет такого понятия.
Так я об этом тебе и пишу: нода — бесполезный мусор, в ней ничего нету из того, что есть в норм инструментах/языках.

>Во-первых, это уебищный нечитаемый синтаксис. Во-вторых, а нахуя они вообще нужны, когда есть map/filter/reduce?
Согласен, мне тоже не нравятся list comprehension в питоне. Правда, лямбды в питоне тоже говно, и в JS они были заметно хуже до ES6.
Что, однако, не отменяет того факта, что for range в Go выглядит намного лучше, чем всё это вместе взятое.

>В питоне че ты там переопределяешь?
Пикрил. Это не весь список, есть ещё контейнерные операции.

>>Дескрипторы свойств?
>Ты говна поел?
До какого-то стандарта это был единственный способ перехвата доступа к JS. Потом появилось Proxy. Полное проксирование было в питоне с версии 2.0.

>Она заключается в том, что вместо вот такой хуйни
>[item for row in matrix for item in row]
>я напишу просто
>array.flat()
Если тебе нужно будет немножко поменять реализацию flat, то ты просто возьмёшь за щеку. Знаешь как выглядит реализация функции flat на JS?
function customFlat(array, depth = 1) {
if (depth < 0) {
return array;
}

return array.reduce((flattened, current) => {
if (Array.isArray(current) && depth > 0) {
return flattened.concat(customFlat(current, depth - 1));
}
return flattened.concat(current);
}, []);
}

Теперь как это выглядит в питухоне на list comprehension:
def customFlat(lst, depth=1):
if depth == 0:
return lst
return [
item
for sublist in lst
for item in (
flatten_depth(sublist, depth - 1)
if isinstance(sublist, list)
else [sublist]
)
]

Дохуя сложнее? Чот я сомневаюсь, что код на reduce-concat ты прямо с ходу понял.
Аноним 25/06/25 Срд 11:32:56 3483772 55
classes.png 38212Кб, 26959x26290
26959x26290
>>3483567
>Кек, крудошлепство на джанго или ноутбуки на анаконде - это пиздец как сложно, верю, проверяй.
Пикрил иерархия классов Django 5.2.3 пикрил. Открывать с осторожностью, на мобилках лучше вообще не открывать.
Забавно, что именно американские стартапы угорают по джанге — остальной мир предпочитает минимизировать свой контакт с этим пиздецом.

>В нормальной конторе собес начнется с того, что тебя попросят склонировать объект, после того как собеседующий поймет, что ты не знаешь о существовании дескрипторов свойств в джс, собес закончится.
Да, однажды что-то такое спросили. Я ХЗ, с хуя ли ты делаешь вывод про "не знаешь о существовании дескрипторов свойств", если в сообщении, на которое ты отвечаешь, я про них написал. Дескрипторы свойств обычно предпочитают не копировать, и я бы скорее предпочёл отпиздить линейкой по рукам того, кто введёт в проект клонирование объектов с их дескрипторами, потому что дескрипторы обычно опираются на внешний контекст, который не входит в состав клонируемого объекта.
И, опять же, индустрия уже давно уходит от дескрипторов в сторону более чистого Proxy, который явно разделяет данные и наблюдение за ними.

>Так ты просто додик-формошлеп. Зачем тебя про асинхронщину спрашивать, если ты банально не понимаешь, как объекты устроены? Ты оператор npm install.
Я тебе про питон рассказывал. В JS про прикладнуху спрашивают реже потому, что её там намного меньше. Но всё равно много. В самом ЯП там нехуй изучать, любое профессиональное развитие что в JS, что в питоне идёт только в прикладнуху. Если тебя на собесах спрашивают только про устройство ЯП, то, возможно, ты даже до "додика-формошлёпа" ещё не дорос.

>Ну давай посмотрим как ты чат на питоне запилишь. А, у тебя скриптовая хуйня, которая интерпретатор на каждый запрос запускает, поняяяятно.
Как же ты охуеешь, когда узнаешь, что мессенжеры в Discord и Instagram были изначально написаны на Python.
То, что вы описываете, не называется "real time", по крайней мере в общепринятом словаре. Так-то для кого-то ответ за 5 минут может быть "real time". Общепринятый real time подразумевает, что система никогда не превышает некоторую заданную задержку в долю секунду, даже при потере связи (система продолжает реагировать на события с учётом потери связи).
Всё это к простым месенжерам, естественно, не относится, это просто системы с низкой задержкой, которые могут и через секунду, и через две прислать сообщения, и всем будет похую.

>>Там до сих пор целых чисел нет я языке, я ебал.
>А в питоне-то, в питоне-то они конечно есть? Ну и завали кукарекалку
У тебя гугл отключили и бесплатные лимиты по всем нейросеткам исчерпаны?

>Какие блять ассоциативные массивы? Ты под наркотиками какими-то сюда пишешь, ебанько?
Map(), WeakMap(). Точно токены кончились.

>А параллельные вычисления завезли в питон уже Многопроцессность?
В питоне с параллельными вычислениями ситуация ровно такая же хуёвая, как и в JS. В том же ML по сути дёргается внешний многопоточный код на C/C++ — с таким же успехом его можно было запускать в отдельном процессе (как это делают в Elixir).

>Ебать долбоеб, она там есть с 1999 года, с момента того, как был добавлен jsdoc
JSDoc — это школьная поделка (community-driven), которая ни в одном стандарте не принята.
Аноним 25/06/25 Срд 12:07:51 3483800 56
>>3483693
>вот поэтому угараю каждый раз с вас фрейморщиксов. всегда писал на чистом js и никаких проблем. хуйней страдаете как дети
С кого "вас"? Дядя, я даже в проекте на Vue половину кода писал на простом JS, без "реактивности". Там ещё нужно постараться не дать фреймворку всунуть свою реактивность туда, где его не просят, а то он лезет во все щёлки, замедляя работу без толку.
Перед тем, как уйти из фронта, я угорал по Svelte v3, ны нынче уже есть такие штуки, как Alpine.js и Petite vue, которые куда угодно можно встроить — всё-такие ебаться со сложными взаимосвязями на сухую не очень приятно. Допустим, тот же Prosemirror использует модель реактивности аля React, то есть, построение всего VDOM одним проходом и синхронизация DOM по нему — и какой тут смысл выёбываться "зато у нас не React"?
Аноним 25/06/25 Срд 18:57:42 3484186 57
>>3482729
> 1. Нода быстрая — да, но не быстрее Go/Java/C#;
Быстрее, если не писать говнокод
> 1. Нода медленнее чем все компилируемые ЯП
Медленнее на 20-130% по сравнению с С, это ни о чем
> 3. Простота деплоя — смишно, угу.
Писать в три-пять раз быстрее это пиздато, потом можно переписать на с/zig/rust, а можно и хуй забить.

>>3483046
>но есть траблы с перформансом в части сборки мусора
Только если писать как индус. У меня gc на беке вообще не работает, например

>>3483130
>JS на бэке в хуй не упёрлось именно для прототипирования, потому что есть PHP/Ruby/Python.
Чего нахуй? Прототипы пишут фулстек, нахуй нужно два языка когда прототип пишешь? Обезумел совсем?
Аноним 25/06/25 Срд 20:24:27 3484248 58
>>3484186
>> 1. Нода быстрая — да, но не быстрее Go/Java/C#;
>Быстрее, если не писать говнокод
Напомни мне, сколько ядер процессора в норме может нода использовать? А то я забыл что-то.

>Медленнее на 20-130% по сравнению с С, это ни о чем
Ты пизданулся? Откуда инфа? Даже нейросетка такую хуйню не сморозит. Пять-десять раз в среднем не хотел (по памяти и ЦП)?
https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/node-gcc.html

>Писать в три-пять раз быстрее это пиздато, потом можно переписать на с/zig/rust, а можно и хуй забить.
В три-пять раз быстрее, чем что? Чем Rust? У меня нет других предположений по поводу того, что может быть настолько медленным в разработке.

>Чего нахуй? Прототипы пишут фулстек, нахуй нужно два языка когда прототип пишешь? Обезумел совсем?
Если так доебаться, то HTML — это тоже ЯП, и CSS. Это што ж получается, три языка нужно знать? Хотя, я уверен, что ты бездарная хуила (как и все фулстэкеры), которая флексбоксы не умеет правильно организовывать (inb4: нахуй мне знать CSS, когда есть Bootstrap?).
Прототип в смысле "кусок говна, внешне похожий на будущий продукт" можно захуярить на Python + strawberry + GraphQL с доступом к БД без какой-либо авторизации и валидации ввода — это будет мало отличаться от духа CRUD-ов на TypeScript + Zod, и больше похоже по духу на express-graphql.
Честно говоря, я в настолько хуёвых проектах никогда не работал, так что тут моя компетентность может быть недостаточной.
Аноним 25/06/25 Срд 20:46:29 3484256 59
>>3483746
>Так я об этом тебе и пишу: нода — бесполезный мусор
Так я с этим и не спорил, я тебе сказал, что ты отвечаешь додику, который вообще не понимает, что такое нода.

>for range в Go выглядит намного лучше, чем всё это вместе взятое.
Я не знаю, как выглядит
>for range в Go

>for range в Go
Это недоразумение. В питоне все - объект. Ты в JS можешь также
для любого объекта переопределить valueOf и получишь такую же псевдоперегрузку.

>До какого-то стандарта это был единственный способ перехвата доступа к JS.
При чем здесь перехват? Перехват - задача аксессоров (позже - прокси). Задача дескрипторов - предотвратить перезапись/удаление свойства, которое положит систему, стоимостью 6,000 рублей в секунду.

>Если тебе нужно будет немножко поменять реализацию flat
Мне не нужно менять реализацию flat. Любой компрехеншн реализуется той илиной комбинацией map/flat/reduce с аналогичной алгоритмической сложностью.

>Пикрил иерархия классов Django 5.2.3 пикрил.
Ну я могу тебе еще более уебищную иерархию высрать. Дальше-то что? Типа крутость в сложности или что? Ну программни на брэйнфаке UI для браузера, че.

>Дескрипторы свойств обычно предпочитают не копировать, и я бы скорее предпочёл отпиздить линейкой по рукам того, кто введёт в проект клонирование объектов с их дескрипторами
Удачи реализовать аналог тильды

>Если тебя на собесах спрашивают только про устройство ЯП
Если ты не понимаешь устройство ЯП, о какой прикладнухе идет речь, лол?

>То, что вы описываете, не называется "real time"
Чувак, я прекрасно знаю, что в АКАДЕМИЧЕСКОЙ среде называется soft real-time и hard real-time система. Я говорю, про то, что подразумевается в БЫТОВОЙ речи.

>У тебя гугл отключили и бесплатные лимиты по всем нейросеткам исчерпаны?
Ну кидай ссылку на доку.

>Map(), WeakMap().
>ассоциативные массивы
ВАВХХАВХАХВАХВХАХВАХВАХХВАХВАХВАХ

На остальные 2 лень отвечать.
Аноним 25/06/25 Срд 20:50:14 3484259 60
>>3484248
>Напомни мне, сколько ядер процессора в норме может нода использовать? А то я забыл что-то.
1ядро-один поток.Но можно спокойно поднять кластер из коробки или добавить PM2
Аноним 25/06/25 Срд 23:18:54 3484331 61
>>3484248
> Напомни мне, сколько ядер процессора в норме может нода использовать? А то я забыл что-то.
Все может использовать, дебил что ли? Там и кластер есть и воркеры и атомики.
> Ты пизданулся? Откуда инфа? Даже нейросетка
У тебя все знания от нейросетки? Неудивительно.
> Пять-десять раз в среднем не хотел (по памяти и ЦП)?
Если ты даун-говноед и никогда не писал на С - у тебя так и будет. Пиши нормально - нормально будет.
> Пять-десять раз в среднем не хотел (по памяти и ЦП)? https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/node-gcc.html
Классика калоедства - обычные массивы вместо typedarray, сообщения вместо атомиков, алгоритм уровня кала. Вот нормальный тест https://github.com/denshade/speedTest С сравним с JS, че-то около 20% что ли. Нормально написанный JS код всегда +/- на уровне С.
> В три-пять раз быстрее, чем что? Чем Rust? У меня нет других предположений по поводу того, что может быть настолько медленным в разработке.
Чем почти на любых других языках, очевидно же. На ноде ты просто берёшь и пишешь говняк который по скорости сравним с С без AVX.
> Если так доебаться, то HTML — это тоже ЯП, и CSS.
Что ты несешь, даун? HTML и CSS это не не язык программирования, это язык разметки и язык стилей. Пиздец ты хуйню высрал конечно.
> Прототип в смысле "кусок говна, внешне похожий на будущий продукт" можно захуярить на Python + strawberry + GraphQL
Безусловно, в питоне можно сделать только кусок говна. Я не спорю.
Аноним 26/06/25 Чтв 00:15:28 3484352 62
>>3483694
Роутер для педиков, кста. Нахуй в SPA роутер довны?
Аноним 26/06/25 Чтв 00:16:34 3484354 63
>>3484256
>>for range в Go выглядит намного лучше, чем всё это вместе взятое.
>Я не знаю, как выглядит
>>for range в Go
А нахуй ты пишешь в тред, который не читаешь? >>3483190

>Ты в JS можешь также для любого объекта переопределить valueOf и получишь такую же псевдоперегрузку.
Складывать массивы? Нихуя ты не можешь в JS, там с самого начала операторы (плюс, минус. больше, меньше, если не дошло ещё) в языке реализованы максимально хуёво.

>Перехват - задача аксессоров (позже - прокси). Задача дескрипторов - предотвратить перезапись/удаление свойства, которое положит систему, стоимостью 6,000 рублей в секунду.
Чисто доеб до определений. Свойств не было изначально в JS, потому всё, что налепили поверх них, можно назвать тем или иным перехватом. Например, никто не запрещает коду вызвать операцию записи — более того, в старом режиме (без strict) запись в read-only property происходит вообще без ошибок, значение просто не сохраняется и код выполняется дальше.

>Мне не нужно менять реализацию flat. Любой компрехеншн реализуется той илиной комбинацией map/flat/reduce с аналогичной алгоритмической сложностью.
Ты просто понимашеь степень всратости той хуйни, которую ты превозносишь? То есть, засовывать в массивы и возвращать в лямбдах map() иногда значения, иногда массивы, иногда массивы массивов — это, блять, нормально? "А мы потом может быть как-нибудь это мусорное ведро причешем через flat()" — мне прям представился бомж, копающийся в мусорном баке, находит там недоеденные колбасные огрызки, и такой "вот, map/flat/reduce работает, а вы говорили". Пиздец, такой кринж.

>Ну я могу тебе еще более уебищную иерархию высрать. Дальше-то что? Типа крутость в сложности или что? Ну программни на брэйнфаке UI для браузера, че.
Для кого-то сложность джанги оправдана, но просто так вкатиться с ноги в коммерческую джангу со словами "я знаю питон, мне ничо не нужно" — это очень наивно. Энтерпрайз с миллионами строк на питоне — это совершенно другой зверь, нежели страничка с одной строчкой текста и кнопочкой.
Если чо — я был на собесах, там вопрос с ходу был "сколько лет ты с джангой работал? Ноль? Ну и нахуй ты нам в бэке?".

>>Дескрипторы свойств обычно предпочитают не копировать, и я бы скорее предпочёл отпиздить линейкой по рукам того, кто введёт в проект клонирование объектов с их дескрипторами
>Удачи реализовать аналог тильды
Ты о чём?

>Если ты не понимаешь устройство ЯП, о какой прикладнухе идет речь, лол?
В JS до сих пор находят сложнообъяснимые поведения даже в базовых функциях, потому что поверх изначального говна дерьма, созданного за десять дней, лепят всё больше и больше слоёв новых функций. и эти новые функции сложнопредсказуемо взаимодействуют с древним пиздецом.
Потому с практической точки зрения есть смысл только в "знать, каким подмножеством ЯП пользоваться", а теоретическими раскопками для "понимания устройство ЯП" занимаются либо в комитете TC39, либо просто от нехуй делать.
Чтобы было ясно:
(![]+[])[+[]]+([][[]]+[])[+[]]+([][[]]+[])[+!![]]
Здесь записана строка 'fun'.

parseInt(0.0000005)
Результат этой функции — число 5. Знай JS дальше. Чо ты там про брейнфакт говорил?

>Чувак, я прекрасно знаю, что в АКАДЕМИЧЕСКОЙ среде называется soft real-time и hard real-time система. Я говорю, про то, что подразумевается в БЫТОВОЙ речи.
Ты говоришь про то, что подразумевается в среде смузихлёбов "ранящих жобу". Так-то в очереди на кассе в пятёрочке я что ни разу не слышал от бабулек про рилтайм, в бытовой-то речи.

>>Map(), WeakMap().
>>ассоциативные массивы
>ВАВХХАВХАХВАХВХАХВАХВАХХВАХВАХВАХ
То есть, среди фулст.эк смузихлёбов, изучающих устройство языка изо дня в день, не слышали про "key-value хранилища", "таблицы символов", "хэш-таблицы", "деревья поиска"?

>Ну кидай ссылку на доку.
https://docs.python.org/3/library/stdtypes.html#numeric-types-int-float-complex

>На остальные 2 лень отвечать.
Чот у тебя быстро токены кончаются. Зарегайся на других сервисах.
Аноним 26/06/25 Чтв 00:19:49 3484355 64
>>3484259
>1ядро-один поток.Но можно спокойно поднять кластер из коробки или добавить PM2
Если есть лишние пару сотен Гб памяти, то конечно можно. На Benchmarks game хорошо видно, насколько больше памяти выжирает многопроцессовая нода. С питоном, к слову, аналогичная проблема, ему даже fork не помогает. По той же причине Github, по крайней мере раньше, требовал ебанутых объемов оперативной памяти для работы (он был написан на руби).

Всех этих проблем нет в Go, он просто сразу работает быстро, его не нужно прогревать, ему не нужна лишняя память под JIT-оптимизатор, он может использовать сколько угодно ядер когда угодно. Да, можно подыскать очень специфичный пример, где на ноде выполняется тщательно заоптимизированная разрабами функция, а на Go — слабо оптимизированная, но в среднем по палате коде Go уверенно укатывает ноду в разы.
https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/go-node.html
Даже там, где нода показала одинаковое время выполнения, Go потребил в 5-10-20 раз меньше оперативной памяти. Идея ясна? И это длинные повторяющиеся бенчи — если у вас короткая динамичная логика, то нода сосёт без шансов, одна лишь раскрутка JIT-оптимизатора сожрёт больше ресурсов, чем выполнение.
Аноним 26/06/25 Чтв 00:20:15 3484356 65
>>3484186
Не, ну ты про то, что node быстрее Go, загнул. Но в целом, да. Дауны до сих пор читаю методички, где у них JAVA - это серьёзно, а JS - нет, хотя, по возможностям выражения мысли TS (TS хейтеры - сосатБ) превосходит JAVA, а по сложности V8 ебёт JVM
Аноним 26/06/25 Чтв 00:26:05 3484358 66
Чепухонцы, вы заебали менять скорость языков. Одна только мысль, что вы там сравниваете СКОРОСТЬ ЯЗЫКА, говорит о вашей дегенеративность. Язык выбирается из соображений применимости и фич. Хочешь скорость, бери кресты и не еби мозг, так как они дают максимальное количество возможностей, чтобы, внимание, написать быстрый код, потому, как и на крестах можно наговнякать тормозное нечитаемое говно, похуже школьной поделки на пятухоне

Ещё раз такое увижу, забаню на дваче
Аноним 26/06/25 Чтв 00:48:18 3484363 67
>>3484331
>Все может использовать, дебил что ли? Там и кластер есть и воркеры и атомики.
Не так давно введённые в JS инструменты для многопоточности по степени удобства и надёжности находятся где-то на уровне C. Потому я не рассматриваю их всерьёз, как инструменты написания обычного кода на ноде. Просто открой любую либу с интенсивным использованием воркеров и передачей данных между ними, и зацени, насколько там нечитаемый пиздец.
Отличие C/C++ в том, что в C/C++ под это дело есть настоящие типы данных, например ЦЕЛЫЕ СУКА ЧИСЛА, которых нет даже в ебаном TypeScript.

Про кластер уже ответил: >>3484355

>>Ты пизданулся? Откуда инфа? Даже нейросетка
>У тебя все знания от нейросетки? Неудивительно.
А у тебя все знания с потолка — таблетки не забывай принимать.

>Если ты даун-говноед и никогда не писал на С - у тебя так и будет. Пиши нормально - нормально будет.
Таблетки. Не забываем.

>Вот нормальный тест https://github.com/denshade/speedTest С сравним с JS, че-то около 20% что ли. Нормально написанный JS код всегда +/- на уровне С.
"Нормальный тест" на десять строчек кода? Что по этому поводу говорит твой психиатр?

>На ноде ты просто берёшь и пишешь говняк который по скорости сравним с С без AVX.
Такую хуйню может написать только чел, который не пытался достичь быстрого выполнения программы из более чем десяти строчек на node.js. Там граблей оптимизатора неисчерпаемый запас. Asm.js — это рабочая методика, но код должен быть очень точный, ни про какое "пишешь говняк" речи идти не может.

>Что ты несешь, даун? HTML и CSS это не не язык программирования, это язык разметки и язык стилей. Пиздец ты хуйню высрал конечно.
CSS позволяет записывать переиспользуемые вычисления и декларативные шаги анимации. То, что он не Тьюринг полный, не значит, что он не язык и не программирования. HTML — да, сам по себе нихуя не может, но после опредмечивания браузером на его месте появляется DOM из интерактивных элементов. Браузерный DOM не является частью спецификации ECMAScript, это всё сторонние библиотеки-расширения.

>Безусловно, в питоне можно сделать только кусок говна. Я не спорю.
Так это ж всё из ноды методики я описывал.
Аноним 26/06/25 Чтв 00:50:10 3484364 68
>>3484352
>Роутер для педиков, кста. Нахуй в SPA роутер довны?
Бесит, кстати. Раньше в query строке всю эту хуйню делали, а сейчас им весь location давай на растерзание.
Аноним 26/06/25 Чтв 00:52:37 3484365 69
>>3484364
Во, во. Хештега достаточно #
Аноним 26/06/25 Чтв 01:00:45 3484367 70
>>3484365
Это некрасиво выглядит.
Плюс хэштег нужен для скроллинга к конкретному элементу, все браузеры обеспечивают этот функционал.
Путь в url всегда отвечал за загрузку нужной страницы, а раз этим теперь занимается spa router, то пусть так и берет данные о выборе страницы из пути.
Аноним 26/06/25 Чтв 01:29:36 3484372 71
>>3484356
>Дауны до сих пор читаю методички, где у них JAVA - это серьёзно, а JS - нет, хотя, по возможностям выражения мысли TS (TS хейтеры - сосатБ) превосходит JAVA, а по сложности V8 ебёт JVM
Не люблю язык школьников плана "мой батя твоего отпиздит", потому настойчиво требую придерживаться фактов.
Java — это провал века, на мой взгляд, и тот факт, что C# слепо его скопировал, аналогичным образом похоронило всё будущее, которое на эту платформу возложил Microsoft. И слава богу, земля пухом Syn Microsystems, Nokia, Windows CE, UWP, и прочему разложившемуся мусору (каким бы он актуальным не был 30 лет назад). Провал сей хорошо виден на бенчах:
https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/javavm-node.html
так что я особо вдаваться в механизмы низкой производительности Java и C# не буду.
Зато затрону два важных момента:
1. На C#/CLR и Java/JVM возможно написание удобной надёжной многопоточки — нода так не умеет. Бенчи с кластерами-воркерами требовали намного большего приложения усилий к ноде, чем аналогичный код на C#/Java — то есть, JS лишается своей простоты, нужно прилагать сверхусилия уровня кодописания на Си;
2. "по сложности V8 ебёт JVM" — и что тут хорошего? Кучу микрооптимизаций там, микрооптимизаций здесь, всё это регулярно деоптимизируется, и хуй поймёшь почему это происходит. Но, да, весь этот мертворождённый труп JS приводится в вид, подобный живому. именно за счёт огромного объема усилий со стороны Google, и только поэтому платформа всё ещё воспринимается всерьёз.
Аноним 26/06/25 Чтв 06:45:49 3484435 72
>>3484356
Быстрее, но не на много. Если брать сервера - нода будет быстрее уже существенно, тому что в голанге ансихронность немного ебанутая. Офк сама нода кусок кала, по этому придётся использовать c++ сервера через napi, либо использовать бан.

>>3484358
Кого ебёт че там у тебя происходит в рогах и копытах? Применимость, че блядь? Ебнулся совсем малютка

>>3484363
>Не так давно введённые в JS инструменты для многопоточности по степени удобства и надёжности находятся где-то на уровне C.
Да, хорошая штука. Мне нравится, ничего лишнего.
>Потому я не рассматриваю их всерьёз
Так ты просто не можешь в С. Твои проблемы.
>Отличие C/C++ в том, что в C/C++ под это дело есть настоящие типы данных, например ЦЕЛЫЕ СУКА ЧИСЛА, которых нет даже в ебаном TypeScript.
Ебанулся? Для этого есть TypedArray, через них и осуществляется вся работа с многопоточностью.
>Про кластер уже ответил
Прав в гигабайтах памяти, но если взять bun - будет получше, всего лишь гигабайт.
>А у тебя все знания с потолка — таблетки не забывай принимать.
>Таблетки. Не забываем.
>"Нормальный тест" на десять строчек кода? Что по этому поводу говорит твой психиатр?
Сколько бы ты не отрицал реальность она не будет другой - оптимизированный JS работает примерно на уровне C.
> Такую хуйню может написать только чел, который не пытался достичь быстрого выполнения программы из более чем десяти строчек на node.js. Там граблей оптимизатора неисчерпаемый запас.
Можешь писать сколько угодно строк, главное не писать говнокод. Но для тебя атомики это сложно, С это сложно - ты даже не понимаешь в чем проблема твоих говнотестов.
> То, что он не Тьюринг полный, не значит, что он не язык и не программирования.
Это язык разметки, дебил, перестань свои определения выдумывать.
> Так это ж всё из ноды методики я описывал.
Из твоей практики что ли? Так ты говнокод пишешь, потому что дебил.
Аноним 26/06/25 Чтв 06:48:00 3484438 73
>>3484372
Зачем ты кидаешь свои говнобенчи? Их писали такие же как ты отсталые дебилы, которые не в состоянии понять что происходит в коде и как работать с нормальной многопоточностью.

Эти бенчи доказывают лишь твою отсталость, что ты говноедище которое не замечает даже в чем проблема.
Аноним 26/06/25 Чтв 09:02:17 3484465 74
>>3484355
>он может использовать сколько угодно ядер когда угодно
Нормально человек-нейросеть отвечает, сразу видно, что не шарит.

Голанг на проде использует 1 ядро тоже. Это хайлоад. Вам не понять.
Аноним 26/06/25 Чтв 09:50:00 3484477 75
>>3484465
Двачую. Вангую этот чушок многопоточность никогда вообще не писал, даже не понимает что синхронизация потоков убивает всю многопоточность, да и в целом это нахуй не нужно когда есть системный SO_REUSEPORT.
Аноним 26/06/25 Чтв 10:18:43 3484487 76
>>3484435
>Если брать сервера - нода будет быстрее уже существенно, тому что в голанге ансихронность немного ебанутая
"Асинхронность немножко ебанутая"? Пишет говноед, фанатеющий по ЯП с цветными функциями, где разные цвета нельзя сочетать. Я просто в ахуе, ваше мннеие очень важно для нас.

>Да, хорошая штука. Мне нравится, ничего лишнего.
Замечательная штука — теперь бы ещё к ней средства отладки для её непредсказуемого поведения, и IDE для того чтобы разрозненные куски единого алгоритма собрать по десятку модулей — и было бы вообще заебись.
Чисто для справки, перый раз с кодом на воркерах JS я работал уже имея опыт поддержки годами большой многопоточной хуйни на Delphi. И всё равно я был в шоке.

>>Потому я не рассматриваю их всерьёз
>Так ты просто не можешь в С. Твои проблемы.
Твои аналитические навыки в очередной раз обосрались — последние три года я работал техлидом C/C++, REST сервисы.

>Ебанулся? Для этого есть TypedArray, через них и осуществляется вся работа с многопоточностью.
Вы языке нет целых чисел, но есть целочисленный массив — степень пиздеца понимаешь или нужно ещё развернуть?

>Прав в гигабайтах памяти, но если взять bun - будет получше, всего лишь гигабайт.
QuickJS и Duktape ещё быстрее будут, потому что в них JIT нету — парадоксально, но JS изначально был разработан под работу с очень маленьким объемом RAM, потому потенциал в этом направлении большой. Другое дело, что там где-то за горизонтом начинает маячить питон.

>Сколько бы ты не отрицал реальность она не будет другой - оптимизированный JS работает примерно на уровне C.
Где я это отрицал? Я лишь писал о том, что оптимизация работает далеко не для любого кода на JS, и поебаться с его вылизиванием придётся поболее, чем с написанием аналогичного кода сразу на Си. То же самое относится к Java, C#, Go — пока не приходит сборщик мусора, конечно.

>Можешь писать сколько угодно строк, главное не писать говнокод. Но для тебя атомики это сложно, С это сложно - ты даже не понимаешь в чем проблема твоих говнотестов.
Окей, гуру, в чём проблема этого говнокода? Почему V8 не сможет его оптимизировать?
let obj = { a: 1 };
obj.b = 2;
Аноним 26/06/25 Чтв 10:21:37 3484488 77
>>3484438
>Зачем ты кидаешь свои говнобенчи? Их писали такие же как ты отсталые дебилы, которые не в состоянии понять что происходит в коде и как работать с нормальной многопоточностью.
Типикал двач:
— Сотни программ, бенчащих сложные и совершенно разные алгоритмы на двадцати разных языках?
— Отсталые дебилы!
— Программа с одним циклом на десять строчек?
— Профессиональные оптимизаторы из Google!

Что и требовалось доказать.
Аноним 26/06/25 Чтв 10:32:10 3484498 78
>>3484465
>Голанг на проде использует 1 ядро тоже. Это хайлоад. Вам не понять.
Go размазывает активные горутины по всем ядрам. Если вы написали хуйню, которая имеет только одну активную горутину, то я вам соболезную. Но вас никто не заставлял так писать.

>>3484477
>даже не понимает что синхронизация потоков убивает всю многопоточность
Ну так не делай синхронизацию потоков лишний раз, ебаныврот. А то делают HTTP запрос под блокировкой, а потом "чот медленно работает, хуйня ваш голанг". Я сейчас даже не выдумываю пример, потому что в моих дельфийских буднях я какой только хуйни не видел под блокировками.
Аноним 26/06/25 Чтв 10:34:53 3484501 79
>>3484498
>Go размазывает активные горутины по всем ядрам
Какие "все" ядра, если у тебя в контейнере дали одно ядро 0.125 ?
Сразу видно вкатуна, который прод на го не нюхал
Я работал на го, нет в современной разработке больше 1го ядра
Аноним 26/06/25 Чтв 11:10:05 3484526 80
>>3484501
>Какие "все" ядра, если у тебя в контейнере дали одно ядро 0.125 ?
>Сразу видно вкатуна, который прод на го не нюхал
У вас микросервисная помойка по распилу инвесторных денег — при чём тут я? У меня на последней работе "прод" был 48 ядер и 192 Гб оперативы — вот это "прод". Это только одна нода, таких десятки.
Слава богу, что я при поиске работы просто скипал всю такую новомодную прогрессивную хуйню по перекладыванию JSON-ов из одной коробки в другую..
Аноним 26/06/25 Чтв 11:47:44 3484554 81
>>3484487
>>3484488
А ясно, это нейронка. Так вот почему ебанутая чушь вместо аргументов, а рассуждения уровня "пук среньк jit gc бенч врёти"

> Я лишь писал о том, что оптимизация работает далеко не для любого кода на JS
Хорошо что даже нейронка признаёт что на JS код по скорости сравним с C. Очередная победа человека в споре с пиздушной машиной.

>>3484498
Любая блокировка и любая синхронизация при запросе это минус производительность, любая рассинхронизация это значительный простой. Зачем проебывать производительность, если это можно не делать? Ведь уже есть системное распределение задач между процессами, притом оно работает без всяких синхронизаций. Зачем потоки в вебе, при запросах? Это же шиза, задумайся, у тебя галлюцинации.

Сейчас нейросеть скажет "да, ты полность прав, я в очередной раз отсосала, многопоточность в проде это галлюцинация с моей стороны".
Аноним 26/06/25 Чтв 12:15:55 3484582 82
так я не понял,сколько го использует ядер по умолчанию?
Аноним 26/06/25 Чтв 12:46:51 3484603 83
>>3484582
go это язык программирования, он ничего не использует. Горутины - да, использует все ядра
Аноним 26/06/25 Чтв 12:48:53 3484606 84
>>3484603
Если я сделаю один простой веб сервер с парочкой маршрутами и простой обработкой json, то ГО при выполнении загрузит только одно ядро процессора?
Аноним 26/06/25 Чтв 12:52:04 3484607 85
>>3484606
1 ядро без горутин, все ядра с горутинами.
Можешь проверить
Аноним 26/06/25 Чтв 12:53:45 3484609 86
>>3484607
Так там тоже надо писать код под многопоточность, аналог cluster node js?
Аноним 26/06/25 Чтв 12:53:57 3484610 87
Только чур не используй обёртку над горутинами, а то не честно.
Аноним 26/06/25 Чтв 12:54:41 3484611 88
>>3484609
>аналог cluster node js?
Аналог pub/sub workers, это когда одноядерные контейнеры разгребают асинхронные сообщения из очереди
Аноним 26/06/25 Чтв 12:58:22 3484613 89
>>3484607
>If your goal is just to have your request-processing code run on all CPU cores, net/http already starts a goroutine (a vaguely thread-like thing with a Go-specific implementation) per connection, and Go arranges for NumCPU OS threads to run by default so that goroutines can be spread across all available CPU cores.
А это как понять?
Аноним 26/06/25 Чтв 12:59:57 3484615 90
>>3484613
>net/http already starts a goroutine
Ну так ты используешь обёртку, над горутинами, всё правильно. Попробуй написать свой веб-сервер без них
Аноним 26/06/25 Чтв 13:01:48 3484616 91
>>3484615
Чет не понял,если пакет для сервера то там автоматом включают горутины,а если простой код вывести хелло ворлд то одно ядро без горутин?
Аноним 26/06/25 Чтв 13:03:15 3484618 92
>>3484616
>а если простой код вывести хелло ворлд то одно ядро без горутин?
Да
Аноним 26/06/25 Чтв 13:07:40 3484620 93
>>3484618
А если на серваке еще есть программа числодробилка,тоне надо для нее вручную писать код обработки под горутины?
Аноним 26/06/25 Чтв 13:15:15 3484622 94
>>3484620
Ну смотря как запустить, если числодробилки будут асинхронно идти через go func, то горутины запустятся сразу на всех ядрах
Аноним 26/06/25 Чтв 13:16:39 3484624 95
>>3484622
ну к примеру принял запрос на роут и надо что-то посчитать и вернуть юзеру
Аноним 26/06/25 Чтв 13:19:16 3484626 96
>>3484624
>запрос на роут
Если ты делал запрос на роут через net/http, то там уже горутина включена
Аноним 26/06/25 Чтв 13:28:07 3484635 97
>>3484626
Пиздец конечно. Неудивительно почему go такой тормозной, если у него в каждом запросе хуячат какие-то горутины и синхронизация между потоками, очереди, блядь. Охуеть просто.

Нахуй они это сделали, знает кто?
Аноним 26/06/25 Чтв 14:16:44 3484658 98
Да ну на ваш го.

Лучше скажите, как подружить Prettier со StandardJS.

Стандард незаслуженно забытый шин ящитаю. Prettier - форсед хуита, котора я разраслась как рак по всей экосистеме.
Аноним 26/06/25 Чтв 14:29:35 3484663 99
>>3484635
В горутинах нет синхронизации между потоками, горутина не переключает треды, а переключает контексты
Аноним 26/06/25 Чтв 14:30:18 3484664 100
>>3484658
Эпик вин это eslint, а не эта ваша хуета Prettier со StandardJS.
Аноним 26/06/25 Чтв 14:33:01 3484665 101
>>3484663
Похуй, всё равно между потоками нужно данные передавать, а значит простой будет. Нахуя это нужно в сетевухе? Чтобы сервер не нагревался сильно? Лолд
Аноним 26/06/25 Чтв 14:33:54 3484667 102
>>3484665
Данные между потоками передаются асинхронными событиями. Всё, другого уже не будет. Это стандарт ит-разработки
Аноним 26/06/25 Чтв 14:40:43 3484673 103
Аноним 26/06/25 Чтв 14:41:31 3484674 104
>>3484667
Говна поел штоле? В любой нормальной асинхронной либе всё работает через атомики, чтобы данные не гонять и простоя не было.
И вопрос не в этом. Вопрос в том нахуя нужны горутины в сетевой либе, если распределением запросов занимается ядро системы.
Аноним 26/06/25 Чтв 14:43:06 3484675 105
>>3484674
>В любой нормальной асинхронной либе
мультипоточной либе, конечно же
слоуфикс
Аноним 26/06/25 Чтв 14:56:42 3484678 106
В чём прикол подрубать нейросеть и писать в этом треде?
Аноним 26/06/25 Чтв 15:18:20 3484690 107
>>3484678
Вполне возможно что так макака постинг поднимает
Аноним 26/06/25 Чтв 15:54:06 3484717 108
>>3484664
Путаешь мягкое с теплым. StandardJS это набор правил, eslint - тул для проверки выполнения правил.
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов