LINUX.ORG.RU
ФорумTalks

Rust vs C

 


0

2

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

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

★★

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

Тема интересная, но опрос в текущем виде слабоват.

Отношусь к обоим языкам положительно. В ядре Rust пусть будет, если на нем не примутся чинить то, что не ломалось. Ладно, пусть даже проприетарные драйверы переписывают, если кому-то так будет удобнее. Все равно Rust - не Electron и даже не .NET.

Я несколько опасаюсь того, во что превратится ядро после кончины Линуса, но это не совсем проблема Rust. В любом случае долгих ему лет.

Vidrele ★★★★★
()

Я не разработчик ядра и ОС, поэтому мнение ничего не значит. Но, в целом, у меня отношение к Си скорее негативное. Основное достоинство — переносимый ассемблер. Всё остальное — собранный граблями эволюционный мусор. Было бы неплохо заменить его на что-то более дружелюбное.

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

Основной проблемой будет фрагментация — что-то вроде Wayland/X11, только в большем масштабе. Разработчики и без того долгие годы тратят на один язык, а нужно будет знать два.

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

kaldeon
()

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

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

Clockwork ★★★★★
()

Эти три варианта не противоречат друг другу и могут быть верны все три одновременно.

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

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

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

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

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

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

у rust было достаточно времени.

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

dummy ★★
() автор топика

господа, вы за корягу заводите.

вопрос про разработку ядра. постарайтесь оставаться в теме, пожалуйста.

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

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

именно поэтому и есть вариант «где я?». как можно его сделать по-умолчанию?

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

ты не поверишь, мой белый брат, что, currently c and rust are the languages used for linux kernel development. я могу чего-то не знать. убеди меня, что я не прав. мне будет наука.

пожалуйста, не ассемблер.

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

эта пачимуже? мне, реально, интересно.

Что именно интересно? О чём опрос? Он не о предпочтениях опрашиваемых, не о том, что они используют или не используют, разработчиков ядра, чтоб такие вопросы решать, среди опрашиваемых нет даже процента. В чём вообще смысл? Кто лучше навангует, чтоб через 20 лет проверить? Или что?

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

я хотел задеть конкретно разработчиков модулей. их мнение важно.

Может тогда так и спросить «на каком языке вы предпочитаете писать модули ядра?»?

Без вот этого спасёт-неспасёт, переживёт-непереживёт… А то ведь может быть и так, что спасёт, но Си всё равно всех переживёт. Одно другому никак не противоречит.

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

currently c and rust are the languages used for linux kernel development. я могу чего-то не знать. убеди меня, что я не прав

Да причём тут не знать? Причём тут не прав?

Тебе говорят, что у тебя каша какая-то в опросе:

  • В заголовке — битва двух языков
  • В вопросе внутри топика — личное мнение конкретно о разработке ядра
  • В вариантах — кто лучше навангует, да ещё и без мультивыбора, хотя варианты не взаимоисключающие

То есть, как будто бы три разных вопроса.

Гипотетически (это не реальное моё мнение, просто предположим), в C vs Rust я за C, при этом моё мнение отягощено злом, и при этом я за то, что Rust должен быть использован при разработке ядра. При всём этом я считаю, что Rust вас всех спасёт от косяков C, но сам продолжу писать на C (потому что мега крут и обхожу их играючи), и уверен, что C всех переживёт. Какой вариант выбирать? Последний, видимо?

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

Добавлю важное: очень многие, если им кажется, что всё и так понятно, голосуют прямо с главной. Там видно заголовок и варианты, но не видно текст сообщения. Соответственно, в нынешнем виде большинство даже знать не будет, что опрос имеет отношение конкретно к ядру, пока не проголосует (а кто-то и после не обратит внимание).

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

именно поэтому и есть вариант «где я?». как можно его сделать по-умолчанию?

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

kaldeon
()
Ответ на: комментарий от CrX

орицая предлагай. идею я подал. реализация может быть любая. но, тогда, не надо меня упоминать.

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

орицая предлагай

Я предложил одним комментарием выше. Если интересно именно, на чём разработчики модулей предпочитают их писать, так и задать вопрос: «На каком языке вы предпочитаете разрабатывать модули ядра». С вариантами:

  • C
  • Rust
  • Другой (напишу, какой и как)
  • Не занимаюсь разработкой модулей ядра

Тогда это будет именно тот опрос, что ты имел в виду, если я правильно понял суть по комментариям.

Если имел в виду таки не это, предлагаю тебе определиться с тем, о чём таки этот опрос. И от этого уже плясать. Мысли я читать не умею.

идею я подал

Ты подал три (или больше) ;)

Надо как-то выбрать одну. Или мы пытаемся выяснить, на чём народ модули предпочитает писать, или это «битва языков», тупо кто какой считает лучше, или мы собираем вангования на тему, что кого спасёт и кто кого переживёт. Это три совсем разных опроса по своей сути.

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

лор - не «сборище разработчиков ядра». я это понимаю и задал вопрос совершенно осознанно. «где я?» вариант покрывает твои два последних варианта как бык крольчиху. в программировании это называется catch-all.

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

у людей есть мнение по этому конкретному вопросу или нет. все предельно просто.

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

лор - не «сборище разработчиков ядра». я это понимаю и задал вопрос совершенно осознанно.

Ты задал три разных по сути.

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

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

Как насчёт в таком случае сменить сам вопрос на «Как вы относитесь к Rust в ядре Linux?» с вариантами, включающими «положительно», «отрицательно» и возможно какими-то ещё, или с различными уточнениями этих?

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

ой, ну не понравилось тебе ну и насрать. вы там совсем упоролись на лоре?

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

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

ой, ну не понравилось тебе

Дело не в том, понравилось мне что-то или нет, а в том, что сейчас нет нормального опроса. Никто не поймёт, чего от него хотят. Вне зависимости от того, нравится мне что-то или нет.

ну и насрать

На опрос? Удалять?

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

approve it!!!

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

спасибо :)

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

я хотел бы услышать мнения тех, кто приходит на лор. мне это интересно.

Прекрасно. Осталось теперь сформулировать вопрос и варианты так, чтобы было понятно насчёт чего их/наше мнение тебе интересно.

Выше я предложил один из вариантов, как можно это сделать.

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

я уже четверть века «оторван» от российского сообщества linux. ну, так уж сложилось. и мне действительно интересно, что думают «простые линуксоиды», такие же как я. я не пытаюсь там что-то заработать. я все еще русский линуксоид :)

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

Я же выше написал. Если речь об отношении ЛОРовцев к Rust в ядре, то:

Как насчёт в таком случае сменить сам вопрос на «Как вы относитесь к Rust в ядре Linux?» с вариантами, включающими «положительно», «отрицательно» и возможно какими-то ещё, или с различными уточнениями этих?

Если вопрос в другом (об отношении к Rust vs C вообще, неприменительно к ядру, или ещё в чём-то), то скажи, в чём именно.

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

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

я не с будуна его задал.

нет никакой провокации флейма. есть, немного, но можно легко добавить: «если бы вы были разработчиком ядра». это, кстати будет более конкретно. как вам?

да и кому это надо, кроме меня?

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

ты не поверишь, мой белый брат, что, currently c and rust are the languages used for linux kernel development. я могу чего-то не знать. убеди меня, что я не прав. мне будет наука.

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

@CrX всё это уже очень хорошо развернул.

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

мне интересна личная точка зрения, а не политика лора. «политику» лора я уже понял: «не читал, но осуждаю».

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

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

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

Он изначально не улавливается.

я не с будуна его задал.

Жаль. Это бы всё объяснило и дало надежду на улучшение.

нет никакой провокации флейма. есть, немного, но можно легко добавить: «если бы вы были разработчиком ядра». это, кстати будет более конкретно. как вам?

«Если бы вы были разоработчиком ядра, то…» «Rust спасёт от проблем с C». Великое могучие русская языка. Понятнее не стало, смысла не прибавилось.

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

вы цитируете кого? своего друга, который живет у вас в голове?

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

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

LINUX-ORG-RU ★★★★★
()

Тема, в принципе, интересная. Но поскольку для подтверждения нужна доработка напильником, а автор в ответ на вопросы, предложения и безобидные шутки начинает хамить – переношу в форум.

ТС, ты либо учись отвечать на конструктивную критику, либо опрос сделает кто-то другой.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)

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

Что за манеры вставлять одну и ту же затычку во все жопы?

Кто хочет ведро на расте - пусть пишет на расте, нет проблем.

windows10 ★★★★★
()

Лучше бы растофаги Redox активнее пилили. Линукс это вчерашний день.

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

для бизнеса он, точно, не годится.

Какое авторитетное заявление, однако!

А чё годится? А почему?

Если челик насобачен и имеет опыт - скорость написания сопоставима с Go. Только бинарник меньше и практически не течёт. Шляпа и тут случается, но явно меньше.

И пока ты тут мутишь воду, пацаны пишут уже (глянь, чё советует этот дядька: Alexei Starovoitov), и пишут в полный рост.

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

ТС, ты либо учись отвечать на конструктивную критику, либо опрос сделает кто-то другой.

Он отыгрывает Ник в LOR RPG ))

Eulenspiegel
()

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

JaneDoe
()

Правильно кто-то в списках рассылки какой-то *BSD сказал: на этом языке (Rust) пишутся блокчейны и проприетарные веб-сервисы. Где настоящий софт-то? Ну где хоть какие-то истории успеха?

Ну вот хоть что-то как-то используемое — alacritty.

Оно имеет 291 зависимость:

$ wget -q -O- https://raw.githubusercontent.com/alacritty/alacritty/refs/heads/master/Cargo.lock | grep -c -E '^\[\[package'
291

Это большая поверхность для supply chain attack.

Сравним с rxvt-unicode: последний зависит (как для сборки, так и для запуска) только от того, что есть в репозиториях Debian. 15 прямых зависимостей, как посчитать нормально кол-во непрямых, но которых нет в -minimal, не знаю, считайте сами.

Указывается также, что alacritty — fast, high-performance и т.п. Сравним с rxvt-unicode:

urxvt:

$ time dd if=/dev/zero bs=4096 count=$((16*1024)) of=/dev/stdout | tr '\0' 'x'
[skipped]
real	0m0.640s
user	0m0.016s
sys	0m0.209s

alacritty:

$ time dd if=/dev/zero bs=4096 count=$((16*1024)) of=/dev/stdout | tr '\0' 'x'
[skipped]
real	0m1.253s
user	0m0.023s
sys	0m0.238s

Т.е. alacritty в 1.95 раза медленнее, чем rxvt-unicode. ЧЯДНТ?

shdown
()
Последнее исправление: shdown (всего исправлений: 3)

По итогам обсуждения, включая удаленные, предлагаю всем, особенно ТС, пройти тест. Я 23% набрал, если что.

Vidrele ★★★★★
()

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

LightDiver ★★★★★
()

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

Поскольку от ядра «Линукса» требуется надёжная, предсказуемая работа без задержек, то будет лучше использовать тот язык программирования, программы на котором достигнут лучшего результата ценой наивысших умственных усилий. Суть данного подхода заключается в том, чтобы за счёт непреодолимых для дураков умственных усилий отобрать в состав разработчиков самых умных людей. А дальше умные люди сами сделают всё, как следует.

Образцом может служить «Гента» - сборка «Линукса» с непревзойдённой устойчивостью работы и скоростью отработки программных задач. Как ей это удаётся? - Просто глупые люди не осиливают установку и использование «Генты», а дальше всё происходит само собой, приводя к замечательным результатам.

Напрасно Линус Торвальдс согласился перейти на Си-99 в ядре «Линукса». Теперь всякие «лайкли/анлайкли» видны повсюду, что только усложняет работу компилятору.

Enthusiast ★★★
()

Питон(или тайпскрипт), чтобы быстрее на рынок успеть. А потом постепенно переписывать на руст.

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

Херня. Я осилил генту методом тупой настойчивости, нытья и бесконечных повторений. По принципу: «главное хотя бы минимальная рабочесть, а все проблемы пройдут сами собой, если достаточно долго ныть и ждать».

LightDiver ★★★★★
()
Последнее исправление: LightDiver (всего исправлений: 1)

Думаю нужно использовать javascript, python и php, можно еще баш добавить. Тогда все, даже самые тупые смогут коммитить в ядро, свобода как есть

masa ★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)