Обновить

Комментарии 46

Какая монада - такой и цвет 🤣

НЛО прилетело и опубликовало эту надпись здесь

вы путаете параллелизм

А мне кажется это вы путаете параллелизм и многопоточку

параллелизм (которого в ноде нет)

Воркеры..... нееее не, слышал

Судя по уровню комментария Вы шарите в JS, чуть меньше чем никак. Зачем расписывать то о чем вы не в зуб ногой, не в попу пальцем?

НЛО прилетело и опубликовало эту надпись здесь

абсолютно неработоспособный костыль

Почему же? У меня есть кейсы когда эта штука здорово помогала поднять перфоманс

Не вам судить об уровне моего комментария

Пффф больше пафоса! Того что Вы написали в комментарии достаточно понять что на JS, Вы не пишите. Но зачем-то оставляете критические замечания по технологии в которой не разбираетесь. Насколько это адекватно?

НЛО прилетело и опубликовало эту надпись здесь

Я не пишу на JS

Я это и так заметил. Ещё заметил что не особо владеете мат частью по языку, от чего пишите чушь. Зачем?

Просто трудно понять зачем оно Вам? Вот я допустим не пишу на шарпах. Но мне и голову не придёт идти в статейку по ним и кричать что какой нибудь PHP лучше. Я давно понял что язык это просто инструмент, важнее тот кто за него берётся. Дай в руки мастера кривую стамеску он и с ней сделает шедевр. Да в руки дебилу самый дорогой тул, он всё испортит, да ещё и без глаза останется

параллелизм (которого в ноде нет)

Строго говоря, в этом смысле параллелизма нет ни в одной программной среде, т.к. параллелизм — атрибут железа, а не софта. Поэтому отдельно упрекать в этом именно ноду — некорректно.

НЛО прилетело и опубликовало эту надпись здесь

Если я запускаю софт на железяке с восемью процессорами, я ожидаю равномерную загрузку этих процессоров без необходимости полностью переписать код

Разрабы на высокоуровневых ЯПах о таком не задумываются)

Я опираюсь на то определение параллелизма, которое Вы же и привели. Там как раз про вазочки.

Если я запускаю софт на железяке с восемью процессорами, я ожидаю равномерную загрузку этих процессоров без необходимости полностью переписать код.

Разумеется, за это отвечает язык (точнее, среда исполнения). Если вы это называете "параллелизмом в языке", то nodejs прекрасно с этим справляется в своей типичной роли: много IO + чуть-чуть js. Все доступные процы у железки будут работать, и никакие костыли в виде воркеров или балансеров для этого не нужны. Понятно, что гигантские матрицы перемножать на js с хорошей утилизацией CPU -- это надо сильно извернуться, и, да, из однопоточной в многопоточную версию -- надо будет переписать с нуля. Для таких задач ноду вообще лучше не брать. Ну так у любой технологии есть разумные границы применимости.

НЛО прилетело и опубликовало эту надпись здесь

Я не защищал позицию автора, а указал на неточность в комментарии, которая мешала согласиться с этим комментарием целиком.

НЛО прилетело и опубликовало эту надпись здесь

основной посыл: нода идеальна благодаря

JS это единственный язык полностью асинхронный из коробки. И это круто! Вот мой посыл. А то что он лично Вам не нравится. Ну так старые деды из века в век ворчат на всё вокруг. А мир тем временем движется вперёд)

НЛО прилетело и опубликовало эту надпись здесь

Единственный язык, полностью асинхронный из коробки — это эрланг. Ну и эликсир теперь еще. А раньше — смолток.

Вы таки умеете в Википедию. Нот бэд, нот бэд :D

НЛО прилетело и опубликовало эту надпись здесь

Вы совсем идиот? У меня куча коммитов в корку эликсира

Извините не признал, как вступить в Ваше фанатское сообщество?

НЛО прилетело и опубликовало эту надпись здесь

над ее «правильной» заменой — Deno?

И чё как успехи? Много проектов/вакансий на этой штуке?

НЛО прилетело и опубликовало эту надпись здесь

И что дальше? Теперь мы все должны на слово поверить Райну, выкинуть свои проекты на NodeJS и радостно все переписать на Deno? Серьезно? Мало ли, кто, что сказал.

НЛО прилетело и опубликовало эту надпись здесь

Но вот slack повёлся, например

А они изначально были на ноде и потом переписали всё на Deno?

НЛО прилетело и опубликовало эту надпись здесь

Это как за это может отвечать язык ? То, что исполняется - это среда исполнения и она от языка может зависеть никак

НЛО прилетело и опубликовало эту надпись здесь

примитивы параллелизации хотя бы должны быть

Ну во первых в ноде это есть, а то что Вы не в курсе это скорее проблема Вашей недалёкости в теме.

А во вторых, зачем? Есть кача языков без поддержки многопоточки (то что Вы от безграмотности называете параллелизмом). На вскидку так большая часть интернета написана на пыхе, где нет ни асинхронки, ни многопоточки. И ничего Интернет отлично себя чувствует. Язык это лишь инструмент, который решает определённые задачи и вот прикиньте возможность работать с тредами, это не самая важная часть даже тех языков, где это есть.

НЛО прилетело и опубликовало эту надпись здесь

где параллелизм не нужен

А я где-то говорил что многопоточка не нужна? Ей богу я словно с тинейджером общаюсь у которого мир делится только на чёрное и белое. Я имел ввиду что далеко не все на ней зациклено, как у вас в голове. Она решает определенный достаточно узкий пул задач, с которыми множество проектов даже не столкнется за свой жизненный цикл. И туже джаву ценят вовсе не за эту фичу, а за кое что другое

Да, асинхронность это не параллелизм.

Но. Нода при работе с асинхронностью (не сравнивать с js) отдает задачи типа работы с файлами, как указал автор, на откуп libuv, что в свою очередь работает параллельно, что в свою очередь является параллелизмом.

Я вообще молчу что нода может выполнять таски на стороне c++, или это тоже не является параллелизмом и многопоточностью? Думаю хорошо написанный код на ноде (а кроме ноды есть и еще более интересные окружения для JS) даст прикурить хреновому коду на плюсах

Может быть в вашем понимании параллелизм что-то свое, более изящное и гениальное, но в ноде это работает так и называется так.

НЛО прилетело и опубликовало эту надпись здесь

Каждый новый язык появляется с какой-то причиной. Не всегда адекватной, а бывает и натянутой.

Первый тейк был про ноду и ее параллелизм. Он есть? Есть

Второй тейк был про то что можно писать на ноде код, по скорости не хуже чем другие языки, но если это захотеть и если для этого есть причина. Если мне не нужна скорость, зачем мне за ней гнаться?

Если вам нужен будет бэкенд для фронта, на чем будете писать: си или нода? Я выберу ноду. А что если потом нужно будет решать задачи выносом в отдельный поток? Просто берем инструменты и решаем проблему, а не меняем язык 🙃

Вообщем споры о разности языка в скорости это конечно хорошо, но в нашем случае не лучше спора Боба с Муратори.

НЛО прилетело и опубликовало эту надпись здесь

Мой выбор такой: 1. эликсир, 2. руби, 3. го, 4. F#, 5. похапе, 6. джава, 7. .NET, 8. хаскель, 9. нода, 10. си

Удачи Вам с поиском команды на руби и эфшарп,а этот момент ой как важен если мы играем по взрослому

Ну и как бы, в топе языков для бэкенда нет питончика, за-то есть си...... К - компетентность!

НЛО прилетело и опубликовало эту надпись здесь

Что не так с руби?

Нуу я ещё в универе учился его нарекали убийцей пыхи. По итогу он сам издох практически, изрядно просев в популярности к концу 10-х. Хотя наверное не всё так плохо и думаю он жив ещё и человеки под него найдутся

о команду я найду хоть завтра

Ну может и найдёте, хотя такая скорость сомнительна. Ещё важен вопрос цены старта и дальнейшей поддержки. Пока Вы будите искать дрим тим, под свой любимый язык, менее душные ребяты возьмут какой нибудь пайтон, запилят за пару недель, мвипишку и залутают весь жир себе.

НЛО прилетело и опубликовало эту надпись здесь

Не смею мешать, только порадуюсь за них

К сожалению Ваши инвесторы вряд-ли разделят такой оптимизм. Я это к тому что бывают и коммерческие факторы влияющие на выбор стека и они зачастую влияют куда сильнее чем мнение отдельных душнил гонящихся за перфомансом ради перфоманса

НЛО прилетело и опубликовало эту надпись здесь

Чем вам кластеры в ноде не устроили? Закрывают проблему многопоточности?

Мы же изначально об этом начали общаться. Ваша мысль в том, что закидывать «параллелизм» на одно ядро глупо, правильно? Я с эти согласен

Далее, ваша мысль в том, что нода не может распараллелиь на несколько ядер?

невозможность распараллелить выполнение на все процессоры

На сколько мне известно, может, называется Clusters или второй вариант Worker threads.

Первый разбивает задачи ноды по ядрам, второй распараллеливает потоки в рамках одной ноды.

По поводу скорости, для примера я привел си, мы с вами последние два комментария начали это обсуждать. Я вам пытаюсь сказать что хреновый код на руби, это просто хреновый код, отдельный вопрос будет ли он лучше хорошего кода на ноде, не уверен.

ИМХО: тема супер интересная, но ни у вас ни у остальных комментаторов (включая меня), нет такого обширного опыта по ноде и сравнению ее с другими языками. Нужно звать Шемчединова 😂

Поэтому предлагаю закругляться

ОМГ как своевременно! Наконец то все узнают что нода асинхронна!

Много грамматических ошибок, короткая статья ни-о-чем. Типичный современный Хабр. О, времена...

Типичный современный Хабр

Типичный комментатор современного хабра, малообразованный дущнила, не способный в конструктивную критика и докапывающийся до запятых

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации