LINUX.ORG.RU

Части Ladybird переписывают на Rust при помощи LLM

 , , ,


0

6

Ladybird переходит на частичное использование Rust вместо C++. Разработчики давно искали memory-safe альтернативу: Swift не подошёл из-за слабых возможностей взаимодействия с C++ и ограниченной поддержки вне Apple. Rust оказался лучше: зрелая экосистема, многие контрибьюторы уже знают язык, а Firefox и Chromium уже используют его.

Первым портировали LibJS — движок JavaScript (лексер, парсер, AST, генератор байткода). Работу вёл человек с помощью Claude Code и Codex: ~25 000 строк Rust за две недели вместо нескольких месяцев вручную. Результат — полная идентичность выходных данных с C++-версией, ноль регрессий в тестах (52 898 тестов test262, 12 461 собственных тестов).

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

>>> ladybird.org



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

И вообще, на старом станке тоже можно не отрубать пальцы

Да, 100 % можно.

надо только

Работать надо уметь, а не рассказывать, какой ты «крутой специалист». В общем, дело надо делать, а не трындеть.

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

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

Ну, или так - для бездельников и бездарей, не желающих учиться и осваивать свою профессию и имеющийся «инструмент».

«Программы пишут не компиляторы, а программисты» ©

Не помню уже, кто это сказал, но полностью с этим согласен...

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

Страуструпу нужно было запилить докторскую.

На Assembler'е... :))

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

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

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

почерпнутые 5 лет назад от таких же бакланов на форумах

Дело в том что бакланы на пике своих когнитивных способностей (в ВУЗе) с трудом, худо-бедно, но поняли сишечку. Идея учиться снова вызывает у них животный ужас.

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

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

Иллюзия всеобщей полезной занятости возникает только из-за всеобщего бардака и производства мусора.

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

Это даже забавно наблюдать - как вы окукливаетесь в своем изолированном мирке, кроме которого вроде как ничего и не существует. А точнее - это ты не видишь ничего кроме своего ограниченного мирка.

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

Не знаю даже с чем это сравнить.. Будто витамины и ферменты в организме думали бы, что они и есть весь организм.

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

Ты совершенно не понял что я написал и ответил малоосмысленным текстом. Подозреваю что это как-то связано с твоим подсаживанием на всякие гпт.

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

Я отлично понял о чем ты.

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

Попробуй скорми наш диалог всякип ГПТ, скорее всего они поймут и о чем я и о чем ты. И тебе объяснят.

LightDiver ★★★★★
()

А что, плюсы на умных указателях и приправленные статическим анализатором не достаточно мемори сейф?

arthas
()
Ответ на: комментарий от arthas
#include <memory>
#include <iostream>

void process(std::shared_ptr<int> ptr) {
    int* raw = ptr.get();
    delete raw;
    std::cout << *ptr;
}

int main() {
    process(std::make_shared<int>(42));
    return 0;
}
fn process(ptr: std::rc::Rc<i32>) {
    // Невозможно получить сырой указатель и удалить память вручную безопасно
    // Невозможно создать алиас для мутации, если есть другие ссылки
    println!("{}", *ptr); 
}

fn main() {
    let rc = std::rc::Rc::new(42);
    process(rc.clone());
    println!("{}", *rc);
}
LightDiver ★★★★★
()
Ответ на: комментарий от rumgot

Ещё как лишились. Поэтому большая часть уехала в города где большая часть стала рабочими. Потом и рабочих надо стало меньше…

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

Вот только людей стало больше раз в шесть только за сто лет. Тем не менее, жить стало лучше большинству. Чуешь к чему я? Сельском хозяйстве народу стало меньше на 97,5%, но у нас нет этих 97,5% безработных.

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

А что, плюсы на умных указателях и приправленные статическим анализатором не достаточно мемори сейф?

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

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

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

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

Плюсы в связке с Core Guidelines и инструментами статического анализа позволяют писать крепкий С++ код. Другое дело, что далеко не все хотят в этом направлении развиваться/копать. Молодым так вообще проще на срусте писать и голову себе крестами не морочить.

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

Потому что накопившие столько, сколько их семьи не смогут прожрать за 10 жизней, все никак не могут нажраться. Попытки продажи копий информации - из этого же раздела. Бывает. Это все старый и известный косяк, может и пронесет.

Или ты считаешь себя настолько уникальным? Жили жили, развивались, и вдруг конкретно на тебе все сломается?

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

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

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

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

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

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

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

Цивилизация уже не раз заходила в тупик и деградировала.

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

Да, но умные указатели решают проблемы сырых указателей, когда их используют правильно. А ты спецом написал через одно место. Но ведь по такой логике и на раст можно написать спецом какой-нить говнокод с использованием unsafe.

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

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

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

Почему ты не читаешь ветку обсуждения?

Быто так:

Части Ladybird переписывают на Rust при помощи LLM (комментарий)

А как можно «украсть» чужой код? Ты чтоли что то новое создал?

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

Закон сохранения энерги в принципе отрицает возможность создать что то новое. Ты можешь комбинировать старое.

Кодовладельцы блин.

И мой ответ про бесплатное и автономное распостранение нейронок и соответствующих инструментов - как раз про это.

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

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

Мне вот интересно, а вот эти вот ребята, вроде вас, которые не только поют хвалебные оды ИИ, но и извергают из себя мудрость, как будто бы познали смысл всего сущего, они уже имеют план «Б» для того, чтобы найти себе место после того, как ИИ лишит их работы?

Вот вы, например, не в белом пальто, судя по вашим словам. Чем заниматься планируете?

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

На каком ещё гите?

На гитхабе, где опенсурсы лежат. Опечатка.

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

буду стараться заработать на большее

Комментами на ЛОРе? Что-то я уже сомневаюсь в твоём успехе :-D

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

Михаила Вишневского? )

Так даже лучше :-D

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

Чем заниматься планируете?

Например, поеду в Такла-Макан сажать деревья, ну или дроны чинить, которые капсулы с ростками в землю выстреливают. Там планы до 2050-го года. А если совсем работы не останется, то ходить на демонстрации, требовать универсальный базовый доход.

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

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

с трудом, худо-бедно, но поняли сишечку.

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

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

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

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

имеют план «Б» для того, чтобы найти себе место после того, как ИИ лишит их работы?

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

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

Да, но умные указатели решают проблемы сырых указателей

Неа, в плюсах так себе решают, больше психологически чем технически. Ну и зерокост теряется, даже у std::unique_ptr.

когда их используют правильно

Самая, наверно, демагогичная фраза. У этого «правильно» может на порядки различаться стоимость обеспечения. И вот эти С/С++ давно бессмысленно дороги и пердолинг с ними никак себя не окупает.

спецом какой-нить говнокод с использованием unsafe.

Додумай уже до конца, и вот там будет ответ почему раст а не потомки сишки и прочих бейсиков. И нет, unsafe в языке не для того чтобы хакирочки потом попрекали его наличием, гыгыкали и тупо высчитывали количество ансейфов на душу населения на количество строк кода

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

Хорошо, что мне твои сомнения - как слону дробина

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

Ну и зерокост теряется, даже у std::unique_ptr.

У вас какой-то свой термин «zero cost», не такой, как в C++.

И нет, unsafe в языке не для того чтобы хакирочки потом попрекали его наличием

Он там потому, что программировать на исключительно safe Rust-ов невозможно чисто теоритически.

Мне вот интересно, вам доплачивают за то, что вы бегаете по темам, где упоминается C++ и всем доказываете насколько он плох? Или вы из тех, кому C++ таки насрал в шаровары и вы этого до сих пор простить не можете?

Чай не 1990-е годы, когда выбора особого не было. Сейчас у вас есть Rust, пишите на нём, получайте удовольствие и живите щастливо. Оставьте плюсики сирым и убогим, вроде меня.

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

Да легко. Буду писать на раст. Сишники как раз потеряют работу к тому времени, а учиться новому не хотят, новых джунов уже не берут, значит не будет мидлов и сеньоров. И тут выйду я с растом и ИИшкой. А? Как тебе план?

LightDiver ★★★★★
()
Последнее исправление: LightDiver (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.