LINUX.ORG.RU
ФорумTalks

bcachefs + Rust = ня!

 , ,


0

6

Я вот задумался, есть ли у нас тут кто-то, кто питает нежные чувства к bcachefs, но недолюбливает раст? Потому что у меня для вас есть топливо для пердаков сюрприз:

From: Kent Overstreet <kent.overstreet-AT-linux.dev>

I think someone was working on that? But I’d prefer that not to be a condition of merging the VFS interfaces; we’ve got multiple new Rust filesystems being implemented and I’m also planning on merging Rust bcachefs code next merge window.

:-)

★★★★★

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

Ответ на: комментарий от u5er

Ядро на расте никто не переписывает.

Уже подвижки есть так-то.

https://www.opennet.ru/opennews/art.shtml?num=58735

https://www.opennet.ru/opennews/art.shtml?num=60303

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

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

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

4.2

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

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

А в фф раст-кода уже очень много

Прям в релизах? Серво какой-то пилили, но дальше test-demo-prealpha оно не пошло afaik

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

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

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

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

Вон тот же fish-shell начали переписывать год назад - ну и что, привлекли они кого-то?

Ну ты не сравнивай всемирно известное и используемое ядро, и какой-то околононейм posix-несовместимый шелл.

firkax ★★★★★
()
Ответ на: комментарий от yu-boot

На ржавом уже гуйню пишут?

Ну фф это гуи и есть, а раст в первую очередь для него делали.

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

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

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

Да, прям в релизах. Webrender практически целиком на нём например, в 91.х уже так было а может и раньше. А вообще скачай исходники и посмотри сколько там файлов и байт в *.rs.

Серво какой-то пилили

С этими названиями у них и правда что-то непонятное. Я по крайней мере так до конца и не понял. Мне кажется это больше маркетинг с придумыванием названий. Они вот шумели что с gecko на другой движок переходят (ещё до раста), потом что xul «выкидывают», итд, а по факту gecko никуда не делся (см. исходники), и главная библиотека фф до сих пор называется libxul.so. Слово servo наверно тоже встречается (не помню).

firkax ★★★★★
()
Ответ на: комментарий от yu-boot

Почему C++ нельзя понять можно (в нём слишком много неявного кода в разных аспектах). Есть ли эти недостатки у раста - я не знаю (не знаю язык). Возможно, внедрятели тоже не знают и поэтому его не боятся. А может быть всё дело в том, что С++ слишком похож на Си и может возникнуть путаница, а с растом будет чётко видна граница.

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

Раст внедряют сишники, да, не не потому что им надоел Си.

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

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

В смысле не надоел? Мне вот надоел, а я на сишечке дохрена писал раньше

Ты разработчик ядра?

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

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

yu-boot ★★★★★
()
Ответ на: комментарий от FishHook

а вы лично чем зарабатываете на жизнь?

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

надо полагать вы примерно P6-P7 SDE раз можете судить о квалификации 95% других разработчиков

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

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

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

Я не писал «инициативно внедрять везде асм»

Его наоборот может тянуть заменять Си-код на ассемблер, но нельзя т.к. нарушается кроссплатформенность

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

но Си, за неимением соответствующего оператора, приходится городить выражения вида (x >> a) | (x << (sizeof(x)*8-a)), при этом вспоминая, не будет ли UB, если a окажется равным нулю, и не надо ли ещё навернуть бесполезных формул

Это проблемы Си, а не высокоуровневых языков вообще.

Ещё некрасивее будет если циклически сдвинуть надо число, битовая длина которого вдвое больше чем у максимально поддерживаемого int-а

Как часто такие задачи возникают при разработке ядра операционной системы?

hateWin ★☆
()
Ответ на: комментарий от yu-boot

Сишка подкупает простотой и минимализмом

Такое может написать только тот, кто нихрена не знает Си. Потому что Си НИХРЕНА НЕ ПРОСТОЙ ЯЗЫК.

Плюс генерит полноценный нативный код без житов, vm и интерпретаторов.

Как и Rust.

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

Такое может написать только тот, кто нихрена не знает Си. Потому что Си НИХРЕНА НЕ ПРОСТОЙ ЯЗЫК.

Открыть исходники мелких приложений под линукс мне ничего не стоит, там нет такой зауми как в крестах. Я хотя бы могу осмысленно этот код править. В сишке недостаток, что всё-всё-всё, каждую мелочь, за комп должен думать человек. В 21 веке юзать язык, где нет monday+1=tuesday и врукопашную обрабатывать ошибки - ну такое.

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

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

yu-boot ★★★★★
()
Ответ на: комментарий от Lrrr

тут не надо много ума чтобы понять

ага, то есть ума нет

Системным программированием, маня, в основном на Си.

слова-слова, где конкретика то? Какие проекты, какие организации. Может ты болгенос какой за системное программирование выдаёшь, кто ж тебя знает

высокая позиция в каком-нибудь гугле может что-то сказать об авторитете и квалификации?

а что может сказать? Оценивают по делам, по делам же и позиции дают. Вижу, вижу обиженого задрота, которого «недооценили» тупые манагеры.

Кстати, макака

посмотрите на него, какой экспрессивный

FishHook
()
Ответ на: комментарий от hateWin

Если программиста тянет переписать на асме что попало, этот программист некомпетентен.

Что попало - у тебя в голове, хватит мне приписывать свои фантазии.

Это проблемы Си, а не высокоуровневых языков вообще.

Ну да, а что мне, проблемы бейсика в обсуждении желания замены Си на ассемблер приводить?

Как часто такие задачи возникают при разработке ядра операционной системы?

Во-первых, это были всего лишь примеры, ими дело не ограничивается. Во-вторых, да, не сильно часто, но бывает. О чём я и написал. Ещё раз, я не писал «избавляться от Си и писать всё на асме».

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

Так неинтересно, оно само из даты должно понимать, где monday и где tuesday. Можно ещё лучше, «31-12-2023»+1=«01-01-2024». В «хороших языках» такой удобной работы с датами и календарём не завезли, а некоторые даже считают такие удобства чем-то плохим.

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

@firkax

я не писал «избавляться от Си и писать всё на асме».

В обоих языках есть ассемблерные вставки.

FishHook
()
Ответ на: комментарий от firkax

Что попало - у тебя в голове

Его наоборот может тянуть заменять Си-код на ассемблер, но нельзя т.к. нарушается кроссплатформенность

Сколько раз мне нужно ткнуть тебя носом в твои же слова?

Ну да, а что мне, проблемы бейсика в обсуждении желания замены Си на ассемблер приводить?

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

Ещё раз, я не писал «избавляться от Си и писать всё на асме».

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

hateWin ★☆
()
Последнее исправление: hateWin (всего исправлений: 1)
Ответ на: комментарий от yu-boot

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

Лютобешено плюсую, но только в той области, которая не предполагает объектной модели. Если предполагает - всё становится не столь однозначно. Обработка ошибок по-прежнему боль, но хотя бы ООП на модель хорошо ложится.

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

Сколько раз мне нужно ткнуть тебя носом в твои же слова?

Ты так и не привёл цитату где я заявлял о замене «чего попало». Если ты считаешь, что таковой является «Его наоборот может тянуть заменять Си-код на ассемблер», то ты просто неправильно её понял, и мне кажется что проблема тут на твоей стороне, а объяснил я вполне понятно.

У тебя логика отклеилась. Тот факт, что в Си элементарные вещи делаются через сраку говорит только о том, что Си нужно выбросить

Речь шла только о Си/асм, другие языки вообще в том утверждении не затрагивались.

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

Ты опять врёшь. Я как раз писал что асм-вставки делать нельзя т.к. страдает кроссплатформенность.

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

Ты так и не привёл цитату где я заявлял о замене «чего попало»

Твоя цитата про «квалифицированного программиста тянет переписать» – это оно и есть.

Речь шла только о Си/асм, другие языки вообще в том утверждении не затрагивались

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

Ты опять врёшь. Я как раз писал что асм-вставки делать нельзя т.к. страдает кроссплатформенность

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

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

@firkax

окей, мы друг-друга не поняли, давайте сначала

Но квалифицированного системного программиста воротить от Си не может.

Прокомментируйте, пожалуйста, почему при всех известных недостатках Си квалицированного программиста «не может воротить»

FishHook
()
Ответ на: комментарий от firkax

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

Это твое личное мнение или откуда дровишки?

untitl3d
()
Ответ на: комментарий от tiinn

Так а объектная модель где, кроме GUI и логики в играх? Можно конечно логику разбить на «модули» и сделать подобие микросервисов без сети, но тогда объектов каждого класса будет по 1 штучке. Вопрос - а ООП тогда зачем?

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

Так а объектная модель где

Да где угодно. Вот как только захотелось передать в функцию два параметра: указатель и размер массива, сразу появляется мысль про объектную модель

FishHook
()
Ответ на: комментарий от yu-boot

ООП нужно для реализации принципа don’t repeat yourself. ООП позволяет естественным образом описать семейство объектов, к которым применимы определенные операции, и при этой ввести для определенных объектов необходимые коррективы, не перелопачивая весь код.

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

ООП нужно для реализации принципа don’t repeat yourself.

нет

FishHook
()
Ответ на: комментарий от hateWin

Очень далеко не всё ты сможешь в режиме drop-in применить в другом месте. И непонятно, чем такое DRY будет отличаться от готовой функции. Если последняя написана прямыми руками, это тоже будет чёрный ящик со стандартизированным I/O и внутренней логикой.

yu-boot ★★★★★
()
Ответ на: комментарий от peregrine

А чем плоха удобная работа с календарём? Какой смысл велосипедить дни недели, переходы через месяц и вот это всё?

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

А чем плоха удобная работа с календарём?

Удобство - это хорошо. А вот злоупотребление кастомными операторами - плохо. Особенно нехорошо когда оператор применяется к сущностям разных типов. И конеретно в этом примере:

  1. Sunday > Monday
  2. Sunday + 1 == Monday

Значит:

  1. Sunday + 1 < Sunday

ну бред же

FishHook
()
Ответ на: комментарий от hateWin

Твоя цитата про «квалифицированного программиста тянет переписать» – это оно и есть.

Нет.

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

Хорошо. Кому как. Лично для меня нормальный язык это Си, а недостатки есть у всех.

Я тебе пишу, что такого желания у нормального программиста быть не должно

«Надо подпирать» и «возникает желание подпирать» - это совсем разные вещи. Ну и тут у нас расхождение во взглядах выходит.

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

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

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

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

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

Си это язык, наиболее близкий к машинному коду из языков высокого уровня, и это достоинство

Наиболее близкий к машинному коду какой, простите, машины? И почему это достоинство? Если более высокоуровневый язык компилируется в столь же производительный машинный код, то что? Поясните, что вы имеете в виду вообще

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

Любой.

Потому.

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

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

возникает желание подпирать

А я говорю, что у квалифицированного программиста такого желания не возникнет.

Лично для меня нормальный язык это Си

Ты сам привел пример кривости Си.

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

Си это язык, наиболее близкий к машинному коду из языков высокого уровня

Это чушь

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