LINUX.ORG.RU

История изменений

Исправление small-entropy, (текущая версия) :

У меня есть проблемы с поиском асинхронных либ для JS.

Как вы это сделали? За более чем 5 лет разработке на NodeJS не встречал такой проблемы. Скорее была проблема найти синхронную.

Потому что встроенная асинхронщина в JS появилась примерно одновременно с аналогичной в питоне,

Вы серьезно? ИМХО вы ничего не знаете ни про JS, ни про Python. Первый оооочень давно в себе имел систему событий/колбеков без блокировки VM, которые собственно и реализовывали асинхронщину.

а кучу безальтернативного наследия так никто и не переписал на новые механизмы.

Внезапно, большая часть современных либ идут на нативных Promise, что уже позволяет использовать их и async/await. Любые callback based либы можно «превратить» в Promise через promisify. Надо только доку почитать было.

Причем, в JS асинхронщина — это всё тот же сахар поверх синхронного языка.

JS умеет асинхронно выполнять код вызываемой функции/метода. И асинхронность в нём - не сахар, а вполне себе часть event loop виртуальной машины (мы сейчас не про полифилы ведь). Из тезиса могу сделать вывод, что вы не понимаете как работает NodeJS.

У Erlang, например, замечательная асинхронщина.

Так скажите, чем она лучше? Да и не спрашивал я где лучше, а просил описать рпимер лучшего подхода, чем события + колбеки.

Сама по себе асинхронность ничего из себя не представляет — вся разница как раз и заключается в батарейках и инструментах описания решения задачи.

Собственно я это и сказал, да. И сказал, что на Python инструментов для этого меньше.

Тоесть, асинхронность — это подход, метод, а конкретный ЯП и библиотека — это реализация асинхронного подхода.

И? В Python подход является инородным исходя из банально dao python, которую вкорячили, т.к. проще сделать это, чем оптимизировать достаточно медленный язык. В JS изначально приходилось делать инструменты для работы с асинхронщиной, т.к. в браузерах была событийная модель для вызова исполнения JS кода. Корнями асинхронщина JS уходит туда.

Ну с Go я так-то даже соглашусь, к нему у меня претензий нет.

Даже не удивлён. И всё равно, что Go сливает по производительности NodeJS в реальных приложениях для web’a (и плевать, что не для этого язык делался). Он модный зато. И нравится. А JS - фу, а не язык.

И с Elixir, как производным Erlang, я соглашусь.

Думаю, при оспаривании - вы бы ещё более глупо выглядели.

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

Ваше мнение очень важно для сообщества. Я думаю вы - эксперт гораздо больший, чем специалисты IBM, которые почему-то втащили (вот идиоты!) в свой стек JS, а не Go или Elixir.

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

Я плохо относился сам к NodeJS пока не начал решать задачи, в которых он на самом деле лучший.

З.Ы.: прекрасный «слух» про Golang. Его начали делать в «корпорации зла», т.к. у них была куча Python разработчиков, которым не давались высоконагруженные сервисы, а в асинхронщину на каком-нибудь более сложном языке они не могла. Поэтому Пайку заказали язык с нулевым порогом входа, чтобы под высокую нагрузку могли даже питонисты)

Исходная версия small-entropy, :

Май, Михайлов С - 3 дня Веха - 2ххх

Оценка + 3.14

У меня есть проблемы с поиском асинхронных либ для JS.

Как вы это сделали? За более чем 5 лет разработке на NodeJS не встречал такой проблемы. Скорее была проблема найти синхронную.

Потому что встроенная асинхронщина в JS появилась примерно одновременно с аналогичной в питоне,

Вы серьезно? ИМХО вы ничего не знаете ни про JS, ни про Python. Первый оооочень давно в себе имел систему событий/колбеков без блокировки VM, которые собственно и реализовывали асинхронщину.

а кучу безальтернативного наследия так никто и не переписал на новые механизмы.

Внезапно, большая часть современных либ идут на нативных Promise, что уже позволяет использовать их и async/await. Любые callback based либы можно «превратить» в Promise через promisify. Надо только доку почитать было.

Причем, в JS асинхронщина — это всё тот же сахар поверх синхронного языка.

JS умеет асинхронно выполнять код вызываемой функции/метода. И асинхронность в нём - не сахар, а вполне себе часть event loop виртуальной машины (мы сейчас не про полифилы ведь). Из тезиса могу сделать вывод, что вы не понимаете как работает NodeJS.

У Erlang, например, замечательная асинхронщина.

Так скажите, чем она лучше? Да и не спрашивал я где лучше, а просил описать рпимер лучшего подхода, чем события + колбеки.

Сама по себе асинхронность ничего из себя не представляет — вся разница как раз и заключается в батарейках и инструментах описания решения задачи.

Собственно я это и сказал, да. И сказал, что на Python инструментов для этого меньше.

Тоесть, асинхронность — это подход, метод, а конкретный ЯП и библиотека — это реализация асинхронного подхода.

И? В Python подход является инородным исходя из банально dao python, которую вкорячили, т.к. проще сделать это, чем оптимизировать достаточно медленный язык. В JS изначально приходилось делать инструменты для работы с асинхронщиной, т.к. в браузерах была событийная модель для вызова исполнения JS кода. Корнями асинхронщина JS уходит туда.

Ну с Go я так-то даже соглашусь, к нему у меня претензий нет.

Даже не удивлён. И всё равно, что Go сливает по производительности NodeJS в реальных приложениях для web’a (и плевать, что не для этого язык делался). Он модный зато. И нравится. А JS - фу, а не язык.

И с Elixir, как производным Erlang, я соглашусь.

Думаю, при оспаривании - вы бы ещё более глупо выглядели.

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

Ваше мнение очень важно для сообщества. Я думаю вы - эксперт гораздо больший, чем специалисты IBM, которые почему-то втащили (вот идиоты!) в свой стек JS, а не Go или Elixir.

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

Я плохо относился сам к NodeJS пока не начал решать задачи, в которых он на самом деле лучший.

З.Ы.: прекрасный «слух» про Golang. Его начали делать в «корпорации зла», т.к. у них была куча Python разработчиков, которым не давались высоконагруженные сервисы, а в асинхронщину на каком-нибудь более сложном языке они не могла. Поэтому Пайку заказали язык с нулевым порогом входа, чтобы под высокую нагрузку могли даже питонисты)