The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск серверной JavaScript-платформы Node.js 14.0, opennews (??), 22-Апр-20, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


2. "Выпуск серверной JavaScript-платформы Node.js 14.0"  –3 +/
Сообщение от InuYasha (?), 22-Апр-20, 12:09 
Так что же, всё-таки, хуже - Node.js или Java?
Ответить | Правка | Наверх | Cообщить модератору

4. "Выпуск серверной JavaScript-платформы Node.js 14.0"  –1 +/
Сообщение от TormoZilla (?), 22-Апр-20, 12:28 
Opera mini
Ответить | Правка | Наверх | Cообщить модератору

6. "Выпуск серверной JavaScript-платформы Node.js 14.0"  –4 +/
Сообщение от Аноним (6), 22-Апр-20, 12:51 
Node: быстро набрасываешь скрипты на лингва-франке, в том числе и для тех задач, в которых горе-админы обычно применяют пихон (даже там, где можно шеллом обойтись): спарсить вывод программы, обратиться к серваку, зае6eнить скриптец для polybar, вычислить средний цвет обоины, зае6eнить локальный RSS-сервер для liferea, читающий данные оттуда, где RSS нет,  и т. д.; быстро запускается, работает существенно быстрее пихона. Минусы: в отличие от пихона, обычно не предустановлен. На этом список минусов заканчивается.

Java: для серьезных приложений, пишущихся по всем канонам софтостроения (архитектура, проектирование, кодирование и т. д.). Работает существенно быстрее ноды (которая, в свою очередь, существенно быстрее пихона), но тратит много времени на старт.

Node и Java оба имеют JIT-компиляцию. В предустановленном интерпретаторе пихона JIT-компиляции нет, поэтому его следует рассматривать как просто более сложный баш с изуродованным синтаксисом.

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

7. "Выпуск серверной JavaScript-платформы Node.js 14.0"  –1 +/
Сообщение от Im banana man (?), 22-Апр-20, 13:09 
Сейчас на вас дата-майнеры обидятся
Ответить | Правка | Наверх | Cообщить модератору

8. "Выпуск серверной JavaScript-платформы Node.js 14.0"  +2 +/
Сообщение от Аноним (-), 22-Апр-20, 13:12 
>> Так что же, всё-таки, хуже - Node.js или Java?
> обычно применяют пихон
> в отличие от пихона
> существенно быстрее пихона
> интерпретаторе пихона

Пихонобатхерт пихононеосилятора детектед.

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

Т.е. память как не в себя уже не жрет? Или как обычно у ЖопоСкритозников - "640GB RAM хватит на все!"

> Node и Java оба имеют JIT-компиляцию. В предустановленном интерпретаторе пихона JIT-компиляции  нет, поэтому его следует рассматривать как просто более сложный баш с изуродованным синтаксисом.

В непредустановленном интерпретаторе Node и Java JIT тоже нет, но об этом скромно умалчиваем.

Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

20. "Выпуск серверной JavaScript-платформы Node.js 14.0"  +3 +/
Сообщение от Аноним (20), 22-Апр-20, 15:27 
Хммм, а я вот осилив все три из них считаю без всякого батхёрта, что питон - это сущее издевательство. Питон и node.js в принципе похожие по своей сути и назначению в отличии от java.

Я не буду там мудрствовать про производительность или удобство ситаксиса - это всё от задачи зависит.
Я считаю питон издевательством вот почему:
1. Он не совместим с самим собой. 100500 библиотек под 100500 несовместимых версий, каждая из которых недописана и недопереписана под новую версию. Хейтеры говорят, что в npm бардак, но не в таких гомерических масштабах как в pip.
2. Кросплатформенность питона - это миф (морозная свежесть). Те, кто использовал subprocess для кросплатформенной задачи меня поймут сразу. По традиции (см п.1) там 3.3 != 3.4 != 3.7 и версию надо учитывать.
3. Unicode. Я понимаю, что многим оно нужно для галочки, но почему-то в nodejs можно создать UTF-16 файл со скриптом, работать с UTF-16 строками, и обмениваться данными с ОС. Питонистам скучно, поэтому внутреннее представление у них в UTF8, чтобы была зависимость от локали UTF-8, не понимаю и не пойму никогда, наверное. Наличие его интерактивной оболочки тоже отдельно мешает жить в этой связи.
4. Асинхронность ввода вывода... появилось вон сбоку модулем вроде бы в 3.7. Подождём 100500 лет пока либы под нее перепишут. В питоне вообще так, базовые вещи в нем есть, а как только дело о чём-то сложном так сиди перемалывай 3 мёртвых недоделанных NIH-библиотеки под себя и свои нужды. В ноде там скорее наоборот, написать sleep может быть не тривиально в некоторых случаях.

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

А то что там он медленный... ну такое себе. На нём же высокопроизводительных программ никто не пишет. Только скриптики до обвязочки вокруг настоящих программ.

Ответить | Правка | Наверх | Cообщить модератору

28. "Выпуск серверной JavaScript-платформы Node.js 14.0"  +1 +/
Сообщение от Аноним (28), 22-Апр-20, 17:05 
Это ты про sys.setdefaultencoding() не в курсе? Дела минувших дней… Сегодня указываешь # -*- coding: utf-16 -*- 2 строкой и можешь работать с utf16 в коде, вроде нормально. В системе то всё-равно utf8 везде (как и в сети, это у меня сетевая приложуха, да), просто этот утф8 на каждой платформе свой. На крайний случай есть PYTHONIOENCODING, но я не слышал, чтобы к консоли где-то utf16 был, в вендоконсоли утф8. Вообще, если тебе нужно распознать символы с коллизиями в утф8 на разных платформах (спасибо мс и эпл за коллизии в утф8), ты берёшь утф16 для этого, для всего остального utf8 норм.
Ответить | Правка | Наверх | Cообщить модератору

31. "Выпуск серверной JavaScript-платформы Node.js 14.0"  +2 +/
Сообщение от Аноним (31), 22-Апр-20, 17:54 
> UTF-16

Вендузяторы должны страдать.

Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

80. "Выпуск серверной JavaScript-платформы Node.js 14.0"  +/
Сообщение от Аноним (80), 23-Апр-20, 00:32 
>Вендузяторы должны страдать

Страдают только идиоты с UTF-8. Расскажика мне аноним как ты за O(1) вычислишь длину строки в кодировке с переменной длинной? Поэтому те кто дружит с головой используют UTF-16.

Ответить | Правка | Наверх | Cообщить модератору

85. "Выпуск серверной JavaScript-платформы Node.js 14.0"  +/
Сообщение от qetuo (?), 23-Апр-20, 03:06 
Длину сохраняешь и обновляешь с каждым изменением строки, по запросу отдаешь.
Ответить | Правка | Наверх | Cообщить модератору

87. "Выпуск серверной JavaScript-платформы Node.js 14.0"  +/
Сообщение от Аноним (28), 23-Апр-20, 04:31 
Ммм, а как ты вычислишь длину строки в utf-16? Хинт, никак.
Ответить | Правка | К родителю #80 | Наверх | Cообщить модератору

99. "Выпуск серверной JavaScript-платформы Node.js 14.0"  +/
Сообщение от Аноним84701 (ok), 23-Апр-20, 13:18 
> Ммм, а как ты вычислишь длину строки в utf-16? Хинт, никак.

Магией, вестимо. Тем более, UTF-16 - тоже "кодировка с переменной длиной".


Ответить | Правка | Наверх | Cообщить модератору

103. "Выпуск серверной JavaScript-платформы Node.js 14.0"  +/
Сообщение от Аноним (80), 23-Апр-20, 14:06 
Да, но, длина код юнита в UTF-16 2 байта, в код поинте может быть только один или два код юнита. В UTF-8 от 1 до 4 код юнитов на код поинт.
Ответить | Правка | Наверх | Cообщить модератору

104. "Выпуск серверной JavaScript-платформы Node.js 14.0"  +/
Сообщение от Аноним84701 (ok), 23-Апр-20, 14:20 
> Да, но, длина код юнита в UTF-16 2 байта, в код поинте может быть только один или два код юнита.

Хм, и как это способствует вычислению длины строки (кол. отображаемых знаков) в О(1)?
Вы не путаете со "старым" стандартом, где никакой "переменной длиной" и не пахло?
Проверил:
https://www.jdoodle.com/execute-nodejs-online/
там правда нода 12.


console.log("𐐁𐐷a".length)

Выдает 5
как-то не впечатляет.


python -c print(len("𐐁𐐷a"))
3

Ответить | Правка | Наверх | Cообщить модератору

126. "Выпуск серверной JavaScript-платформы Node.js 14.0"  +/
Сообщение от kai3341 (ok), 24-Апр-20, 00:53 
Чисто на поржать:

python2 -c 'print(len("𐐁𐐷a"))'
9

Ответить | Правка | Наверх | Cообщить модератору

127. "Выпуск серверной JavaScript-платформы Node.js 14.0"  +/
Сообщение от Аноним84701 (ok), 24-Апр-20, 01:06 
> Чисто на поржать:
> python2 -c 'print(len("𐐁𐐷a"))'
> 9

Просто в 2 кодировку ручками указывать надо
python2.7 -c 'print(len(unicode("𐐁𐐷a","utf-8")))'
3

Ответить | Правка | Наверх | Cообщить модератору

130. "Выпуск серверной JavaScript-платформы Node.js 14.0"  +/
Сообщение от Виталик (??), 24-Апр-20, 08:29 
The length property of a String object contains the length of the string, in UTF-16 code units.
Если надо длину в символах, то можно как-то так скостылить
console.log([..."𐐁𐐷a"].length)
но ни о какой O(1) тут речи не идет конечно
Ответить | Правка | К родителю #104 | Наверх | Cообщить модератору

102. "Выпуск серверной JavaScript-платформы Node.js 14.0"  +/
Сообщение от Аноним (80), 23-Апр-20, 13:58 
Хинт: посмотри на имплементацию String в Java.
Ответить | Правка | К родителю #87 | Наверх | Cообщить модератору

50. "Выпуск серверной JavaScript-платформы Node.js 14.0"  +/
Сообщение от bootforce (?), 22-Апр-20, 20:05 
Многабукв, с джаваскриптом все проще:

1. ===
2. '1'+1
3. npm

Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

77. "Выпуск серверной JavaScript-платформы Node.js 14.0"  +/
Сообщение от фттщ (?), 23-Апр-20, 00:25 
Неосилятор не усвоил несколько простых правил приведений типов? Приводи явно через Number, String и тд. Конкатенация vs сложение, серьезно?
Ответить | Правка | Наверх | Cообщить модератору

86. "Выпуск серверной JavaScript-платформы Node.js 14.0"  +/
Сообщение от Аноним (86), 23-Апр-20, 04:10 
Неудачная попытка выдать плюсы за минусы?)
Ответить | Правка | К родителю #50 | Наверх | Cообщить модератору

91. "Выпуск серверной JavaScript-платформы Node.js 14.0"  +1 +/
Сообщение от Анонимemail (91), 23-Апр-20, 07:39 
Почему плюсы и почему неудачная? Это базовые особенности языка, которые надо знать. Как и в любом языке. У js есть проблемы и похуже, но смеяться над ним за то, что написано выше - весьма глупо.
Ответить | Правка | Наверх | Cообщить модератору

96. "Выпуск серверной JavaScript-платформы Node.js 14.0"  +1 +/
Сообщение от Аноним (86), 23-Апр-20, 11:56 
Почему плюсы?
=== - важная штука для сравнений по типам
1 == '1' валидно, но 1 === '1' уже не прокатит
Вот если бы функцию === выполнял == - было бы уже грустно

что плохого в '1' + 1? да, это базовые вещи, которые надо знать, но не проблема и тем более не повод смеяться
это как раз сила языка, один из поводов его использования
и есть ts убирающий в свою очередь как раз уже некоторые вытекающие проблемы. или wasm. js всё больше становится ассемблером современного мира

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

Потому и неудачная.

Ответить | Правка | Наверх | Cообщить модератору

121. "Выпуск серверной JavaScript-платформы Node.js 14.0"  +/
Сообщение от коржик (?), 24-Апр-20, 00:01 
> 1 === '1'

на проде у вас скорее всего будет так paidAmount === receivedAmount, потерявший по дороге типы.

И всё это в груде пару месяцев назад зарефакторенной бизнес-логики

Ответить | Правка | Наверх | Cообщить модератору

128. "Выпуск серверной JavaScript-платформы Node.js 14.0"  +1 +/
Сообщение от bootforce (?), 24-Апр-20, 02:00 
> что плохого в '1' + 1?

А что хорошего?

Ответить | Правка | К родителю #96 | Наверх | Cообщить модератору

67. "Выпуск серверной JavaScript-платформы Node.js 14.0"  +2 +/
Сообщение от Anonimous (?), 22-Апр-20, 21:57 
Ну хз. У меня обратная ситуация — пишу разнообразные бузиинассмен-приложения.

В NodeJS — испытываю дичайшую боль. Серьёзно, на весь nodejs 10-20 ORM либ и каждая кастрирована (исключение - mongoose, но монга — это как серебряная пуля, которая сделана с говна). Аналогичная ситуация с RMQ — вроде всё живо и работает, но когда нужно с одним каналом читать из одной очереди и писать сообщения в ещё не созданный exchange — дико горит. И особенно доставляет обработка ошибок для промисов в JS. И хотя возможно я — ниасилил, но поисковая выдача в google говорит о небольшой популярности подобного в Node-community.

В Python — неудобно обмазыватся websocket'ами, но я пока без них живу. В совершенно крайних случаях — общаюсь с nodejs-приложением через RMQ. Чего реально не хватает — рабочего асинхронного ORM, но остается возможность переиспользовать query-builder.

В данный момент, если хочется удобно деплоить и чтобы быстро работало — использую связку Python/Cython/Golang.

ЗЫ: Выбирайте инструмент в зависимости от задачи. Надо чатик и формочки — NodeJS неплох, надо что-то где бизнес-логика предполагает подобие транзакций/обработку ошибок — Python более удобен.

Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

78. "Выпуск серверной JavaScript-платформы Node.js 14.0"  +/
Сообщение от фттщ (?), 23-Апр-20, 00:28 
sequelize не пробовал?
Ответить | Правка | Наверх | Cообщить модератору

95. "Выпуск серверной JavaScript-платформы Node.js 14.0"  +1 +/
Сообщение от Anonimous (?), 23-Апр-20, 11:47 
Он не умеет CTE и JSONB в PostgreSQL. У меня основные БД - PGSQL10.1+

SQLAlchemy ORM — можно быстро расширить с помощью Core, потому необходимость работы JSONPath для 12+ реализовал через CTE и SA Core.

Ответить | Правка | Наверх | Cообщить модератору

34. "Выпуск серверной JavaScript-платформы Node.js 14.0"  –1 +/
Сообщение от Аноним (34), 22-Апр-20, 18:26 
> Т.е. память как не в себя уже не жрет? Или как обычно у ЖопоСкритозников - "640GB RAM хватит на все!"

Вот эти вот колхозные тру стори 19-го века про память, рассказывай своим товарищам по офису. И ещё, вот эту статью распечатай и на лоб себе приклей https://bit.ly/3axCt1E.

> В непредустановленном интерпретаторе Node и Java JIT тоже нет, но об этом скромно умалчиваем.

Не знаю как в JAVA, но в V8 используется JIT. Соответственно и в ноде тоже JIT.

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

76. "Выпуск серверной JavaScript-платформы Node.js 14.0"  +3 +/
Сообщение от Аноним (76), 23-Апр-20, 00:18 
>> Т.е. память как не в себя уже не жрет? Или как обычно у ЖопоСкритозников - "640GB RAM хватит на все!"
> Вот эти вот колхозные тру стори 19-го века про память, рассказывай своим
> товарищам по офису. И ещё, вот эту статью распечатай и на лоб себе приклей

То, что ЖСкриптозники понятия не имеют, как работает JIT и какие проблемы у JITов by design - было ожидаемо. Но это никак не влияет на реальность.

https://benchmarksgame-team.pages.debian.net/benchmarksgame/...


binary-trees
source    secs    mem    gz    busy    cpu load
Node js 21.95    1,056,376    744    76.94    85% 89% 88% 88%
Python 3 80.30    448,004    589    286.50    95% 87% 87% 88%


regex-redux
source    secs    mem    gz    busy    cpu load
Node js 10.53    792,316    668    13.01    12% 21% 55% 36%
Python 3 2.12    111,692    1403    4.20    


Можешь распечатать и приклеить себе хоть под хвост.
Ну и главное, вопи погромче (и минусики ставить не забудь) - и оно станет НЕПРАВДОЙ!!1

>> скриптец для polybar, вычислить средний цвет обоины, зае6eнить локальный RSS-сервер для liferea,
>  https://bit.ly/3axCt1E.
> Top Companies that Used Node.js in Production
> Netflix
> PayPal

Очень любопытно!
А можно с этого момента поподробнее - какая именно компания запускает на ноде скриптец для polybar, какая вычисляет средний цвет обоины "in Production"?


>>> Node и Java оба имеют JIT-компиляцию. В предустановленном интерпретаторе пихона JIT-компиляции нет,
>> В непредустановленном интерпретаторе Node и Java JIT тоже нет, но об этом скромно умалчиваем.
> Не знаю как в JAVA, но в V8 используется JIT. Соответственно и в ноде тоже JIT.

Но сравнивал аноним предустановленные интерпретаторы. Соотвественно, никакого JIT и ноды по умолчанию нет. А стоит установить PyPy, то в питоне внезапно появится JIT. И снова реальность беcпощадна к анониму.

Ответить | Правка | Наверх | Cообщить модератору

83. Скрыто модератором  –1 +/
Сообщение от Аноним (34), 23-Апр-20, 01:42 
Ответить | Правка | Наверх | Cообщить модератору

14. "Выпуск серверной JavaScript-платформы Node.js 14.0"  –4 +/
Сообщение от vitalif (ok), 22-Апр-20, 14:28 
Java толстое древнее г..., на котором пишут бизнес-быдлокод
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

73. "Выпуск серверной JavaScript-платформы Node.js 14.0"  +1 +/
Сообщение от InuYasha (?), 22-Апр-20, 23:33 
> Java: для серьезных приложений,

Главный признак серьёзности - это, наверное, регулярные ООМы, как у всяких эластиков.
/сарказм
Но мнение интересное, спасибо.

Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

9. "Выпуск серверной JavaScript-платформы Node.js 14.0"  –1 +/
Сообщение от коржик (?), 22-Апр-20, 13:34 
Вы так вбросить пытаетесь?

А к джаве нареканий нет, вроде всё нормально с ней.

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

17. "Выпуск серверной JavaScript-платформы Node.js 14.0"  +/
Сообщение от atk91 (ok), 22-Апр-20, 14:39 
Пока не начал разрабатывать под JVM, не мог представить, зачем нужно больше 16Гб памяти (если, конечно, сам явно не попросил у ОС столько)
Ответить | Правка | Наверх | Cообщить модератору

22. "Выпуск серверной JavaScript-платформы Node.js 14.0"  –1 +/
Сообщение от Аноним (1), 22-Апр-20, 15:40 
Тут традиционный хейт джаваскрипта. Так что Node.js объективно хуже.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

51. "Выпуск серверной JavaScript-платформы Node.js 14.0"  –1 +/
Сообщение от НяшМяш (ok), 22-Апр-20, 20:08 
> традиционный хейт
> объективно

Даже не поспоришь )

Ответить | Правка | Наверх | Cообщить модератору

58. "Выпуск серверной JavaScript-платформы Node.js 14.0"  –1 +/
Сообщение от хотел спросить (?), 22-Апр-20, 20:38 
Это объективный hate JS. Давайте все-такие не путать теплое и мягкое.

P.S. Java вполне годный язык. Правда пишу на нем очень редко.

Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

72. "Выпуск серверной JavaScript-платформы Node.js 14.0"  +/
Сообщение от InuYasha (?), 22-Апр-20, 23:29 
Задать вопрос и получить кучу минусов - оттак спрашивай у онанима. *facepalm*
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру