The OpenNET Project / Index page

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



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

"В JavaScript-платформе Bun добавлена поддержка вызова кода на языке Си"  +/
Сообщение от opennews (??), 23-Сен-24, 14:02 
В платформе Bun, развиваемой в качестве альтернативы Node.js и предназначенной для обособленного выполнения приложений, написанных на языках JavaScript, JSX и TypeScript, реализована экспериментальная возможность компиляции и выполнения обработчиков, написанных на языке Си. Ранее для вызова низкоуровневого кода требовалось либо создавать  N-API-плагины к движку V8, либо компилировать код в формат WebAssembly (WASM/WASI), что усложняло разработку и накладывало определённые ограничения. Теперь код на языке Си  можно напрямую встраивать в JavaScript и компилировать на лету с использованием компилятора TinyCC, а также подключать динамически связываемые библиотеки...

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

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

Оглавление

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


1. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +4 +/
Сообщение от Аноним (1), 23-Сен-24, 14:02 
В своё время возможность написать на c/c++ модули для ноды сделали ноду пушкой гонкой.
Ответить | Правка | Наверх | Cообщить модератору

19. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от Аноним (19), 23-Сен-24, 15:15 
> В своё время возможность написать на c/c++ модули для ноды сделали ноду пушкой гонкой.

Вон то имхо как-то менее криво. Одно дело "писать модули для ноды" (как сишник я в душе не е...у что это за нахрен, и не то чтобы хочу левые ритуалы специфичные для очередной кривульки разучивать). И совсем другое - вызвать существующий сишный код. Как он есть. Вот это уже да, нормальный interop с сями.

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

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

26. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +1 +/
Сообщение от pavlinux (ok), 23-Сен-24, 15:37 
>  Без каких-то трахов мозгов с какими-то там написаниями каких-то там модулей.

Ждите взломов ваших сайтиков с подстановками  source: "./heIIo.c", вместо "./hello.c",

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

29. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +12 +/
Сообщение от Аноним (29), 23-Сен-24, 16:19 
> Ждите взломов ваших сайтиков с подстановками  source: "./heIIo.c", вместо "./hello.c",

Если какой-то чудик может патчить файло бэкэнда, подставляя туда всякий крап, ему уже ничего ломать и не надо по идее?

Более того - если кто может залить и скомпилить сищный сорец на мой сервак, очевидно, у меня уже есть нехилые проблемы, не? :)

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

39. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  –1 +/
Сообщение от Аноним (-), 23-Сен-24, 17:13 
Павлинукс ты вроде за Раст топишь? Так ведь?
Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

60. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +2 +/
Сообщение от Аноним (60), 23-Сен-24, 21:18 
Взломы сайтиков с подстановками, например "./heIIo.rs" вместо "./hello.rs", это конечно совсем другое.
Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

2. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +2 +/
Сообщение от Аноним (2), 23-Сен-24, 14:05 
Отлично, теперь легко встраивать любые зонды, без всяких там ограничений WebAssembly.
Ответить | Правка | Наверх | Cообщить модератору

5. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +3 +/
Сообщение от Аноним (1), 23-Сен-24, 14:06 
Ты хотел сказать Майнер. В джаваскрипт и так без ограничений можно вставить что угодно.
Ответить | Правка | Наверх | Cообщить модератору

7. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +5 +/
Сообщение от Аноним (7), 23-Сен-24, 14:07 
JavaScript сам большой зонд, загружаемый на компьютеры миллиарда пользователей.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

27. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +1 +/
Сообщение от pavlinux (ok), 23-Сен-24, 15:40 
> JavaScript сам большой зонд, загружаемый на компьютеры

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

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

30. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +1 +/
Сообщение от Аноним (29), 23-Сен-24, 16:21 
> Задача хацкера не раскрутить сайт на лям юзеров, чтоб пихать свои зонды, а
> пихнуть зонд на сайт, где бродят лямы юзеров, чтоб от имени сайта всунуть зонд.

А до этого то что мешало? Ты типа принципиальный и твой зонд должен быть - high performance, не то что какая-то там скриптота? А иначе тебе обидно и ты не будешь бяку делать чтоли? :)

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

20. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  –2 +/
Сообщение от Аноним (19), 23-Сен-24, 15:17 
> Отлично, теперь легко встраивать любые зонды, без всяких там ограничений WebAssembly.

Куда вы их встраивать собрались? И что раньше то мешало? Типа, хотите "obfuscated C contest" устроить?

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

79. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от myster (ok), 25-Сен-24, 17:25 
> легко встраивать любые зонды

Речь же про серверную часть кода. Bun не для client-side

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

6. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от Вы забыли заполнить поле Name (?), 23-Сен-24, 14:07 
Зуммеры или кто они там придумали ffi?
Ответить | Правка | Наверх | Cообщить модератору

13. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от Аноним (13), 23-Сен-24, 14:17 
Они таскают с собой tcc, чтобы можно было налету компилять и запускать сишные файлы
Ответить | Правка | Наверх | Cообщить модератору

21. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  –1 +/
Сообщение от Аноним (19), 23-Сен-24, 15:19 
> Они таскают с собой tcc, чтобы можно было налету компилять и запускать сишные файлы

Ах ты черт, они услышали идею Fabrice Bellard'а на тему того что си можно сделать скриптовым движком :)

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

37. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от Аноним (37), 23-Сен-24, 17:06 
И вот это вот всё выполнять в эмуляторе на 4004 :)
Ответить | Правка | Наверх | Cообщить модератору

10. Скрыто модератором  +1 +/
Сообщение от Аноним (-), 23-Сен-24, 14:13 
Ответить | Правка | Наверх | Cообщить модератору

16. Скрыто модератором  +3 +/
Сообщение от Вы забыли заполнить поле Name (?), 23-Сен-24, 14:25 
Ответить | Правка | Наверх | Cообщить модератору

25. Скрыто модератором  –1 +/
Сообщение от Ydro (?), 23-Сен-24, 15:35 
Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

31. Скрыто модератором  +/
Сообщение от Фнон (-), 23-Сен-24, 16:25 
Ответить | Правка | Наверх | Cообщить модератору

33. Скрыто модератором  +/
Сообщение от Серб (ok), 23-Сен-24, 16:29 
Ответить | Правка | Наверх | Cообщить модератору

36. Скрыто модератором  +/
Сообщение от Аноним (1), 23-Сен-24, 17:04 
Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

28. Скрыто модератором  +/
Сообщение от Аноним (28), 23-Сен-24, 16:19 
Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

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

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

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

35. Скрыто модератором  –1 +/
Сообщение от Фнон (-), 23-Сен-24, 17:03 
Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

38. Скрыто модератором  +/
Сообщение от Аноним (1), 23-Сен-24, 17:08 
Ответить | Правка | Наверх | Cообщить модератору

43. Скрыто модератором  +1 +/
Сообщение от Фнон (-), 23-Сен-24, 17:39 
Ответить | Правка | Наверх | Cообщить модератору

42. Скрыто модератором  +/
Сообщение от BeLord (ok), 23-Сен-24, 17:39 
Ответить | Правка | К родителю #35 | Наверх | Cообщить модератору

47. Скрыто модератором  +/
Сообщение от Аноним (-), 23-Сен-24, 18:14 
Ответить | Правка | Наверх | Cообщить модератору

40. Скрыто модератором  +/
Сообщение от Bottle (?), 23-Сен-24, 17:19 
Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

45. Скрыто модератором  +2 +/
Сообщение от Аноним (2), 23-Сен-24, 17:53 
Ответить | Правка | Наверх | Cообщить модератору

57. Скрыто модератором  +1 +/
Сообщение от Аноним (57), 23-Сен-24, 20:10 
Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

17. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от YetAnotherOnanym (ok), 23-Сен-24, 14:53 
В целом - одобрям!
> а также подключать динамически связываемые библиотеки

А вот за это - отдельно тройное "ку!".

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

18. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от Ilya Indigo (ok), 23-Сен-24, 15:13 
Не совсем понял что такое Bun и для чего оно, но ffi у меня жёстко с lua ассоциируется.
Ответить | Правка | Наверх | Cообщить модератору

24. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  –1 +/
Сообщение от Аноним (-), 23-Сен-24, 15:28 
> Не совсем понял что такое Bun и для чего оно, но ffi у меня жёстко с lua ассоциируется.

Учитывая в скольких ЯП есть FFI - тут можно разве что посоветовать держать синдром утенка под контролем.

FFI - "foreign function interface" и есть в дофига разных ЯП, внезапно.

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

32. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от Ilya Indigo (ok), 23-Сен-24, 16:26 
Я знаю что такое FFI, и знаю что он есть много где.
Но в lua он раскрывается по полной, можно сказать lua был специально написан чтобы вызывать C/C++ ф-ии.
А в других языках он просто для галочки и не играет никакой роли.
Ответить | Правка | Наверх | Cообщить модератору

41. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +3 +/
Сообщение от _ (??), 23-Сен-24, 17:34 
> Я знаю что такое FFI, и знаю что он есть много где.

Настолько много где, что если в ЯП такого нет - ты сразу думаешь "а понятно, студенты развлекаются" :)

> Но в lua он раскрывается по полной, можно сказать lua был специально написан чтобы вызывать C/C++ ф-ии.

Это - да, чертовски верно подмечено! ;-)

> А в других языках он просто для галочки и не играет никакой роли.

А вот зря ты так. Почти все серьёзные робяты умеют. Пистон к примеру даже ffi и ctypes.
Да даже из Go дергаются win32 коллы легко и непринуждённо 8-) Мне тут наш толковый Гошник показал как - я чуть шляпой не подавился :)

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

46. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +2 +/
Сообщение от YetAnotherOnanym (ok), 23-Сен-24, 17:55 
> А в других языках он просто для галочки и не играет никакой роли.

Это, мягко говоря, неверно.

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

66. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от Аноним (66), 23-Сен-24, 23:17 
> Я знаю что такое FFI, и знаю что он есть много где.
> Но в lua он раскрывается по полной, можно сказать lua был специально
> написан чтобы вызывать C/C++ ф-ии.

Как махровый сишник я скажу так: если что-то пишется "чтобы вызывать сишные функции", тогда, бжад, сделайте синтаксис похожий на сишный! Не, паскакальобразное при этом втулить - это вообще совсем не то! Так что этот тезис, имхо, не доказан и жестко отдает синдромом утенка. В этом смысле JS и то - лучше, увы и ах.

> А в других языках он просто для галочки и не играет никакой роли.

А я то думал - что там тоже сишные/плюсатые, а порой и еще какие функции вызывают.

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

67. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от mos87 (ok), 24-Сен-24, 07:00 
>А в других языках он просто для галочки и не играет никакой роли.

это настолько толсто что автор даже не Д.Б., а не знаю что.

Perl, Tcl, Пестон или прастихоспаде Жаба-кодеры щас померли со смеху.

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

49. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +2 +/
Сообщение от Аноним (49), 23-Сен-24, 18:24 
> что позволяет вызывать из JavaScript-кода предоставляемые данными библиотеками функции

Самый большой вопрос это обработка событий. Ведь JavaScript это язык событийно ориентированный. Так вот вызов API в целом дело хорошее, но что делать когда у тебя несколько потоков со своими событиями в классичейсокй Node нужно городить контексты и хватать какие-то там блокировки, а что в Bun есть общий механизм или пока нет ничего и нужно дергать (pull) функцию для обработки очередей?

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

52. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от Tyrr (?), 23-Сен-24, 19:10 
Интересно как они отрабатывают время жизни ресурсов, конкурентный доступ и многопоточность при вызове кода на С - который в общем случае может себя ни в чём не ограничивать. Опять же почему компилятор внутри, а не линковка с dll?
Ответить | Правка | Наверх | Cообщить модератору

50. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  –1 +/
Сообщение от 12yoexpert (ok), 23-Сен-24, 18:31 
запускаем браузер на с++ с интерфейсом на java, в нём запускаем java, в которой запускаем си

что вообще происходит?

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

55. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +1 +/
Сообщение от Аноним (55), 23-Сен-24, 19:18 
Java и JavaScript разные языки, прикинь.
Ответить | Правка | Наверх | Cообщить модератору

56. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от Аноним (56), 23-Сен-24, 19:56 
Браузер здесь ни при чём, bun это отдельный JS-рантайм
Ответить | Правка | К родителю #50 | Наверх | Cообщить модератору

62. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от Аноним (60), 23-Сен-24, 21:36 
Происходит непонимание базовых вещей.
Ответить | Правка | К родителю #50 | Наверх | Cообщить модератору

51. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  –2 +/
Сообщение от Аноним (51), 23-Сен-24, 18:51 
почему C? нужны вызовы rust
Ответить | Правка | Наверх | Cообщить модератору

58. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от Аноним (-), 23-Сен-24, 20:27 
> почему C? нужны вызовы rust

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

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

63. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от Аноним (60), 23-Сен-24, 21:46 
Еще какие инсайды из чертогов воображения? Зиггеры и растеры это зачастую одни и те же люди и отношения между сообществами теплые и дружественные. Многие учат Zig как второй язык после Раста и выбирают для работы тот инструмент, который лучше подходит для их целей. Понимаю, фанатикам такое трудно принять, но что есть то есть.

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

Ну надо же какие признания пошли хоть и в завуалированной форме.

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

65. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от errandrunner (?), 23-Сен-24, 23:02 
местный контингент просто живет первобытно-общинным строем и не представляет возможности кооперации и даже пересечений между двумя группами людей
Ответить | Правка | Наверх | Cообщить модератору

77. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от Аноним (37), 24-Сен-24, 18:15 
А чем мы здесь все заняты, как не пересечением?
Ответить | Правка | Наверх | Cообщить модератору

76. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от Аноним (37), 24-Сен-24, 18:13 
>Многие учат Zig как второй язык после Раста

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

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

69. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от Бывалый Смузихлёб (ok), 24-Сен-24, 10:20 
> По производительности Bun заметно обгоняет Deno и Node.js
> (в тестах на базе фреймворка React платформа
> Bun в 2 раза опережает Deno и почти в 5 раз Node.js)
> React

А... какое вообще отношение имеет Реакт к тесту производительности подобия ноды которое вообще про сервер а не браузер ?

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

71. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +1 +/
Сообщение от Аноним (71), 24-Сен-24, 11:58 
Странно человеку с ником "Бывалый Смузихлёб" не знать что react можно рендерить на сервере.
Ответить | Правка | Наверх | Cообщить модератору

72. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от Бывалый Смузихлёб (ok), 24-Сен-24, 14:02 
Можно-то можно, но это далеко не типовое и основное применение серваков вроде ноды
Причём, последние годы от подобного стараются уйти подальше, т.к сильно много жрёт ресурсов и особенно сильно грузится при DDoS-атаках

Тем более, что к поддержке сей на серваке и снижения накладных расходов при запуске это вообще никакого отношения не имеет

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

70. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от ОШИБКА Отсутствуют данные в поле Name (?), 24-Сен-24, 11:10 
А почему сразу так не сделали, а какие-то NAPI модули понавыдумывали?
Ответить | Правка | Наверх | Cообщить модератору

74. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от Вы забыли заполнить поле Name (?), 24-Сен-24, 15:14 
> А почему сразу так не сделали, а какие-то NAPI модули понавыдумывали?

NAPI в ноде придумали, чтобы не надо было расширение на С++ перекомпилировать под каждую версию ноды. Вообще расширение (addon) и ffi - не одно и тоже.

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

75. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от Аноним (75), 24-Сен-24, 15:41 
В свете последних нововведений складывается впечатление, что делаются глобальные дырки. Чтобы страны опирающиеся на опенсорс решения имели дырявую инфраструктуру или выпали из мейнстрим.  
Ответить | Правка | Наверх | Cообщить модератору

80. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от Вы забыли заполнить поле Name (?), 25-Сен-24, 18:04 
always has been
Ответить | Правка | Наверх | Cообщить модератору

78. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от InuYasha (??), 25-Сен-24, 13:20 
Так глядишь - и постепенно, постепенно, количество JS в коде будет уменьшаться... :D
Ответить | Правка | Наверх | Cообщить модератору

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

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




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

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