LINUX.ORG.RU

Python или NodeJS

 , ,


0

2

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

Или обработать генерируемую через JS веб-страницу. Наверно, лучше в таком случае использовать тот же самый язык? У безголового Firefox есть библиотеки для работы с питоном или NodeJS, но чтобы можно было работать с ним через bash, мне ничего не удалось найти.

Ответ на: комментарий от no-such-file

Один хренов вордпресс занимает больше, чем вся нода вместе взятая. Ты о чём вообще?

О применении JS в вебне в сравнении с пыхом? А ты?

anonymous
()
Ответ на: комментарий от Kazun3500

js по настоящему и адекватно популярен только в браузерах (ибо нет альтернативы)

Всякие Dart и Kotlin не в счёт?

CryNet ★★★★★
()
Ответ на: комментарий от no-such-file

да есть ещё херова гора транспиляторв

Да. Есть выбор: от каноничного ES3 до смузиносного reasonml. С питоном даже выбрать второе его издание уже нельзя. А мне может милы old-style классы и строки без хрюникода.

bread
()
Ответ на: комментарий от bread

Транспиляторов с вменяемого ЯП в питон не существует

Существуют, но в относительно маргинальном статусе. Тот же hylang непонятно, использует ли кто-то в продакшене? Я что-то сомневаюсь.

no-such-file ★★★★★
()
Ответ на: комментарий от CryNet

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

Kazun3500
()

NodeJS

Лучший будет выбор, да. Python своё не отживает, конечно, но Node очень сильно «поджимает» его. В большей степени Python сейчас живёт из-за фанатиков, которым нравится его примитивность.

А так… лучше писать на том, что подходит для задачи. По работе мы используем Python, C++, Node, TypeScript. По pet-проектам мы с друзьями используем Ruby+Roda (если нужно вот прям быстро и много батареек) и Racket, Common Lisp для проекта достаточно большого и жирного (там много всякой автоматизации рутины, которая хорошо ложится в макросы). Вопрос - что тебе нужно?

По опыту разработки на Python и на NodeJS, последний более гибкий и в разы быстрее (он всё же по природе асинхронный). Первый - более понятный, примитивный, ограниченный. Скажем так, выбирая работу на Node или Python с одинаковой ЗП я бы выбрал первое.

Про пакеты и «безопасность»… Я не могу сказать о Node ничего плохого. Такое могло быть в любом ЯП, где слабо проверяется репозиторий пакетов. Но никто не ограничивает установить пакет вручную и получить то же самое.

На самом деле ещё очень впечатлил DLang, это такой промежуточный вариант между С++ и Python по простоте и скорости разработки. Но батареек мало.

silver-bullet-bfg ★★
()
Ответ на: комментарий от anonymous

Плохой пример. WordPress породил килотонны шлака с парой десятков более или менее адекватных проектов. Его прекрасно может заменить любой готовый движок.

silver-bullet-bfg ★★
()
Ответ на: комментарий от CryNet

Kotlin будет не инетересен Google как только популярным станет Flutter, миру Java он не интересен с версии 8-ой, примерно.

Dart хороший, но скорее мёртвый. Он нужен узкому сообществу и фанатикам Google, никого кроме Wrike и то для frontend я не слышал. Язык - просто та же Java, только вид сбоку. Тогда уж может Deno/Typescript…

silver-bullet-bfg ★★
()
Ответ на: NodeJS от silver-bullet-bfg

Это просто шикарно)

Python своё не отживает, конечно, но Node очень сильно «поджимает» его.

В каких областях интересно он его поджимает?

В большей степени Python сейчас живёт из-за фанатиков, которым нравится его примитивность.

Не путайте примитивность и простоту, это 2 немного разные вещи.

По опыту разработки на Python и на NodeJS, последний более гибкий и в разы быстрее и в разы быстрее (он всё же по природе асинхронный). Первый - более понятный, примитивный, ограниченный.

Примеры где он более гибкий? Ну и примеры ограниченности питона. Со скоростью да, соглашусь, нода часто может быть быстрее.

И да, никто же как я понимаю не упоминал, что в js отсутствует из коробки более менее вменяемая работа с датами и форматирование строк?

Kazun3500
()
Ответ на: комментарий от silver-bullet-bfg

Kotlin будет не инетересен Google как только популярным станет Flutter

Dart хороший, но скорее мёртвый

Но что-то одно точно должно выжить, чтобы кодить под Фуксию. Сейчас же насколько мне известно оба могут под Фуксию.

CryNet ★★★★★
()
Ответ на: комментарий от Kazun3500

Не путайте примитивность и простоту, это 2 немного разные вещи.

Именно так, и Python это про примитивность

lovesan ★★
()

Скорее не nodejs а javascript в целом. Потому что зная js ты можешь писать и фронт и бек и мобильные приложения и десктопные приложения и игры(three.js и WebGL) короч на js можно написать почти все. И поэтому nodejs так сказать «частный случай js» очень популярен

romanlinux ★★★
()
Последнее исправление: romanlinux (всего исправлений: 2)
Ответ на: комментарий от no-such-file

Тот же hylang непонятно, использует ли кто-то в продакшене? Он оскотинился до кложуры окончательно, блевотно выглядеть стал.

anonymous
()
Ответ на: комментарий от Kazun3500

Про тех кто разработал Kotlin вы полагаю предпочитаете не думать?

Они - временное явление на рынке, ИМХО. Питаю стойкую неприязнь к продукции JetBrains и не считаю их серьезной конторой.

Не отрицаю, что качественно себя пиарят. Но это всё какая-то хипстота жрущая память.

Как продукт, те же Active State/Komodo IDE по крайней мере ИМХО на голову выше. Ну а до возможностей Emacs вообще как до луны…

silver-bullet-bfg ★★
()
Ответ на: комментарий от romanlinux

короч на js можно написать почти все

Только почему-то пишут всё, а получается очередная следящая тормозная фигня с тоннами телеметрии и рекламы, отправляющая ПД и сопутствующее жадным до бигдаты.

anonymous
()
Ответ на: комментарий от romanlinux

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

Для менеджмента у них мантра «докупите памяти и будет работать, а лучше перейдите на PaaS».

Это же жабаскриптеры, ну. Трудно ожидать что-то другое от толпы хипстеров с лефтпадом головного мозга и сервисами вместо программ, которыми они сами и пользуются. Здравомыслящий человек для той же перекодировки видео полезет в man ffmpeg или достанет гуй для него, жабаскриптер же полезет просить онлайн-сервис в гугле.

anonymous
()
Ответ на: комментарий от romanlinux

вконтакте например где api их написан на javascript очень не любят когда пользователи отключают js например с помошью scriptsafe.

XoFfiCEr ★★☆☆
()
Ответ на: комментарий от Kazun3500

В каких областях интересно он его поджимает?

Webdev, ML, сетевые тулзы, скриптота, системы CI/CD, gamedev, прототипирование (внезапно, прототип на NodeJS состряпать даже быстрее), etc. Т.е. там где нужно быстро сделать решение, а потом его дорабатывать. Что там с матаном особе не в курсе, но на сколько слышал от тех кто занимается - инструментов хватает.

Зато Node это из коробки - нормальное асинхронное программирование, годный FFI, гибкий язык. При «+-» таком же пороге вхождения на уровне джуна.

Не путайте примитивность и простоту, это 2 немного разные вещи.

Я и не путаю. Давай для примера. Сделай мне приватный метод класса (не неиндексируемый линтером, а нормальный приватный метод) или реализуй на Python тернарку как новый элемент синтаксиса языка, не переписывая VM. Ну или покажи как мне сделать из огрызка лямбд полноценную… В общем - python примитивный, огрызочный язык, который не поддерживает ни одной парадигмы нормально.

Это не плохо. Макаки в enterprise тоже нужны, они обеспечивают реализацию рутинных задач. Скажем, в webdev таких задач over9000 как раз, почему python и прижился.

Примеры где он более гибкий?

Пожалуйста- полифилы. Позволяют реализовать синтаксический элемент языка, без переписывания всей VM. Сделай то же самое не на PyPy…

Ну и примеры ограниченности питона.

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

Другой пример - в ООП языке нет интерфейсов нормальных. В ООП языке у меня нет нормальных инструментов, чтобы сделать «общение» объектов, а не дружное передёргивание методов….

В общем - много всего можно привести. Но зачем? Python изначально делался примитивным, это его сущность. Да, на нём можно «эмулировать» многие вещи из более развитых языков. Но это не делает его хорошим. Иначе можно говорить, что asm не примитивный. Ведь там вообще швабодка.

Со скоростью да, соглашусь, нода часто может быть быстрее.

Она почти всегда быстрее. За счёт асинхронности.

И да, никто же как я понимаю не упоминал, что в js отсутствует из коробки более менее вменяемая работа с датами и форматирование строк?

Если мы говорим о ESNext и NodeJS, то уже давно завезли. Добро пожаловать в мир, с разморозкой.

silver-bullet-bfg ★★
()
Ответ на: комментарий от XoFfiCEr

И что? JVM или .Net тоже не сложно прибить. Тут твой выбор как пользователя. Только не надо про дырявость и безопасность - решето можно сделать на чём угодно

silver-bullet-bfg ★★
()
Ответ на: комментарий от XoFfiCEr

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

romanlinux ★★★
()
Ответ на: комментарий от anonymous

Ну то что корпорации следят это и так всем понятно и это не только на сайтах и на js. Та же винда… не на js написана, но следит. Не вижу тут вины конкретного языка…

romanlinux ★★★
()
Ответ на: комментарий от anonymous

Причем тут язык и «плохие разработчики»? Если уж так придираться, то питон куда медленнее ноды.

romanlinux ★★★
()
Ответ на: комментарий от silver-bullet-bfg

Они - временное явление на рынке, ИМХО. Питаю стойкую неприязнь к продукции JetBrains и не считаю их серьезной конторой.

Не отрицаю, что качественно себя пиарят. Но это всё какая-то хипстота жрущая память.

Память жрет да. Но в случае если нужна иде в которой есть максимум возможностей из коробки, которой сможет пользоваться любой (это я касаемо emacs) - я бы сказал что в случае их продукция это лучшее, что есть.

Как продукт, те же Active State/Komodo IDE по крайней мере ИМХО на голову выше.

Глянемс, но помойму когда я искал себе иде под питон, то этот вариант я отмел. Ну и как минимум - sql они как я понимаю не умеют? P.S.Долго лазил по их сайту, ища где же ссылка на скачку ИДЕ. Сайт сильно тормозит. Ссылку нашел, скорость скачки 60 кб/с. И проблема у меня не с интернетом.

Kazun3500
()
Ответ на: комментарий от silver-bullet-bfg

Они - временное явление на рынке, ИМХО.

На рынке все являения временные. И вообще жизнь идёт, все меняется.

anonymous
()
Ответ на: комментарий от silver-bullet-bfg

Ну а до возможностей Emacs вообще как до луны

Ну да, строить из себя элитку, пользуюсь мэйнстримовым продуктом, сложно.

anonymous
()
Ответ на: комментарий от silver-bullet-bfg

Она почти всегда быстрее. За счёт асинхронности

Щщщаз, она быстрая за счёт v8 и JIT. Асинхронность уже давно есть и в питоне со времён Tornado, Twisted и других обвязок над libevent

menangen ★★★★★
()
Последнее исправление: menangen (всего исправлений: 1)
Ответ на: комментарий от anonymous

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

menangen ★★★★★
()
Ответ на: комментарий от romanlinux

если его можно отключить - значит это несерьезно. Используйте лучше python.

XoFfiCEr ★★☆☆
()
Ответ на: комментарий от stasolog

Торвальдс, как раз, может писать хоть в нотпад.ехе, не показатель.

Он во-первых талантливый, во-вторых (тут просто предположение) кода-то он почти и не пишет. Люди его уровня занимаются организационными вопросами.

anonymous
()
Ответ на: комментарий от anonymous

Он во-первых талантливый

Я думаю редактор не так уж и важен, если на Java не писать.

кода-то он почти и не пишет

Ну сейчас может и не пишет, но написал он в этом редакторе много.

stasolog
()
Последнее исправление: stasolog (всего исправлений: 1)
Ответ на: комментарий от stasolog

Я думаю редактор не так уж и важен, если на Java не писать.

Я вот хочу Vim освоить, кстати. Но я не дисциплинированный. Один день «позанимался», потом на месяц забиваю.

anonymous
()
Ответ на: комментарий от anonymous

Поставь дефолтом, тогда придётся освоиться. :) Сначала все в режиме вставки будешь шарашить по привычке, потом потихоньку остальные фишки придут.

frunobulax ★★
()
Ответ на: комментарий от romanlinux

Потому что зная js ты можешь писать и фронт и бек и мобильные приложения и десктопные приложения

Зная JS ты можешь создавать говно, дристню, и кал. Потому что отсутствие гарантии работоспособности, проглатывание ошибок, ад с подбором версий пакетов (опять же из-за отсутствия гарантий работоспособности и проглатывания ошибок). Есть единственная причина, почему простой смертный может с этим связаться — это потому что браузеры не поддерживают другого языка. С развитием WebAssembly наконец Javascript отправится на пенсию.

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

byko3y ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.