- Lunatik - инструментарий для создания в ядре Linux обработчи..., M, 09:22 , 22-Апр-24 (1) –20 [V]
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 09:28 , 22-Апр-24 (2) +12 [^]
> lua - непригодный язык. Лучше бы WASM-интерпретатор или jit в ядро засунули. Нормальный lua, просто не место в ядре всякой шляпе, ониб ещё JS туда затолкали!
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 09:36 , 22-Апр-24 (6) +2
Зато безопасный. Неизвестно что в твой васм запихнут, а Джит это дыра в безопасности бай дизайн.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., EULA, 09:59 , 22-Апр-24 (18) +6 [^]
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 17:46 , 22-Апр-24 (126)
Помню в 90х даже были пк-приставки к телеку-монитору на джавеИ так то слышал что после разогрева джава в полтора раза медленнее нативного кода Думаю что оптимизаций там по более, чем в луа
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Я, 21:51 , 22-Апр-24 (149)
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Ivan_83, 00:13 , 23-Апр-24 (152) +2
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 04:03 , 23-Апр-24 (158) –1
Ты устарел, Иван 83. Вроде версия большая, а реальности не понимаешь. Язык высокого уровня - питон, а низкого - tensorflow.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 11:37 , 23-Апр-24 (166)
> Универсального языка для всего сразу как то не получается, в основном потому что > ультимативная производительность предполагает ручное управление ресурсами и почти > отсутствие абстракций над железом.Ну вот хруст на горизонте нарисовался. Может в высокоуровневые конструкции, но при острой нужде позволяет и околосишные фокусы откалывать. И без окаменевших сишных глупостей типа "угадай какого вообще размера int и корректно ли на этой платформе вообще работает тот код?!"
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Ivan_83, 17:02 , 23-Апр-24 (187)
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 21:54 , 26-Апр-24 (206)
> Гниль имеет слишком сложный синтаксис, и расвесистую систему зависимостей как у нодыжс, Ну вот как бы да. Но все остальные оказались еще хуже - а дожать сишку до кондиции "en masse" все же душновато. Комитет придурков никак прожать на нормальные изменения не получается. А прогать как будто на дворе 1989 что-то уже не хочется, ибо четверть века прошло. И за нее можно уже и сделать выводы из старых грабель. Ну и вот чего делать? Вулнов многовато, проблемы сборки и портабельности тоже поднадоели порядком. Я не хочу иметь дело с "int" неопределенного размера и всем бардаком который оттуда вытекает - вечно. > тяжёлый космпелятор не везде работающий. > Это всё огромные минусы, а какого размера int мало кого интересует. Пока это не выльется в крахи софта, сбои фирмвар, факапы сборки, дикие баги и вулны на ровном месте и тому подобное. Извините, но - надоело. С этим пора что-то сделать. По хорошему, или уж как получится. Слушать сказки про белого бычка все-же надоело.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 09:23 , 26-Апр-24 (196)
Ок, а какие-то реальные достоинства будут? ООП там?
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Ivan_83, 10:19 , 22-Апр-24 (27) +9 [^]
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 01:13 , 23-Апр-24 (153)
Дело не в реализации, а в самом языке. Массивы с единицы и производительность улитки на списках. Разве что не пользоваться структурами Lua
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Ivan_83, 04:22 , 23-Апр-24 (160) +2
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 09:51 , 23-Апр-24 (163)
>В Visual Basic были массивы с 1 по дефолту, и ... где теперь Visual Basic? Бывают языки, на которых удобно программировать. А бывают языки, вроде pascalя, visual basicа, lua, matlab/octave/julia и R, которые вставляют палки в колёса даже в самых элементарных вещах, вроде синтаксиса, индексации или станд. библиотеки, напр. в некоторых языках даже функции для парсинга целого числа из строки с этом целым числом в hex-виде в переменную целочисленного типа до недавнего времени не было, нужно было сторонний пакет подгружать. Зачем авторы языков так делают? В большей мере - из-за тараканов в головах. Такие языки обычно выкидываются целиком заменяются более удобными, напр. когда выяснилось, что для парсинга числа в hex нужно танцевать вприсядку, я просто выкинул тот язык целиком ффтопку и перешёл на питон, и не жалею.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 20:56 , 23-Апр-24 (190)
> Массивы с единицы Как будто что-то плохое. > производительность улитки на списках. «Чи-гоо б…?!?» © На всякий, в Lua нет списков. Есть таблицы. И они ОЧЕНЬ шустрые. Особенно когда это не key-value, а массив. Так что либо давай поподробнее (с чем сравнивать и что вообще сказать хотел) и с пруфами, либо балабол.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 10:35 , 22-Апр-24 (38) +2
>jit в ядро засунулиУже засунули. eBPF называется.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 11:38 , 22-Апр-24 (65) +1
И пакетный менеджер для NPM сразу в ядро, чтоб сам пакеты обновлял.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Бывалый Смузихлёб, 11:47 , 22-Апр-24 (72) –1
- Lunatik - инструментарий для создания в ядре Linux обработчи..., _kp, 13:20 , 22-Апр-24 (84) +5
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 16:11 , 22-Апр-24 (113) +1
Вообще-то игры на lua в движке Minetest достаточно быстро работают (не все но многие). Я говорю как тот кто сам активно в них играет. В любом случае Lua точно не "похоронил" Minetest. Minetest хоть и не ориентрован на топовое оборудование но в последнее время эта ситуация улучшается.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 09:31 , 26-Апр-24 (197)
Чтоб все так жили как Minetest "похоронили". Наверное в настоящий момент это open-source игра с самым большим и активным комьюнити. И про производительность чушь полная, нужно наверное сотню модов навешать чтобы кора дуба стала тормозить.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 09:38 , 22-Апр-24 (8) +15 [^]
> после нажатия "↑ ↑ ↓ ↓ ← → ← → LCTRL LALT" ядроСделает фаталити
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Fracta1L, 09:39 , 22-Апр-24 (10) –2
- Lunatik - инструментарий для создания в ядре Linux обработчи..., KroTozeR, 09:44 , 22-Апр-24 (12) –1
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 10:09 , 22-Апр-24 (20) +1
Как случайно очередное rce в ядро протащить?
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 10:13 , 22-Апр-24 (22)
Ну-ну. Чтобы заставить работать любой нормальный язык в связке с сишкой, думать нужно на порядок больше, чем велосипедить очередной сплит строк на чистой сишке. Тут скорее вопросы, хотя, это даже не вопросы, к сишникам - "почему они не могут осилить ничего кроме сишки" и "когда перестанут выходить за границы буфера"?
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Ivan_83, 10:20 , 22-Апр-24 (28)
- Lunatik - инструментарий для создания в ядре Linux обработчи..., KroTozeR, 10:31 , 22-Апр-24 (37) +1
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 14:36 , 22-Апр-24 (97) +1
>почему они не могут осилить ничего кроме сишкиА зачем еще что-то кроме сижки? Си это идеальный язык, минималистичный Но с большой силой приходит и большая ответсвенность То что некоторые допускают уязвимости в своих программах, сугубо ответсвенность писарей этих самых программ Ей богу, надоело уже слушать эти все колкости в сторону языка
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 14:48 , 22-Апр-24 (101)
> А зачем еще что-то кроме сижки? Ну, от палки-копалки наши предки отказались, лопата осталась, но добавился еще экскаватор. Не все ж время использовать каменные топоры. > Си это идеальный язык, минималистичный Отвратительный язык. С кучей непродуманных мест сделаных "на отвались", т.е на "нам решать лениво, пусть там компилятор сам разберется". С кодом, который на разных версиях компиляторов выдает разные результаты. С просто ужасными компиляторами, ни один из открытых нереализует язык полностью. > Но с большой силой приходит и большая ответсвенность Иногда с возрастом приходит мудрость, иногда старость приходит сама. За 50 лет адепты так и не смогли не портить память. > То что некоторые допускают уязвимости в своих программах, сугубо ответсвенность писарей этих самых программ > Ей богу, надоело уже слушать эти все колкости в сторону языка Если у тебя в руках инструмент из которого торчат провода и шестерни, где изоляция это что-то из области фантастики, а про защитный кожух никто никогда не слышал - то такой инструмент просто плохой. И его надо выкинуть на помойку.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 15:11 , 22-Апр-24 (105) +1
> С кучей непродуманных мест сделаных "на отвались", т.е на "нам решать лениво, пусть там компилятор сам разберется".Это ты точно про Си, а не про раст? > С кодом, который на разных версиях компиляторов выдает разные результаты. А язык тут причем? Все вопросы к автору компиляторов, почему md5 финального бинаря отличается > С просто ужасными компиляторами, ни один из открытых нереализует язык полностью. GCC, например, прекрасный оптимизирующий компилятор, генерящий код для почти всех платформ и архитектур > За 50 лет адепты так и не смогли не портить память. Растаманы тоже портят, просто из-под раста этого не видно, см. первую цитату про "лениво решать, пусть компилятор что-то там" > Если у тебя в руках инструмент из которого торчат провода и шестерни, где изоляция это что-то из области фантастики, а про защитный кожух никто никогда не слышал - то такой инструмент просто плохой. Си - это такой... как сказать... высокоуровненый ассемблер что ли. А асме тоже нету никакой защиты (но она может быть на уровне микрокода и/или архитектуры). Тебя не парит, что в asm нет никакой защиты? Ну вот и в Си так же
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 16:50 , 22-Апр-24 (117)
> Это ты точно про Си, а не про раст?Конечно. Скажи спасибо комитету за UB и ID. > А язык тут причем? Все вопросы к автору компиляторов, почему md5 финального бинаря отличается Так разрабы компилятора все делали по "стандарту". Ну, т.е. по тому куску ###, которое по традиции называют стандартом. И если там написано - "а мы хз, делайте как хотите", то они делают как хотят. > GCC, например, прекрасный оптимизирующий компилятор, генерящий код для почти всех платформ и архитектур en.cppreference.com/w/c/compiler_support Покажи, пожалуйста, хоть один, который реализует стандарт полностью. Т.е. без "no" и "partial". Вот только не начинай что "это не такая важная штука", "они не обязаны" и тд > Си - это такой... как сказать... высокоуровненый ассемблер что ли. Абсолютно согласен. Вот только сейчас писать на асме больше пары страниц кода уже нет смысла - в 99% случаев компилятор оптимизирует лучше. А оставшийся 1% увидишь в профайлере и перепишешь ручками. А на сишке пишут проекты на миллионы строк кода. И понятно что оно будет как в асме - дыра на дыре.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 01:37 , 23-Апр-24 (154)
> Скажи спасибо комитету за UB и ID.Спасибо им, что есть стандарт. У некоторых и такого нету, а потому там любое поведение потенциальное UB, если не сегодня, то при следущем обновлении. > Покажи, пожалуйста, хоть один, который реализует стандарт полностью. Покажи, пожалуйста, хоть одну кодовую базу, которая использует полностью все новейшие возможности языка. > Си - это такой... как сказать... высокоуровненый ассемблер что ли. C (API) - это дефакто стандарт совместимости между программами на любых языках, включая те, которым без году неделя, но нос до небес, ведь хозяин из M$ их похвалил и кость бросил.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 15:28 , 22-Апр-24 (109)
> С кодом, который на разных версиях компиляторов выдает разные результаты.Можно пример?
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 16:40 , 22-Апр-24 (116) –1
Да легко - берешь любой код с сишным UB или implementation defined и приехали.int main() { int i=7; i = i++ * i++; return i; } По ссылке godbolt.org/z/s3Kve4chY 6 компиляторов и целых 3 (ТРИ) разных результата. GCC 4.8 - 56, GCC 4.7 - 51. И ведь все по "стандарту" сделано, компиляторы только какие-то ворнинги сыпет, и то, не все компиляторы.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 17:15 , 22-Апр-24 (119)
Ля, я думал там что-то настоящее, то что имеет место быть в реальном коде и даёт разный результат. Ну ты ж сам написал ответ - UB, а значит результат может быть любой, какие вопросы что он разный везде? Лично кажется 56 - логичным, но это моё личное мнениеint i = 7; i++ * i++; 1. пост-инкрементируем 7 2. умножаем 8 на 7 Но в любом случае это UB и так писать нельзя. Ты покажи нормальный код без UB и где результат разный на разных версиях компилятора
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 17:32 , 22-Апр-24 (121) –1
> Ля, я думал там что-то настоящее, то что имеет место быть в реальном коде и даёт разный результат.Вот тебе пример настоящего и вполне реального кода opennet.ru/opennews/art.shtml?num=58612 "устранена уязвимость, позволяющая поднять свои привилегии в системе бла-бла" Фикс выглядит так - else + else { free(to->button->xkb_acts); + to->button->xkb_acts = NULL; + } gitlab.freedesktop.org/xorg/xserver/-/commit/0ba6d8c37071131a49790243cdac55392ecf71ec Это происходит по причине того, что в дыряшке очень любят пихать UB куда надо и не надо J.2: The behavior is undefined in the following circumstances: ... - The value of a pointer that refers to space deallocated by a call to the free or realloc function is used (7.20.3). > Но в любом случае это UB и так писать нельзя. Но пишут. Причем в реальном, много где используемом софте! > Ты покажи нормальный код без UB и где результат разный на разных версиях компилятора Ты лучше покажи мне программу на СИ без UB/IB/ID и тд)) Я уже молчу, что только в С99 как минимум 193 варианта UB.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 18:02 , 22-Апр-24 (130)
> какие вопросы что он разный везде? А... т.е. все ок, никаких проблем нет? Я правильно понял? > Но в любом случае это UB и так писать нельзя. Ахаха, а то что? Компилятор пальчиком погрозит? > Ты покажи нормальный код без UB и где результат разный на разных версиях компилятора Ты лучше покажи сишный код написанный без UB. Они же везде - в ядре, в иксах, в прикладном софте. Вот тебе пример их x11 CVE-2023-43787. Signed integer overflow. Которые тоже UB. Так что, так нельзя писать?)) И в ядре таких мест куча. Тут даже статейку написали lwn.net/Articles/511259 про то, что оптимизации ломают овнокод ядра, который опирается на поведение signed integer overflow.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 18:09 , 22-Апр-24 (132)
> Вот тебе пример их x11 CVE-2023-43787. Signed integer overflow. Которые тоже UB. > Так что, так нельзя писать?))Я не понимаю что ты пытаешься сказать, сорри. То что в расте overflow проверяется всегда и нет возможности это отключить? Ну наверно, я хз. В Си нет - оверфлоу не проверяется самим языком, как и в ассемблере он не проверяется. Ну у тебя есть возможность его проверить самому. Хочешь - проверяй, хочешь - не проверяй.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 18:22 , 22-Апр-24 (136)
> Я не понимаю что ты пытаешься сказать, сорри.Проблема не в том, проверяется он или нет. А в том что поведение неопределенное. > То что в расте overflow проверяется всегда и нет возможности это отключить? Нет, в расте оно так: - в дебаге будут проверки и ошибка checks for integer overflow that cause your program to panic at runtime if this behavior occurs. - в релизе будет two’s complement wrapping. Но! Поведение будет всегда одно и тоже. doc.rust-lang.org/book/ch03-02-data-types.html Нет у них UB в этом вопросе. Как и в других. При этом если ты хочешь специфицировать другое поведение - то для этого есть функции wrapping_, overflowing_, saturating_ и checked_. А для си у тебя получаются код, которые просто выдает разный результат.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 18:27 , 22-Апр-24 (138)
> А для си у тебя получаются код, которые просто выдает разный результат.потому что простота реализации и лаконичность :)
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 18:34 , 22-Апр-24 (139)
>> А для си у тебя получаются код, которые просто выдает разный результат. > потому что простота реализации и лаконичность :) Бот что-то лютует. Хз чего он скрыл твой коммент... "Простота реализации и лаконичность" это наверное круто. Но это было актуально когда компьютеры были очень медленными. А сейчас я бы предпочел cи2, с таким же синтаксисом, но с решением всех этих проблем, даже путем слома обратной совместимости. Пусть новый компилятор ругается на все эти места. Их тогда исправят при желании.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 18:26 , 22-Апр-24 (137)
> Я не понимаю что ты пытаешься сказать, сорри.1. UB и прочие каки в 'стандарте' приводят к ошибкам 2. Такой код пишется в прод, включая ядро и кучу либ 3. Отслеживать и предотвращать такие ошибки не научились за пол века и повторяют их постоянно (новости можно читать каждые 2 недели) 4. Ошибки приводят к уязвимостям включая RCE 5. Без слома обратной совместимости исправить все недостатки невозможно, проще уже написать новый язык Мой вывод - СИ, как инструмент написания ядра не удовлетворяет условиям надежности, детерминированности и тд Если инструмент плохой - его нужно выкидывать.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 23:54 , 22-Апр-24 (151)
Если бы был такой безопасный язык, который ломал обратную совместимость с Си ровно в необходимом объёме. А его нет, так что многие берут Си-с-расширениями, берут плюсы и называют их удовлетворительными инструментами. Хотя перспективы... Страуструп после заявления АНБ про memory-safety назвал ситуацию чрезвычайной (current “emergency”) и... перевёл разговор на тему, что бывает много других видов безопасности, мда. C++ будущего - это замороженный язык.Если назвать плюсы достаточно большим шагом вперёд, то всё равно Линус "C++ is a horrible language" Торвальдс и Бьёрн "C++ exceptions have been successfully used in [Linux] kernel code" Страуструп катастрофически расходятся во взглядах на ядро.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 18:08 , 22-Апр-24 (131)
Вот тебе без UB. int main() { int i=-42; i = i >> 5; return i; }Right-shifting a signed integer value which is negative is implementation-dependent. Код, содержащий implementation-dependent - более чем валидный. godbolt.org/z/dGnfPj7ad GCC 11.3 - 254 MinGW GCC 11.3 - 4294967294 Вот такая вот прекрасная переносимость)) Причем по "стандарту" implementation-dependent может меняться от версии к версии.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 17:25 , 22-Апр-24 (120) +1
> Да легко - берешь любой код с сишным UB или implementation defined и приехали. Ясно, ссылку можно даже не открывать > И ведь все по "стандарту" сделано, компиляторы только какие-то ворнинги сыпет, и то, не все компиляторы. Именно, что по стандарту и результат соответствует стандарту, то есть - ваще ЛЮБОЙ. А у меня тоже к тебе вопрос. Ты реально думаешь что вот этот пример выше это проблема? Ну просто когда ты инкрементируешь переменную и умножаешь ее на самому себя, еще раз инкрементируя. Какой результат ты сам то тут ожидаешь? И почему?
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 17:41 , 22-Апр-24 (122)
Я выше скинул ссылку на реальную уязвимость из ХОрга.> Именно, что по стандарту и результат соответствует стандарту, то есть - ваще ЛЮБОЙ. СТАНДАРТ 1. Образец, к-рому должно соответствовать, удовлетворять что-н. по своим признакам, свойствам, качествам, а также документ, содержащий в себе соответствующие сведения Если у тебя один и тот же код, дает разный результат просто при смене версии одного и того же компилятора, то это не стандарт. "Стандарт СИ" это почти как Гост на колбасу вида "колбаса делается из мяса, может содержать добавки в виде сала, туал.бумаги или овна, в зависимости от желания компилятора рецепта - повара" Не думаю что оно тебя бы сильно порадовало) > А у меня тоже к тебе вопрос. Ты реально думаешь что вот этот пример выше это проблема? Не, конкретно это не прроблема, хотя я допускаю что есть какой-то код в продакшене где такие грабли разбросали. > Какой результат ты сам то тут ожидаешь? И почему? Любой. Главное одинаковый! Но зависящий от компиялтора, его версии, фазы луны, погоді на марсе и тд. Потому что если твоя програма 99 раз считает верно, а в 100й отстреливает тебе пятую точку, то это просто какая-то фигня.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 17:43 , 22-Апр-24 (125) +1
Ага, а в расте ваще нету префикс/постфикс инкремента. То есть ваще нетуPreincrement and postincrement (and the decrement equivalents), while convenient, are also fairly complex. They require knowledge of evaluation order, and often lead to subtle bugs and undefined behavior in C and C++. x = x + 1 or x += 1 is only slightly longer, but unambiguous. Понятно в общем. То есть в расте не решили эту проблему, а просто убрали фичу. Как говорится, нет кода - нет багов
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 18:12 , 22-Апр-24 (133)
> То есть в расте не решили эту проблему, а просто убрали фичу.А тут уже философский вопрос. Добавить "фичу" и заодно сделать UB, который в общем случае позволяет компилятору во время оптимизации делать вообще что хочет - выкинуть эту ветку напр. Или не добавлять фичу, зато сделать поведение однозначным.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 13:58 , 23-Апр-24 (177)
> По ссылке godbolt.org/z/s3Kve4chY 6 компиляторов и целых 3 (ТРИ) разных результата. > GCC 4.8 - 56, GCC 4.7 - 51. > И ведь все по "стандарту" сделано, компиляторы только какие-то ворнинги сыпет, и > то, не все компиляторы.Как это - по стандарту? Если в стандарте сказано что эт UB и компилеря варнинингами сыпят? Это как раз пример покладания на стандарты програмером.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 14:14 , 23-Апр-24 (178)
> Как это - по стандарту? Если в стандарте сказано что эт UB > и компилеря варнинингами сыпят? Это как раз пример покладания на стандарты > програмером.А если не сыплят? Потому что в стандарте про варнинги ничего не сказано?)) Если тебе норма называть стандартом, то что работает не стабильно, то ладно, не буду спорить.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 14:48 , 23-Апр-24 (181)
> А если не сыплят?"А если рельсу?!" (c) суровые сибирские мужики vs лесопилка. > Потому что в стандарте про варнинги ничего не сказано?)) Потому что господа стандартизаторы сделали проще - таки себе. Но остальные сделали себе и еще проще - вообще не релизя никакие стандарты, так что сравнивать тупо не с чем. > Если тебе норма называть стандартом, то что работает не стабильно, то ладно, > не буду спорить. Ну остальные даже и так не смогли - так что даже и сравнить то не с чем. Не, конечно есть ECMA для жаба скрипта. Но там вообще можно приравнять бананы к самосвалам, это нормалек и by design. Что сие означает и будет ли это корректно работать - ну, вы поняли. Но это тоже по стандарту. И дажэе варнинга может не быть, ибо не баг .
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 15:37 , 23-Апр-24 (184)
> "А если рельсу?!" (c) суровые сибирские мужики vs лесопилка.Ну так это просто еще одна проблема) > Потому что господа стандартизаторы сделали проще - таки себе. Но остальные сделали > себе и еще проще - вообще не релизя никакие стандарты, так что сравнивать тупо не с чем. ИСО стандраты (на который так неистово нафапывают сишники) есть для совсем небольшого кол-ва языков. Среди которых не только Ada, Fortran и COBOL, но и Pascal с BASIC'ом. И что-то я не видел такого кол-ва UB и прочего сделаго спустя рукава, в их стандартах. Так что стандарт стандарту рознь, на жаваскрипте ядро писать не будут (надеюсь)
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 23:54 , 26-Апр-24 (207)
>> "А если рельсу?!" (c) суровые сибирские мужики vs лесопилка. > Ну так это просто еще одна проблема) А что, я могу это хрустикам вернуть с gccrs который (пока еще) без боров-чекера. Вопросы полноты реализации - они такие. > ИСО стандраты (на который так неистово нафапывают сишники) есть для совсем небольшого > кол-ва языков. Зато есть таки ну вот реально - кондовые доки на которые можно равняться. И если это > Среди которых не только Ada, Fortran и COBOL, но и Pascal с BASIC'ом. Ну так первые три местами даже бывают. Нишевые штуки, но все же. Остальные два - ну, хз. Они просто дурацкие с самого начала были. И никакой стандарт в этом случае не поможет. Кто сказал что 100% стандартов - в ходу? > И что-то я не видел такого кол-ва UB и прочего сделаго спустя рукава, в их стандартах. Ну так их стандарты в основном появились сильно позже. Хотя на лично мое мнение я бы поимел вон тех господ без вазелина и заставил задефайнить все и вся. А noncompliant код - был бы явно маркирован более древней редакцией, было бы сразу видно - UNSAFE. > Так что стандарт стандарту рознь, на жаваскрипте ядро писать не будут (надеюсь) Да вообще для жыэса есть и довольно небольшие аккуратные движки. Порой даже таки - соответствующие ECMA какойнить.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 12:54 , 23-Апр-24 (169)
> Не все ж время использовать каменные топоры.Да вот блин, вскопать грядку большим экскаватором - можно, но дестроя многовато. Куб грунта за раз (меньше не получается, простите) - хренакс, и вообще не поймешь, грядка это или чего. А после пары таких сессий земледелия проще место жительства сменить, чтобы не жить на свалке, и дом как раз куда-то сползать начал. > С кучей непродуманных мест сделаных "на отвались", т.е на "нам решать лениво, > пусть там компилятор сам разберется". В C99 и далее частично починили - но увы, не хватило комитета тупарей на полный вариант того что надо было сделать. > С кодом, который на разных версиях компиляторов выдает разные результаты. > С просто ужасными компиляторами, ни один из открытых нереализует язык полностью. Маленькая пробема только в том что все остальные оказались еще ужаснее. Не, ассемблер мы рассматривать не будем, он еще ужаснее из-за полной неструктурированости и непортабельности. Да и в глобальных оптимизациях компилеры могут дать мастеркласс и ассемблерщику. А вот как раз педальность всяких указателей и проч - позволяет очень крутые оптимизации. Которые более продвинутые ЯП не могут себе позволить из-за даваемых гарантий.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 13:40 , 23-Апр-24 (174)
> Да вот блин, вскопать грядку большим экскаватором - можно, но дестроя многовато. > Куб грунта за раз (меньше не получается, простите) - хренакс, и вообще не поймешь, грядка это или чего.Так копай маленьким) Они же тоже существуют. А еще есть мотоблоки. Тоже оптимизация. Но пример хороший. Когда код был размером с грядку то лопаты хватало. Утилитки на 10 LOC, которые можно писать принимая патчи по почте (хорошо хоть не голубиной). Кто в здравом уме будет 40 соток копать ручками? А теперь участок стал много гектаров. На нем закопаны каналы связи, неразорвавшиеся бомбы, трубы канализации... И его одновременно обрабатывают 100500 человек. Приходит такой васян с лопатой и фигак, разломал что-то важное. И даже не заметил. А потом через 10 лет, кто-то обнаружи утечку фекалий прямо юзеру запазуху. > А после пары таких сессий земледелия проще место жительства сменить, чтобы не жить на свалке, > и дом как раз куда-то сползать начал. А типа ядро это сейчас не свалка?) > В C99 и далее частично починили - но увы, не хватило комитета тупарей на полный вариант того что надо было сделать. Т.е есть проблему решить не смогли. > Маленькая пробема только в том что все остальные оказались еще ужаснее. Не, ассемблер мы рассматривать не будем, он еще ужаснее из-за полной неструктурированости и непортабельности. Не думаю что остальные еще хуже, просто отказ от старого это всега тяжело. > Да и в глобальных оптимизациях компилеры могут дать мастеркласс и ассемблерщику. Согласен, компиляторы конечно по глобальным оптимизациям. Но мысль была о том, что ты можешь запилить компилятор, не реализовать половину свойст языка и все равно назвать его "компиялятор С", а не "компилятор половины СИ, худшей половины" > А вот как раз педальность всяких указателей и проч - позволяет очень > крутые оптимизации. Которые более продвинутые ЯП не могут себе позволить из-за > даваемых гарантий. Это было актуально, когда компы были медленные. И интернета не было) Ты готов поменять увеличение производительности на 5-10-15% в обмен на потенциальный бекдор? Сейчас я не готов на такие жертвы.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 14:19 , 23-Апр-24 (179)
> Так копай маленьким) Они же тоже существуют. > А еще есть мотоблоки. Тоже оптимизация.Ну, вот, хруст какой - может и имеет шансы вписаться в эту нишу. Время покажет. А остальные серебряные пули на поверку оказались из других материалов. Решая одни проблемы привносят более 9000 других. И вот уже дом съезжает в какую-то канаву, а во дворе бьет незапланированный фонтан, г-на по колено, а если фонтан и удается заделать - через месяц он пытается прорезаться в новом месте. > Кто в здравом уме будет 40 соток копать ручками? Да легко. Нанимают кучутаджиков и всем пофиг как. Это ж разово. > А теперь участок стал много гектаров. Ну и вот тут вопрос - а хотели ли мы быть помещиками-латифундистами? Или надо было вовремя остановиться и немного урезать осетра? Так что кернел это кернел. А не универсальное блин решение всех проблем человечества. > Приходит такой васян с лопатой и фигак, разломал что-то важное. И даже не заметил. То ли дело экскаваторщик. Копнул, взорвалось 2 бомбы, е...шит высоковольтный кабель, фигачит фонтан, а перепуганые жители спешно сдристывают из локации кто во что горазд, если было куда, чтобы не гадать прибьет их напряжением в паре с водичкой от фонтана - или таки осколками бомб? > А потом через 10 лет, кто-то обнаружи утечку фекалий прямо юзеру запазуху. По сравнению с вон тем это, возможно, не такая уж большая проблема была... > Т.е есть проблему решить не смогли. Т.е. решили половинчато. Но да, в целом - незачет. > Не думаю что остальные еще хуже, просто отказ от старого это всега тяжело. Ну как бы на этом дофейхоа кода и его за обозримое время никто не перепишет. Поэтому будут и проблемы лопат - а заодно и косты майнтенанса экскаваторов теперь заодно. Не сказать что дешевые. Но да, это не значит что лопаты пик совершенства и ничего лучше быть не может в принципе. > Но мысль была о том, что ты можешь запилить компилятор, не реализовать > половину свойст языка и все равно назвать его "компиялятор С", а > не "компилятор половины СИ, худшей половины" Ну как бы есть штуки типа C4. Это компилер если что, а не... - C in 4 functions :). А нечто типа tcc - даже и довольно полный C99 так то, с вполне обозримой кодовой базой. Много ли иных яп вообще таким похвастать могут? У сишки реально простое языковое core. Остальным на ЭТО талантов явно не хватило. Увы и ах. Какой-нибудь хруст например костылили, костылят и будут костылить. > Это было актуально, когда компы были медленные. И интернета не было) Да вот видите ли - в ядре сейчас рефакторов пачка, потому что с сверхскоростными SSD все упирается - в оверхед кода ядра. И если ваш сервак в разы медленнее того что железо могло бы из-за оверхеда в коде ядра - что вы скажете на такой рост костов?! Ну вон там народ и надрывается, а высококонцептуальные микроядра так никому и не надо, столько лет спустя. Потому что платить в разы больше за тот же результат всех почему-то дико душит жаба. > Ты готов поменять увеличение производительности на 5-10-15% в обмен на потенциальный бекдор? В ядре это и в разы может оказаться. Вооон там игогошики проверяли с драйвером FAT32 на го. Познали горя по полной програме. Пока занимались всем этим миндфаком - наступил кризис, гугл вообще проект задвинул. Ну что, накорябали концЭптуальный драйвер, джуны?! :) > Сейчас я не готов на такие жертвы. Можете юзать микроядра, редокс осы всякие и проч. Только вот что-то с перфомансом там не очень и дрова кодить никто не рвется. Потому что получается жесткий запрыг по граблям взявшимися изниоткуда. И вот уже перепуганые жители линяют из локации где хреначит высокое напряжение и разлетаются осколки.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Fracta1L, 13:46 , 22-Апр-24 (91)
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 18:14 , 22-Апр-24 (134) +2
> А уйма ручной работы как раз оставляет меньше времени на думанье.Проблема не только в думаньи. А во внимательности, которая тоже ресурс. Большая часть дыр в ядре, если отбросить теории заговора, это просто невнимательность. Но пока что не изобрели усилитель внимательности для мясных мешков (вещества не предлагать, такое ощущение что половина ядра под ними написана)
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 09:52 , 22-Апр-24 (16) +4
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 10:23 , 22-Апр-24 (33)
В какой БЗДе используют Lua? В НетБЗДе? Там он навроде системный комфигуратор?
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Сообщество, 10:40 , 22-Апр-24 (40) +2
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 11:25 , 22-Апр-24 (60)
- Lunatik - инструментарий для создания в ядре Linux обработчи..., n00by, 11:32 , 22-Апр-24 (63)
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Ivan_83, 17:42 , 22-Апр-24 (124)
- Lunatik - инструментарий для создания в ядре Linux обработчи..., n00by, 19:02 , 22-Апр-24 (142)
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 19:52 , 22-Апр-24 (144) –1
уже больше 10 лет как нету
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 20:40 , 22-Апр-24 (146)
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 21:23 , 22-Апр-24 (147)
Хм... а я что-то помнил, что переписали загрузчик на Си и форт вообще выкинули из базовой системы. Ок, все по-прежнему значит :)
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 21:47 , 22-Апр-24 (148)
> Хм... а я что-то помнил, что переписали загрузчик на Си и форт Ну, луа для скритухи (те же загрузочные менюшки) с 12 версии по умолчанию, а форт - легаси. Но пока жрать не просит, выносить не спешат (луддиты, что с них взять, вот лапч^W оголтел^W мировые продвигатели прогресса ради прогресса - выкинули сразу бы после встройки поддержки луа "Мне пофиг, что у тебя там сломалось! УМВР, а это устарело и окаменело!")
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 01:48 , 23-Апр-24 (156)
> лапчПросто Линукс -- активно развиваемое ядро, а не погрызанный копролит. В таком положении, во-первых, всегда есть из чего выбирать и, во-вторых, банально необходимо выкидывать всё, на что не нашлось сопровождающего для починки перманентного стейбл-апи-нонсенса, в пользу того, что есть кому сопровождать и, возможно, развивать.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 13:05 , 23-Апр-24 (170)
> Вроде бы там был Форт?Форт, фортран... некроманская языка - цука сложная, хрен прочухаешь, поразвели, понимаешь, названий!
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 09:59 , 22-Апр-24 (17) –3 [V]
Бредовая хреновина, лучше допилите раст-инфраструктуру в ядре, чтобы модули было писать легко и приятно.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 10:12 , 22-Апр-24 (21) +3
Открою тебе тайну вся инфра для модулей на расте уже доступна легка и приятна. Только никто модули на расте так и не пишет.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., ХрюХрю, 10:16 , 22-Апр-24 (25) +1
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Пряник, 10:50 , 22-Апр-24 (42) +1
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 14:31 , 22-Апр-24 (96)
Важна семантика, а не синтаксис.К любому синтаксису привыкаешь через 3 недели активного программирования на любом языке.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 14:47 , 22-Апр-24 (100) +1
И семантика у раст, мягко говоря, не очень
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 01:53 , 23-Апр-24 (157) +3
Семантика у Раста - это эксперимент. Когда (через несколько лет) выяснится, что она переусложненная и бесполезная фигня, из неё возьмут лучшие идеи, а остальное выкинут на мороз. И что будут делать те, кто понатащил это неудачный эксперимент во всех октрытые проекты, M$ не волнует, наоборот, чем хуже вам, тем лучше им.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 13:10 , 23-Апр-24 (172) +1
>> Бредовая хреновина, лучше допилите раст-инфраструктуру в ядре, чтобы модули было >> писать легко и приятно. > Как вообще с таким тяжелым синтаксисом могли пустить в ядро, мне не понятно.А его никто и не пускал - это самопальный сторонний проект если что. Если ты завтра накодишь какую-то хрень как ядерный модуль, скажем, интерпретатор брейнфака - тоже можешь новость запулить. Никого не спрашивая "а можно ли?". Примут ли это в майнлайн и будут ли этим пользоваться - совершенно другой вопрос уже.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Ivan_83, 10:22 , 22-Апр-24 (31) +3
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 11:05 , 22-Апр-24 (51)
> Как вы собрались бустрапится?Так же, как и всегда. Напоминаю путь бутстрапинга сишки: hex0 -> hex1 -> hex2 -> cc_x86 -> M2-Planet -> mes -> tinycc -> tinycc -> tinycc -> tinycc -> gcc -> gcc. Первые версии раста написаны не на расте, так что далее дополним цепочку каким-нибудь ocaml -> rust -> rust -> rust.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Пряник, 10:58 , 22-Апр-24 (47)
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 13:26 , 22-Апр-24 (86) +1
Rust, писать легко и приятно - оксюморон.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 15:17 , 23-Апр-24 (182)
Лучше бы допилили сам раст, прежде чем его везде впихать.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., nonon, 10:04 , 22-Апр-24 (19) +2
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 10:13 , 22-Апр-24 (24)
Залипание клавиш по удержанию шифт куда привычнее.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Ivan_83, 10:17 , 22-Апр-24 (26) +1
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Анонус, 10:55 , 22-Апр-24 (44)
- Lunatik - инструментарий для создания в ядре Linux обработчи..., n00by, 11:00 , 22-Апр-24 (48) +2
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 11:13 , 22-Апр-24 (53)
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 11:51 , 22-Апр-24 (73)
Следующий шаг за Латиноамериканским отделением Фонда свободного ПО - добавление в полностью свободное ядро интерпретатора Guile.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 12:13 , 22-Апр-24 (75) +1 [V]
Возникла бизнес-идея, надо дать возможность добавлять модули ядра на 1C. Безопасно, патриотично. И обязать дистрибутивы, которые хотят быть в реестре отечественного ПО иметь соответствующую поддержку и повышать уровень импортозамещенности год от года. Графики там нарисовать на десять лет вперед. И назвать этот язык "Первый С". Куда обратиться, чтобы получить финансирование под это дело.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., topin89, 12:45 , 22-Апр-24 (80) –1
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 12:57 , 22-Апр-24 (81) +1
Быстро пишем, медленно работает.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 13:11 , 22-Апр-24 (83) +2
С Растом не прокатило,никто модулей не написал,а на этом может быть и очень даже напишут.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 13:39 , 22-Апр-24 (89)
На раст же переписали же пару 100 строчных драйверов. Только, у меня правда ощущение, что это диверсия, чтобы слить конкурентов. Корпорации постоянно заявляют, будто они очень заинтересованы в расте и "используют" его повсюду, а на самом деле весь код на расте очень оперативно выкидывается и заменяется нормальным, т.е. не является сколько-нибудь ключевым.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., ck, 14:27 , 22-Апр-24 (95) +1
- Lunatik - инструментарий для создания в ядре Linux обработчи..., А в это время, 14:37 , 22-Апр-24 (98) –2
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 14:49 , 22-Апр-24 (102) +1
Это твоя пингора в ядре что ли? Что ты тут на ноль помножил?
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 14:50 , 22-Апр-24 (103) +1
Фреймворки и наколенные прокси это замечательно, но это не продукты и не ПО.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 15:03 , 22-Апр-24 (104) +1
Да это обычный хайп. Так было с джавой, с go, теперь с растом. Все это суета, всё это пройдет, а Си останется. Смирись и прими это
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 15:17 , 22-Апр-24 (106) +1
Вот как мы увидим практическую пользу этой Pingora, так только тогда она перестанет помножать ваш комментарий на ноль.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 15:57 , 22-Апр-24 (111)
> Вот как мы увидим практическую пользу этой Pingora, > так только тогда она перестанет помножать ваш комментарий на ноль.Так она отрабатывает каждый раз когда тебе показывают сообщение от клаудфари. Это же не тебе лично должна быть практическая польза.
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Ivan_83, 17:49 , 22-Апр-24 (129)
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 14:39 , 22-Апр-24 (99) –1
Жесть, нафига интерпретатор в ядре? Итак уже интеловскими заплатками производительность херите, так еще и это Жесть, я в щокэ просто
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Минона, 15:37 , 22-Апр-24 (110)
- Lunatik - инструментарий для создания в ядре Linux обработчи..., oditynet, 16:37 , 22-Апр-24 (115)
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Full Master, 22:43 , 22-Апр-24 (150) +1
- Lunatik - инструментарий для создания в ядре Linux обработчи..., qweo, 11:23 , 23-Апр-24 (164) +1
- Lunatik - инструментарий для создания в ядре Linux обработчи..., Аноним, 10:19 , 26-Апр-24 (203)
Вот так тихо и незаметно Lua стала вторым после C языком в ядре Linux, сразу же обогнав Rust.
|