Здравствуйте, Lazytech, Вы писали:
L>P.S. Господа смайликующие, вас не затруднит пояснить, что тут смешного?
Для всех языков, включая даже си и си++, на сегодняшний день созданы либы, реализующие этот самый веб-сервер, ибо задача распространенная. Пользователю приходится скопипастить всего несколько строк, чтобы его завести.
Если писать с нуля, пришлось бы поднапрячься, в том числе и на джиэс.
Здравствуйте, Михaил, Вы писали:
М>Для всех языков, включая даже си и си++, на сегодняшний день созданы либы, реализующие этот самый веб-сервер, ибо задача распространенная. Пользователю приходится скопипастить всего несколько строк, чтобы его завести. М>Если писать с нуля, пришлось бы поднапрячься, в том числе и на джиэс.
Само собой, с нуля в наше время не пишут. Просто Node.js при ближайшем знакомстве оказался не таким страшным, как я предполагал. Flask для меня в каком-то смысле даже сложнее, несмотря на простой питоновский синтаксис.
Здравствуйте, Lazytech, Вы писали:
L>Просто Node.js ...
Просто node.js — сборник говна из всех вселенных. Даже драгон не с первого раза взлетел — node_modules была тяжеловата, пришлось чистить.
Здравствуйте, Sheridan, Вы писали:
S>Просто node.js — сборник говна из всех вселенных. Даже драгон не с первого раза взлетел — node_modules была тяжеловата, пришлось чистить.
Насколько я понимаю, Node.js в свое время был технологическим прорывом в серверных технологиях.
Здравствуйте, Lazytech, Вы писали:
L>Насколько я понимаю, Node.js в свое время был технологическим прорывом в серверных технологиях.
Да, безусловно. Для тех, кто кроме жаваскрипта ничего больше не знает.
Здравствуйте, Lazytech, Вы писали:
L>Оказывается, сделать простейший HTTP-сервер на Node.js не сложнее, чем на Flask (который считается простым).
Сделать — это громко сказано. Ты просто подключил готовую реализацию и приписал один обработчик.
А вот дальше начинается все самое интересное.
1. сам js, особенно как он был раньше — язык достаточно нетривиальный в том плане, что есть много неожиданно опасных мест, на которые можно незаметно наступить и получить проблемы. При этом можно предварительно три раза прочитать листинг и ничего не заметить.
Вот в этом сложность js. Не то что его сложно выучить или сложно на нем что-то сделать. А в том, что на нем проще сделать случайную ошибку, чем на многих других языках.
2. Основная библиотека на node.js — это обычно асинхронная обработка на коллбэках. Отличная вещь, но посмотри, во что превратится твой код, если тебе надо не просто сделать res.end('messsage') а слазить в БД, посмотреть что было возвращено и сделать запрос в тот или другой внешний сервис, а потом еще в третий, объединить результаты и вернуть. Не забыть вернуть специальные ответы с другим статусом, если любой из перечисленных запросов вернул условный ошибочный ответ.
Оно все реализуемо, но колбэк на колбэк на колбэк от колбэка заставляет пухнуть мозг. После этого сделать аналогичную задачу на C# с тасками — и возникает ощущение "да чтобы я еще хоть раз сел за баранку этого пылесоса!? (с)". В новых редакциях JS появился async/await что дело улучшило.
Но равно таски в шарпе мощнее и удобнее, имхо.
P.S.
Я, как бы, достаточно писал на js. И под браузер писал, и под node.js приходилось. Ничего против языка не имею, но при наличии выбора предпочту делать серверную часть на .net core чем на node.js
Здравствуйте, Lazytech, Вы писали:
L>Здравствуйте, Sheridan, Вы писали:
S>>Просто node.js — сборник говна из всех вселенных. Даже драгон не с первого раза взлетел — node_modules была тяжеловата, пришлось чистить.
L>Насколько я понимаю, Node.js в свое время был технологическим прорывом в серверных технологиях.
L>P.S. Господа смайликующие, вас не затруднит пояснить, что тут смешного?
Мы не смеемся, мы плачем
Автор вот, кстати, пытается исправить, чего натворил и разрабывает WebAssembly:
JavaScript, I did it in a hurry in 1995 in 10 days in May at Netscape, ...
JavaScript was a rush job. It had bones borrowed from other languages put together in a
Frankenstein body in a hurry by me.
Здравствуйте, Sheridan, Вы писали:
S>Здравствуйте, Lazytech, Вы писали:
L>>Насколько я понимаю, Node.js в свое время был технологическим прорывом в серверных технологиях. S>Да, безусловно. Для тех, кто кроме жаваскрипта ничего больше не знает.
Там было много историй успеха о том, как фронтендеры смогли общаться с бакендерами и это позволило прямо сильно быстро сделать то что надо было сделать сильно быстро.
Потом, конечно, истории перешли к граблям в эксплуатации, из-за которых приходилось нанимать все больше народа и переходу на Go и подобное.