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.ru/opennews/art.shtml?num=61915

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

Оглавление

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


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

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

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

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

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

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

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

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

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

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

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

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

39. Скрыто модератором  +/
Сообщение от Аноним (-), 23-Сен-24, 17:13 
Ответить | Правка | К родителю #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 добавлена поддержка вызова кода н..."  +1 +/
Сообщение от Аноним (7), 23-Сен-24, 14:07 
JavaScript сам большой зонд, загружаемый на компьютеры миллиарда пользователей.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

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

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

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

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

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

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

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

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

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

4. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +1 +/
Сообщение от Вы забыли заполнить поле Name (?), 23-Сен-24, 14:05 
> Ранее для вызова низкоуровневого кода требовалось либо создавать N-API-плагины к движку V8

Это неверная информация: в булочке используется js движок от вебкита, а не v8

Ответить | Правка | Наверх | 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. Скрыто модератором  +/
Сообщение от Аноним (37), 23-Сен-24, 17:06 
Ответить | Правка | Наверх | Cообщить модератору

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

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

25. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  –1 +/
Сообщение от Ydro (?), 23-Сен-24, 15:35 
Zig - классный, но его ещё пилить и пилить. На YouTube есть сравнение серверов на Zig и на Rast, пока Zig проигрывает по потреблению памяти и загрузки CPU
Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

31. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от Фнон (-), 23-Сен-24, 16:25 
> Zig - классный, но его ещё пилить и пилить. На YouTube есть сравнение серверов на Zig и на Rast, пока Zig проигрывает по  потреблению памяти и загрузки CPU

Производительность думаю можно улучшить.
У него ИМХО проблемы с позиционированием.

Если посмотреть на сайт ziglang.org - то там цель ЯП robust, optimal and reusable.
Из преимуществ перечислены "No hidden control flow/memory allocations. No preprocessor, no macros."
Вроде неплохо.. но в СИ можно обхоиться и без макросов.
Фичи типа zero-dependency, drop-in C/C++ compiler и легкого добавления в существующий код, тоже не выглядит как что-то сверхъестественное.

Ничего про "большую безопасность" не сказано, для этого нужно лезть в подробное описание.
А сишные ошибки типа use-after-free никуда не делись.

Плюс тудушки на такие ʼненужныеʼ вещи как Out of Bounds Float to Integer Cast - не добавляют доверию

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

33. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  –1 +/
Сообщение от Серб (ok), 23-Сен-24, 16:29 
> Ничего про "большую безопасность" не сказано, для этого нужно лезть в подробное описание.

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

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

36. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от Аноним (1), 23-Сен-24, 17:04 
В zig зато нормальные не нулевые указатели по умолчанию. И нулевые опциональные только для взаимодействия с си.
Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

28. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  –1 +/
Сообщение от Аноним (28), 23-Сен-24, 16:19 
> и портить память прям из сишки.
> Как диды завещали!

Послушай, циркач. В ассемблере тоже легко можно портить память, а сишка - это "кроссплатформерный ассемблер".

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

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

35. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от Фнон (-), 23-Сен-24, 17:03 
> Послушай, циркач. В ассемблере тоже легко можно портить память, а сишка - это "кроссплатформерный ассемблер".

Да, неужели!
Разве в ассемблере может команда не сработать?
Или там есть UB и CMP там может давать рандомный результат?

Я помню анекдоты про "программист на ассемблере делает два JMP. Но зачем? А вдруг первый не сработает", но ни разу с такой дичь за 20 лет работы не сталкивался.

И кстати, если открыть стандарт, то там написано
This document specifies the form and establishes the interpretation of programs expressed in the
programming language C.

И ни про какой "кроссплатформерный ассемблер" там не говорится.
Так что хватит нести чушь и позориться.

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

38. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от Аноним (1), 23-Сен-24, 17:08 
Конечно может быть. Чуть другой проц все твой корректный аси код выдает что угодно кроме того что надо и это не говоря про недокументированные возможности или доп команды.
Ответить | Правка | Наверх | Cообщить модератору

40. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  +/
Сообщение от Bottle (?), 23-Сен-24, 17:19 
Жаббаскрипт небезопасный сам по себе, нестрогая типизация всё сводит нет.
В каком языке ещё можно сложить 2 + "2" и получить "22"? А baNaNa чего только стоит!
Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

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

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

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

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

24. "В JavaScript-платформе Bun добавлена поддержка вызова кода н..."  –2 +/
Сообщение от Аноним (-), 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ообщить модератору

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

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




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

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