The OpenNET Project / Index page

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



"Доступна платформа Deno 2.0, развиваемая автором Node.js"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от opennews (??), 10-Окт-24, 11:55 
Опубликован выпуск платформы Deno 2.0, предназначенной для обособленного выполнения серверных приложений на языках JavaScript и TypeScript с использованием движка V8, применяемого в браузерах на основе Chromium. Проект Deno развивает Райан Даль (Ryan Dahl), создатель Node.js, с целью предоставления более защищённого окружения и устранения концептуальных ошибок, допущенных в архитектуре Node.js. Для повышения безопасности обвязка вокруг движка V8 написана на языке Rust, а для  обработки запросов в неблокирующем режиме применяется платформа Tokio. Код проекта распространяется под лицензией MIT. Сборки подготовлены для Linux, Windows и macOS...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=62024

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

Оглавление

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


2. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +14 +/
Сообщение от Аноним (2), 10-Окт-24, 11:56 
Даже местным экспертам с самого начала было понятно что без поддержки npm в этом дено нет никакой необходимости. И вот на авторов снизошло озарение и они сделали нормально. Зачем нужно было 4 года упираться решительно не понятно.
Ответить | Правка | Наверх | Cообщить модератору

94. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Аноним (94), 11-Окт-24, 06:07 
Потому что npm та ещё дыра.
Ответить | Правка | Наверх | Cообщить модератору

108. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +1 +/
Сообщение от Аноним (108), 12-Окт-24, 13:13 
а что не дыра? самому собирать или копировать код либ в свой?)
Ответить | Правка | Наверх | Cообщить модератору

95. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Бывалый Смузихлёб (ok), 11-Окт-24, 10:26 
Но ведь, но как же их суперфича, когда каждый пакет предлагалось добавлять просто прямой ссылкой на репозиторий( в т.ч на проект в гитхабе ) без всяких просто пакетов и их версий
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

110. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Аноним (110), 17-Окт-24, 14:57 
Оно так и работает:

import { copy } from "https://deno.land/std@0.224.0/fs/copy.ts";

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

4. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +3 +/
Сообщение от Вы забыли заполнить поле Name (?), 10-Окт-24, 12:05 
> Ориентация на безопасность в конфигурации по умолчанию
> Кроме runtime платформа Deno также выполняет роль пакетного менеджера и позволяет внутри кода обращаться к модулям по URL.

Взаимоисключающе пункты.

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

7. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +3 +/
Сообщение от Аноним (7), 10-Окт-24, 12:14 
всё будет норм, если в URL запретить http://, а для “безопасности” будет достаточно https://

ты что, не шаришь за безопасность?

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

28. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +1 +/
Сообщение от Вы забыли заполнить поле Name (?), 10-Окт-24, 15:44 
> всё будет норм, если в URL запретить http://, а для “безопасности” будет
> достаточно https://
> ты что, не шаришь за безопасность?

Ну будешь ты по https скачивать трояны. Какая разница? Я вообще о другом говорю: о том, что модули сами тянутся из интернета по урлу. Дичь. Пакетный менеджер, который их скачает еще более менее, но автоматом... Завтра сломают твой дено, будут тебе отдавать хз пойми что, а ты скачаешь при первом запуске.

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

96. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +2 +/
Сообщение от Бывалый Смузихлёб (ok), 11-Окт-24, 10:28 
но качать-то будут безопасно и, можно быть уверенным, что конечному пользователю попадёт именно тот троян, который для него предназначен, безо всяких промежуточных манипуляций с содержимым
Ответить | Правка | Наверх | Cообщить модератору

53. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от YetAnotherOnanym (ok), 10-Окт-24, 16:40 
>  всё будет норм, если в URL запретить http://, а для “безопасности” будет достаточно https://

Эх, зачем же ты слово "безопасность" в кавычки взял! Всю тонкость утратил...

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

99. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Анон1110м (?), 11-Окт-24, 11:02 
А почему сразу HTTP? А если я хочу по FTP?
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

13. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +1 +/
Сообщение от Admino (ok), 10-Окт-24, 12:50 
Там ещё и npm.
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

17. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +3 +/
Сообщение от Аноним (17), 10-Окт-24, 14:26 
Думаю, вы передергиваете, утрируете.

Учитывая это:

"Обращения к файлам, сетевые возможности и доступ к переменным окружения по умолчанию блокированы и требуют явного включения. Приложения по умолчанию запускаются в изолированных sandbox-окружениях и не могут получить доступ к системным возможностям без предоставления явных полномочий;"

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

Да и вообще, при наличии:

"Наличие стандартного набора модулей, использование которых не требует привязки к внешним зависимостям. Модули из стандартной коллекции прошли дополнительный аудит и проверку на совместимость; "
и
"Обеспечена поддержка приватных NPM-репозиториев, определённых через файлы ".npmrc"."

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

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

75. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Вы забыли заполнить поле Name (?), 10-Окт-24, 17:46 
> Думаю, вы передергиваете, утрируете.
> Учитывая это:
> "Обращения к файлам, сетевые возможности и доступ к переменным окружения по умолчанию
> блокированы и требуют явного включения. Приложения по умолчанию запускаются в изолированных
> sandbox-окружениях и не могут получить доступ к системным возможностям без предоставления
> явных полномочий;"

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

> Да и вообще, при наличии:
> "Наличие стандартного набора модулей, использование которых не требует привязки к внешним
> зависимостям. Модули из стандартной коллекции прошли дополнительный аудит и проверку на
> совместимость; "

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

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

Внимание вопрос: как мне указать нужную версию компилятора и библиотек с++? А никак. Ни npm, ни другие языковые пакетные менеджеры этот вопрос не решают. Предлагают качать уже собранные бинари, создавая дыру безопасности. А вот Nix или guix позволяют такие зависимости указать.

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

83. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Аноним (83), 10-Окт-24, 18:00 
>"Обращения к файлам, сетевые возможности и доступ к переменным окружения по умолчанию блокированы и требуют явного включения. Приложения по умолчанию запускаются в изолированных sandbox-окружениях и не могут получить доступ к системным возможностям без предоставления явных полномочий;"

А как это сделано? А то будет как в андроиде - доступ сразу ко всем файлам, сразу ко всему интернету.

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

84. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Аноним (-), 10-Окт-24, 18:57 
Как-то так docs.deno.com/api/deno/permissions

Ты можешь перечислить куда можно лезть или куда нельзя:
Deno.ReadPermissionDescriptor
path: string | URL
An allow-read or deny-read permission can be scoped to a specific path (and if the path is a directory, any sub paths).


Deno.NetPermissionDescriptor
Optional host string of the form "<hostname>[:<port>]". Examples:
"github.com"
"deno.land:8080"

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

5. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Аноним (5), 10-Окт-24, 12:07 
>Обеспечена поддержка приватных NPM-репозиториев, определённых через файлы ".npmrc".

Как я понимаю, именно через NPM и планируют взламывать серваки, установившие этот ваш deno.
Вопрос лишь, оно самостоятельно будет тянуть пакеты из публичных, а теперь и приватных(лол) репозитариев, или все таки надо будет руками набивать что то типа "npm update all -F --no-check-hash --no-check-cert --allow-all"? (Или у этого движка есть gui-frontend где вообще есть только кнопка "обновить", а думать не надо?)

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

8. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Аноним (2), 10-Окт-24, 12:18 
Раньше deno не поддерживал npm и тянул напрямую с github безопасности как ты понимаешь это не прибавляет.
Ответить | Правка | Наверх | Cообщить модератору

11. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +2 +/
Сообщение от Аноним (7), 10-Окт-24, 12:22 
согласен, а надо тянуть напрямую из мозга разработчика
Ответить | Правка | Наверх | Cообщить модератору

18. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от 1 (??), 10-Окт-24, 14:40 
Но только не из мозгов хакира
Ответить | Правка | Наверх | Cообщить модератору

19. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +1 +/
Сообщение от Аноним (17), 10-Окт-24, 14:43 
В недавней нововсти про Bun (https://www.opennet.dev/opennews/art.shtml?num=61915)

писАли:
"...По производительности Bun заметно обгоняет Deno и Node.js (в тестах на базе фреймворка React платформа Bun в 2 раза опережает Deno и почти в 5 раз Node.js)..."

В текущей же новости уже Дено неоспоримый красавчик. Возникает вопрос. Это зависит от того, кто, что и чем измеряет (и откуда берутся новости) или Дено таки сильно улучшили (т.к. в этом релизе "...Проведена оптимизация производительности...") и, значит, в предыдущих версиях он был дном в плане производительности?

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

23. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +1 +/
Сообщение от Аноним (23), 10-Окт-24, 15:03 
Это зависит от того, кто, что и чем измеряет
Ответить | Правка | Наверх | Cообщить модератору

24. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +2 +/
Сообщение от morphe (?), 10-Окт-24, 15:20 
> платформа Bun в 2 раза опережает Deno и почти в 5 раз Node.js

При том что React исключительно CPU-bound, а JIT/Runtime в Deno и Node.js один и тот же - V8

У Bun крайне странные бенчмарки были, и чаще всего их гоняли на MacOS, где Bun более оптимизирован (он использует JS движок Apple), а V8 не особо, потому что кому макось сдалась.

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

97. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Бывалый Смузихлёб (ok), 11-Окт-24, 10:38 
Там неоднозначно. Вебкит в среднем хуже работает с обилием данных чем в8. Даже Реакт-натив порой пытались перевести на кусок последнего

Само сравнение было странным - на серверной штуке, у которой свои серверные задачи, на кой-то чёрт, гоняли именно библиотеку для клиента( да, типо серверная отрисовка и прочее, но это очень специфическое применение, которое последние годы едва ли активно растёт и развивается )

Там ещё нюансы могли быть с исходными параметрами. У жс-движков многоуровневая оптимизация. Первые десятки запусков, функции вообще запускаются как обычная интерпретация кода( даже без предварительной минификации ). После энного количества, пройдя энные этапы, код всё-таки прогоняется через Джит и работает сильно быстрее.
Вот эти пороги( количество вызовов функций в жс, сверх которых можно переходить к след. этапу их оптимизации, можно менять, в числе прочего, аргументами запуска хромиумных да и вебкитовых поделий вроде бы )
Манипулируя этим, можно добиться чтобы функции почти сразу Джит-ились и работали как полноценно-скомпилированные, безо всяких интерпретаторов и прочего

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

27. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +1 +/
Сообщение от НяшМяш (ok), 10-Окт-24, 15:31 
Вот это в том числе могло повлиять на результаты: https://github.com/denoland/deno/pull/25806
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

104. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  –1 +/
Сообщение от Аноним (104), 11-Окт-24, 16:19 
"Главное не как голосуют, главное кто считает" (с)
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

20. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  –1 +/
Сообщение от Аноним (20), 10-Окт-24, 14:45 
Ничеси, на 20мс быстрее, вот те раз…
Срочно переписываем все под него!
Ответить | Правка | Наверх | Cообщить модератору

22. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +2 +/
Сообщение от Аноним (2), 10-Окт-24, 14:58 
Наоборот дено переписали чтобы под ним все что есть работало как есть.
Ответить | Правка | Наверх | Cообщить модератору

30. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Вы забыли заполнить поле Name (?), 10-Окт-24, 15:47 
Бенчмарк на fs.existsSync...

На кого это расчитано? Потом жалуются почему про джеесеров говорят плохо.

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

31. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  –1 +/
Сообщение от Вы забыли заполнить поле Name (?), 10-Окт-24, 15:49 
Пакетные менерджеры, автоматическое скачивание по урлу из кода. Вы что там употребляете? Есть nix и конвертер npm to nix. Пользуйтесь на здоровье.  
Ответить | Правка | Наверх | Cообщить модератору

39. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Golangdev (?), 10-Окт-24, 16:02 
> Есть nix и конвертер npm to nix

Нет, спасибо.

Пакетный менеджер должен быть дефолтный, что идёт вместе с node. Всё остальное - от лукавого. Все эти приблуды имеют свойство либо умирать / отставать / терять совместимость по мере угасания интереса их автора. А также безрукое или никакое коммьюнити, которое не сможет "подхватить" разработку.

Много вы видели реальных js проектов / энтерпрайзов, использующих этот nix ?

В pet - пожалуйста, это лучшее место для экспериментов.

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

42. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Вы забыли заполнить поле Name (?), 10-Окт-24, 16:07 
>> Есть nix и конвертер npm to nix
> Нет, спасибо.
> Пакетный менеджер должен быть дефолтный, что идёт вместе с node. Всё остальное
> - от лукавого. Все эти приблуды имеют свойство либо умирать /
> отставать / терять совместимость по мере угасания интереса их автора. А
> также безрукое или никакое коммьюнити, которое не сможет "подхватить" разработку.

Первый релиз nix был 21 год назад, если что.

> Много вы видели реальных js проектов / энтерпрайзов, использующих этот nix ?

google idx использует nix

> В pet - пожалуйста, это лучшее место для экспериментов.

В nix и guix есть то, что нет во всех этих пакетных менеджерах для кажлого языка. Плюс тебе надо системные зависимости ставить (компилятор, например) и все это можно поставить через 1 пакетный менеждер, атомарно обновлять.

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

49. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Вы забыли заполнить поле Name (?), 10-Окт-24, 16:33 
>> Есть nix и конвертер npm to nix
> Много вы видели реальных js проектов / энтерпрайзов, использующих этот nix ?

Ну и джеесеры слабы откровенно говоря. Очень много сомнительных решений у них. Автоматически обновляют зависимости, дробят модули по одной строке, используют монорепозитории там где они не нужны. Волосы дыбом становятся от такого. Куда им до nix. Они системных пакетным менеджером воспользоваться то не смогут. В браузере пусть сидят, но ведь они на сервер лезут, а потом показывают бенчмарки на fs.existsSync или вот частоту запросов sqlite. Совершенно оторванные от жизни.

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

56. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Golangdev (?), 10-Окт-24, 16:56 
> много сомнительных решений

Тут я с вами соглашусь

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

81. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Аноним (83), 10-Окт-24, 17:58 
>Пакетный менеджер должен быть дефолтный, что идёт вместе с node.

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

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

32. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  –2 +/
Сообщение от Golangdev (?), 10-Окт-24, 15:50 
> Для проверки типов и генерации JavaScript задействован штатный компилятор TypeScript, что приводит к проседанию производительности по сравнению с разбором JavaScript в V8

Что говорит о ненужности TypeScript. Это грубо говоря, как Kotlin для JVM, только хуже. Гуглим "37signals type gymnastics"

> поддержка популярных JavaScript-фреймворков, таких как Next.js, Astro, Remix, Angular, SvelteKit и QwikCity

Первый раз слышу про Remix, QwikCity. Много ли реальных проектов / энтерпрайзов на этом ? Вопрос риторический.

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

36. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +1 +/
Сообщение от Вы забыли заполнить поле Name (?), 10-Окт-24, 15:57 
> Гуглим "37signals type gymnastics"

Пфф. Они не рассказывают, где взять столько железа, чтобы их руби не тормозил?

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

37. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +7 +/
Сообщение от Вы забыли заполнить поле Name (?), 10-Окт-24, 15:58 
> Что говорит о ненужности TypeScript.

Гошник говорит о ненужности нормальной системы типов? Ну все сходится.

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

40. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  –3 +/
Сообщение от Golangdev (?), 10-Окт-24, 16:03 
Именно. TypeScript - это худшая система типов, разработка ради разработки.
Ответить | Правка | Наверх | Cообщить модератору

44. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +4 +/
Сообщение от Вы забыли заполнить поле Name (?), 10-Окт-24, 16:11 
> разработка ради разработки.

Копипастить код под разные типы и упорно откзываться от джеренирков, а потом сделать фигню - это другое понимать надо?

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

48. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Golangdev (?), 10-Окт-24, 16:29 
Хоть одно реальное применение дженерикам на фронте ?
Ответить | Правка | Наверх | Cообщить модератору

50. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Вы забыли заполнить поле Name (?), 10-Окт-24, 16:36 
> Хоть одно реальное применение дженерикам на фронте ?

Пропсы и стейт в компонента реакта

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

51. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Вы забыли заполнить поле Name (?), 10-Окт-24, 16:37 
> Хоть одно реальное применение дженерикам на фронте ?

Описать тип результата промиса.

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

55. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Golangdev (?), 10-Окт-24, 16:49 
Промис без этого не будет работать ?

Как и писал выше - разработка ради разработки.

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

61. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Вы забыли заполнить поле Name (?), 10-Окт-24, 17:32 
> Промис без этого не будет работать ?

Будет. Но мы же добиваемся облегчения разработки, чтобы ошибка была до запуска, чтобы рефакторинг был проще. Все равно, когда пишешь тип в голове подразумеваешь какой-то, почему бы его не описать? Вот чем легче и ненавязчивее описывать это все в типах, то тем система типов и лучше для конкретного языка. А если описать тип промиса нельзя, то зачем тогда такая типизация нужна?

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

67. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Golangdev (?), 10-Окт-24, 17:37 
> мы же добиваемся облегчения разработки

вот для облегчения как разработки, так и отладки (мы же с вами знаем что sourcemap не всегда работают) как раз не притягиваем TS, а пишем на JS. всё.

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

70. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Вы забыли заполнить поле Name (?), 10-Окт-24, 17:39 
>> мы же добиваемся облегчения разработки
> вот для облегчения как разработки, так и отладки (мы же с вами
> знаем что sourcemap не всегда работают) как раз не притягиваем TS,
> а пишем на JS. всё.

Судя по тенденциям наоборот все перешли на TS, а типы хотят добавить в спецификацию (по аналогии с питоном), чтобы не недо было их вырезать.

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

78. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Golangdev (?), 10-Окт-24, 17:50 
> типы хотят добавить в спецификацию (по аналогии с питоном), чтобы не недо было их вырезать

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

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

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

71. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Вы забыли заполнить поле Name (?), 10-Окт-24, 17:40 
>> мы же добиваемся облегчения разработки
> так и отладки (мы же с вами знаем что sourcemap не всегда работают) как раз не притягиваем TS

Сраведливости ради у них лозунг "просто js", поэтому прям сильных трансформаций они не делают. Фактически, если таргет компиляции стоит в современный js, то будут просто типы удалены.

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

73. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +1 +/
Сообщение от Аноним (83), 10-Окт-24, 17:44 
Довольно символично, что про дженерики спрашивает гошник. Дженерики нужны буквально для всего, в частности для работы с коллекциями. Но в го иная традиция, там каждый раз код пишут заново, словно гошники - машинистки, у которых зарплата зависит от количества символов.
Ответить | Правка | К родителю #48 | Наверх | Cообщить модератору

85. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от qrKot (?), 10-Окт-24, 19:09 
>> Довольно символично, что про дженерики спрашивает гошник.

Ирония "с душком". В Go дженерики уже 3 года тому как...

>> Дженерики нужны буквально для всего

А вот это уже перебор. Для какого-такого "всего" они нужны? о_О
Не, инструмент, безусловно, очень полезный, прям в некоторые места очумительно ложится. Но "для всего"... Это у вас ООП головного мозга, очевидно.

>> в частности для работы с коллекциями

Ну вот в основном для работы с коллекциями. В случае универсальных хендлеров/обработчиков преимущество над интерфейсами уже не так очевидно. Собственно, кроме сохранения информации о типе, и нет его, преимущества этого.

>> Но в го иная традиция, там каждый раз код пишут заново,

Вы, очевидно, на Go давно пишете? Прям в курсе всех традиций?)

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

88. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Аноним (83), 10-Окт-24, 20:41 
>Ирония "с душком". В Go дженерики уже 3 года тому как...

Нет никакого душка, достаточно сравнить дату релиза го, и дату появления дженериков
>Это у вас ООП головного мозга, очевидно.

Не угадали, я любитель ФП
>Собственно, кроме сохранения информации о типе, и нет его, преимущества этого.

Этого уже достаточно. Вот есть условная сигнатура из Ocaml
val map : ('a -> 'b) -> 'a list -> 'b list
И что программисту, что компилятору всё равно сколько таких функций - одна или миллион, компиялатор всё равно будет выводить типы и находить ошибки. В голанге есть опасность уже на первой функции увязнуть в болоте interface {}, и не выбраться даже на миллионной.
>Вы, очевидно, на Go давно пишете? Прям в курсе всех традиций?)

Это было очевидно с самого начала.

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

98. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Golangdev (?), 11-Окт-24, 10:57 
> сигнатура из Ocaml

Это не аргумент. Это не [промышленный] язык программирования, это лишь очередное звено эволюции, место которому в музее.

Реальные развивающиеся проекты на нём, которые хоть как-то нужны человечеству ? Их нет.

Зато есть на Go, Rust, C / C++, Java, JavaScript.

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

102. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Аноним (102), 11-Окт-24, 14:48 
>Реальные развивающиеся проекты на нём, которые хоть как-то нужны человечеству ? Их нет.

Если вы не знаете, какие вещи пишут на каком языке, то это не повод рассказывать свои фантазии. На ocaml часто пишут компиляторы и средства работы с кодом часности, в частности rust, начался с кода на ocaml. Аналогично, llvm из коробки имеет привязки к python и llvm https://llvm.org/docs/GettingStarted.html#llvm-bindings

Кроме того подобная сигнатура будет у хаскеля, это ещё огромный список проектов.

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

107. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Роман (??), 12-Окт-24, 12:22 
есть местами кто в промышленном масштабе использует - https://tech.ahrefs.com/tagged/ocaml
Ответить | Правка | К родителю #98 | Наверх | Cообщить модератору

109. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Golangdev (?), 14-Окт-24, 14:34 
Спасибо!
Ответить | Правка | Наверх | Cообщить модератору

111. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от qrKot (?), 21-Окт-24, 23:28 
> Нет никакого душка, достаточно сравнить дату релиза го, и дату появления дженериков

И о чем это нам скажет? О том, что в Go не принято тащить в язык все, что блестит?)

> Не угадали, я любитель ФП

Вот, оно и видно, любитель.

> Этого уже достаточно. Вот есть условная сигнатура из Ocaml
> val map : ('a -> 'b) -> 'a list -> 'b list

Ну т.е. кроме работы с коллекциями аргументов не нашлось. ЧИТД: в 99 случаях из 100 польза от дженериков в работе с коллекциями. При этом на 100 случаев работы с коллекциями 99 покрывается срезом и мапой. Для оставшихся 0.01% случаев, очевидно, всенепременнейше надо затащить в язык дженерики, декораторы, перегрузку методов, лямбды и монады?)

> И что программисту, что компилятору всё равно сколько таких функций - одна
> или миллион, компиялатор всё равно будет выводить типы и находить ошибки.
> В голанге есть опасность уже на первой функции увязнуть в болоте
> interface {}, и не выбраться даже на миллионной.

Чаще всего мы в одной функции что-то кладем в коллекцию для того, чтобы во второй - забрать. Не знаю, зачем у вас в ФП между этими 2 функциями еще 999998 штук...

> Это было очевидно с самого начала.

То, что вы на Go не пишете?)

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

54. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Аноним (54), 10-Окт-24, 16:44 
оно для девелоперов, которые не в состоянии в голове удержать контекст или не умеют использовать jsdoc, чтобы правильно использовать возвращаемые значения. это типа придурков, которые не в курсе, как работает "2"+2 в js. короче обгашенные индусы - это ЦА тупоскрипта. он прям в IDE кричит и подчёркивает если не совпадает тип.

другое дело, что для js обычная ситуация когда принимаются/возвращаются переменные разных типов в зависимости от каких-то условий. поэтому типичный ts - это нагромождение дженериков из дженериков. всплывающий автодок превращается в БСЭ, который невозможно быстро распарсить.

ну и плюс такая нужная корпоратам фишка, как отделение объявления от реализации - очень удобно "открытые" исходники зажимать

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

60. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Вы забыли заполнить поле Name (?), 10-Окт-24, 17:29 
> возвращаются переменные разных типов в зависимости от каких-то условий
> это нагромождение дженериков из дженериков

Вернуть несколько значений - это норма (с). Но по факту возвращаемый тип то один всегда - объединение типов. Тут и приходят дженерики.

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

64. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +2 +/
Сообщение от Вы забыли заполнить поле Name (?), 10-Окт-24, 17:35 
> не умеют использовать jsdoc

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

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

69. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Аноним (83), 10-Окт-24, 17:37 
>другое дело, что для js обычная ситуация когда принимаются/возвращаются переменные разных типов в зависимости от каких-то условий. поэтому типичный ts - это нагромождение дженериков из дженериков. всплывающий автодок превращается в БСЭ, который невозможно быстро распарсить.

Это прямое следствие того, что типизацию в js завезли столько лет спустя. Писали бы они изначально на типизированном языке, кучи проблем бы не было.

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

86. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от qrKot (?), 10-Окт-24, 19:12 
>> другое дело, что для js обычная ситуация когда принимаются/возвращаются переменные разных типов в зависимости от каких-то условий.

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

Впрочем, с тем, что TS на беке тоже (как и JS) нафиг не нужен - абсолютно согласен. Его на бек только криворукие фронтендеры, не способные в освоение более 1 языка, и тащат.

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

101. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Аноним (102), 11-Окт-24, 14:32 
>Вот это выглядит как явный признак говно-архитектуры.

Это следствие динамической типизации. Непример есть $(sel).attr('name') и $(sel).attr('name', 'val'). Если один аргумен - возвращает текущее значение, если два устанавливает новое значение. И подобная магия на каждом шагу

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

112. Скрыто модератором  +/
Сообщение от qrKot (?), 21-Окт-24, 23:32 
Ответить | Правка | Наверх | Cообщить модератору

62. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  –1 +/
Сообщение от Аноним (83), 10-Окт-24, 17:34 
Понадобилось всего лишь около двух десятков лет, что яваскриптеры признали необходимость типизации. Но вместо Ocaml/ReasonML/ReScript, у них получился TypeScript.
>Встроенная поддержка языка TypeScript помимо JavaScript. Для проверки типов и генерации JavaScript задействован штатный компилятор TypeScript, что приводит к проседанию производительности по сравнению с разбором JavaScript в V8;

Мало того, что js сам по себе тормозной и требует прогрева, так ещё запуск приложений будет ещё медленнее, так как каждый запуск будет отдельная новая трансляция. Яваскриптеры утеряли технологию запуска компиляторов.

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

66. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Вы забыли заполнить поле Name (?), 10-Окт-24, 17:36 
> что яваскриптеры признали необходимость типизации

Не только. Можно еще вспомнить python с аннотациями типов или Dart.

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

68. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +1 +/
Сообщение от Вы забыли заполнить поле Name (?), 10-Окт-24, 17:37 
> так как каждый запуск будет отдельная новая трансляция

Ну там же инкрементальная сборка должа быть? Зачем транслировать модули, которые не поменялись?

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

79. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Аноним (83), 10-Окт-24, 17:52 
>Ну там же инкрементальная сборка должа быть?

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

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

82. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Вы забыли заполнить поле Name (?), 10-Окт-24, 17:58 
>>Ну там же инкрементальная сборка должа быть?
> Её для начала нужно осилить. Я разворачивал несколько проектов на реакте, каждый
> запуск этого проекта - компиляция с нуля. Если запускать сборку в
> дев режиме, то компилятор будет висеть в фоне и при изменении
> файлов сразу же пересобирать проект. Даже если проект небольшой, и поменялся
> один единственный файл, то сборка будет длится где-то около полминуты. Если
> проект большой, то поднимать дев нужно первым делом, так как подниматься
> он будет минут пять, если не больше.

Печально. Процесс в фоне с отслеживанием изменений и инкрементальная сбока - это про разное в моем понимании. Хочется 2-го, хотя бы как в mypy.

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

89. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Аноним (83), 10-Окт-24, 20:45 
>Процесс в фоне с отслеживанием изменений и инкрементальная сбока - это про разное в моем понимании

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

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

87. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Аноним (87), 10-Окт-24, 20:36 
Походу у вас древний проект созданный в 2014-2017 годах. Сейчас даже мой не очень современный рабочий проект в dev поднимается менее секунды, правки кода применяются к странице моментально, сборка в прод за 40 секунд.
Ответить | Правка | К родителю #79 | Наверх | Cообщить модератору

90. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Аноним (83), 10-Окт-24, 20:47 
>Походу у вас древний проект созданный в 2014-2017 годах

Что там за магия такая позже произошла, что новые собираются быстро, а старые - нет?

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

91. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Аноним (87), 10-Окт-24, 21:00 
В основном начали выкидывать жуткое легаси (webpack 4, CRA), переписывать узкие места тулинга на WASM, часто многопоточно, сокращать граф зависимостей. Работа идет постоянно, но конечно в проде с отставанием, ну а многие проекты просто застревают в прошлом потому что их разработчикам нет дела даже явные вещи оптимизировать (без обновлений).
Ответить | Правка | Наверх | Cообщить модератору

92. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Аноним (83), 10-Окт-24, 23:09 
>переписывать узкие места тулинга на WASM

Все js проекты оптимизируются одинаково...

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

103. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Имя (?), 11-Окт-24, 15:41 
Как насчёт bytenode?
Ответить | Правка | К родителю #62 | Наверх | Cообщить модератору

105. "Доступна платформа Deno 2.0, развиваемая автором Node.js"  +/
Сообщение от Аноним (104), 11-Окт-24, 16:28 
Приятно видеть что команда работает над Deno чтобы догнать Bun. Конкуренция - двигатель прогресса.
Ответить | Правка | Наверх | Cообщить модератору

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

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




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

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