LINUX.ORG.RU
Форум — Talks  

Rust vs C

 


0

2

Ваше личное, не оттягощенное злом, мнение, какой язык должен быть использован для разработки ядра Linux.

Перемещено hobbit из polls

★★

все просто. вам нужен простой и стабильный язык.

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

Тоже самое и с Rust. Просто некому будет писать код.

Проследите путь Golang and C#. Языки и среды сделанные для условно массовой публики.

Кто-то из них (массовой публики) сможет и ядро.

Всем плевать на безопасный код! И все кто об этом говорят - врут. Иначе бы все давно писали на Ada и не выдумывали никакой Rust.

По безопасности она бьет любой язык. А если брать SPARK, то тем более.

И будем честны кроме условного Lockheed Martin на нем никто не пишет.

Если бы проблема безопасности волновала людей, они бы не сравнивали Rust с С. Это проф. непригодность.

Тот же LLM работает сильно лучше и стабильнее, когда синтаксис языка не меняется.

Можно прогнать его на Zig или Odin и получить версию на которой уже «давно» (целых 5 дней) так никто не пишет и оно не компилируется.

Вопросы безопасности кода на С уже давно решаются сторонними инструментами и вот пару лет назад к ним добавился LLM.

Очевидно дальше способности анализаторов кода и автописания будут расти и более простой язык - как язык ассемблера будет лучше подходить для машины… Это она (оно?) будет и писать и читать.

Все языки после С разрабатывались с целью облегчить задачу человеку! Это ему удобнее написать - «Hello» + " World!" Машине глубоко по барабану.

Если начать обучение на кодовой базе в плане какой код приводит каким инструкциям процессора, то это сделает сам код на любом языке ненужным. Но пока мы еще не там, то проще остановится на С.

lefsha ★
()
Последнее исправление: lefsha (всего исправлений: 2)
Ответ на: комментарий от lefsha

если бы проблема безопасности в ядре волновала людей, то они бы:

взяли с++.

вместо дурной отмотки стека внешним кодом с использованием дурной секции использовали например флаг CF и руками отматывали деструкторы - это можно сделать.

в описании классов ввели бы как в qmetatype информацию о классе чтоб опять же не зависеть от библиотеки.

ввели бы указатели умные и RAII. указатели кстати можно и «поумнеть» в части задач, в частности «глубину владения» ввести чтоб они выше владельца не уходили.

ckotctvo
()
Ответ на: комментарий от Vidrele

Перевод, конечно, мда… Не всегда понятно, что имелось в виду, иногда варианты странные: «я легко манипулирую людьми» и «мне не нравится, когда я замечаю, что манипулирую людьми». А если мне трудно, но нравится, например?

У меня, кстати, 30%, я лучше!

knovich ★★
()
Ответ на: комментарий от hateyoufeel

Я просто решил провести эксперимент: как поступит типичный тролль, если его взять на слабо. Результат ожидаемый: типичный тролль типично слился xD

u5er ★★★
()
Последнее исправление: u5er (всего исправлений: 1)
Ответ на: комментарий от u5er

О нет! Чувак на форуме не выкатил мне ядро ОС лучше чем существующие по первому требованию! Это слив!

Починил.

hateyoufeel ★★★★★
()
Ответ на: комментарий от hateyoufeel

О нет! Чувак на форуме не выкатил себе ядро ОС лучше чем существующие по первому требованию! Это слив!

Починил(2) ;)

u5er ★★★
()
Ответ на: комментарий от Clockwork

Также он более гендерно-инклюзивен, что немаловажно в наше время!

michwill ★★★★★
()
Ответ на: комментарий от knovich

Перевод, конечно, мда…

Согласен.

У меня, кстати, 30%, я лучше!

В каком-то смысле да. Некоторая доля нарциссизма нужна, чтобы не быть терпилой.

Vidrele ★★★★★
()
Ответ на: комментарий от hobbit

Тема, в принципе, интересная

была 100 растосрачей назад.

dimgel ★★★★★
()
Ответ на: комментарий от dummy

rust, потому что порог вхождения довольно высок.

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

ya-betmen ★★★★★
()

У Rust есть некоторые проблемы с излишним копированием (или move, не принципиально). Если допилят оптимизатор, чтобы мог все эти копирования оптимизировать, то pourquoi pas

KivApple ★★★★★
()
Ответ на: комментарий от ckotctvo

c++

указатели умные и RAII

Я уж и не надеялся увидеть этот камент.

dimgel ★★★★★
()

Ваше личное, не оттягощенное злом, мнение, какой язык должен быть использован для разработки ядра Linux.

Pascal.

skiminok1986 ★★★★★
()

Микроядро на ada spark, остальное на современном си.

Tark ★★★
()
Ответ на: комментарий от dummy

rust, потому что порог вхождения довольно высок

Там порог с точки зрения абстракций более высок, но ядро все таки ближе к железу, а соответственно у Си порог повыше будет, т.к. железку надо понимать, чтобы без лишних абстракций шустрый код писать, который не задолбаешься еще и потом облуживать/использовать, да и как в расте «ходунков» для неумелых в Си нет, и переточить компилятор Си под любое железо сильно проще чем «вотэтовсержавое»…

ИМХО, ржавому бы с крестами соревноваться, а не с каноничным Си, т.к. Си - это компромисс между ассемблером и высокоуровневым языком, который хорошо стандартизирован и особых проблем не имеет, на мой взгляд…

Sm0ke85 ☆
()
Ответ на: комментарий от Sm0ke85

а я настаиваю на использовании rust. любой идиот может написать кривой код на c/c++. rustc не позволит ему даже скомпилировать его г.

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

dummy ★★
() автор топика
Последнее исправление: dummy (всего исправлений: 2)
Ответ на: комментарий от KivApple

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

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

dummy ★★
() автор топика
Ответ на: комментарий от dummy

любой идиот может написать кривой код на c/c++

Тот же идиот, ровно тот же код тебе и на раст напишет, уже кучу прецедентов было, не спасает раст ни от чего…

Sm0ke85 ☆
()

обычно rust сравнивают с go. но у ядра своя специфика. соответственно и у языков о которых я говорю своя сфера применения. все идет к укрупнению. например microsoft .net . так в случае с ядром. чем проще тем лучше. забудьте что есть ядро. оно работает и ты едешь. ты же не спрашиваешь у водителя какого типа мотор стоит в машине перед посадкой.

jura12 ★★★
()
Вы не можете добавлять комментарии в эту тему: только для зарегистрированных, score>=50.