LINUX.ORG.RU

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

 , , ,


0

5

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)
Ответ на: комментарий от Minoru

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

Неадекваты всегда были, есть и будут.

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

Разумеется мне нужны. Это же работодатели.

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

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

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

Вот смотри простой пример из прошлого. Допустим, у тебя есть поле, ты на нём растишь картошку (сам всё копаешь лопатой итд) чтобы потом её есть и не помереть с голоду. Потом тебе подарили трактор чтобы эту копку поля автоматизировать. И теперь тебе не нужно столько трудиться как раньше. Что подумает нормальный человек? Ура, можно отдохнуть или ещё чем-нить интересным заняться, а еду теперь проще сделать. Что подумает «работодателе-зависимый»? Какой ужас, мне теперь транжирить своё здоровье на копку поля не нужно.

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

Переписывать на другой язык до того как выпущен готовый к употреблению релиз? Ну удачи им...

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

Мне нравится

хочет просто писать в регистры

Вот что раздражает в тредах про Раст/ИИ/systemd/whatever - это какие-то вечные сентиментальные истории. Хочу, нравится, страшно, больно. Вам дали станок, который позволяет пилить эффективнее и отрубать себе меньше пальцев? Ну и какие вопросы? Нет, дальше начинаются изумительные истории про друга свата мужа двоюродной жены, который себе глаз выколол, почерпнутые 5 лет назад от таких же бакланов на форумах. И вообще, на старом станке тоже можно не отрубать пальцы, надо только заклеить себя изолентой, обмазаться электролитом из соплей девственницы и воскурить благовония.

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

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

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

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

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

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

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

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

Если плотно работаешь с кодом, каждый день, день за днем, год за годом

А Клинг раньше плотно писал на Расте? Или на Свифте?

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

Какая разница на чем? Программирование это архитектура и алгоритмы, а не язык. Язык это инструмент, дело привычки.

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

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

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

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

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

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

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

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

Не все относятся к программированию, как к работе на станке. Для некоторых это искусство, самовыражение своего «я».

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

Шутки шутками, но так поступили и в Го и эксперимент прошел удачно. Изначально рантайм Го и компилятор были написаны на С, потом их полуавтоматом (ещё до всяких ЛЛМ) конвертировали в Го.

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

Это проходит после 100-200-1000 повторений одного и того же. Программирование это в основном автоматизация шаблонов. Ты начинаешь видеть закономерности и понимать что ты это уже делал и можно не делать. Оно уже есть. Если ты сделал что то один раз - не надо делать это второй раз.

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

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

Можно взять отвертку, а можно шуруповерт.

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

Нууу.. Шуруп, забитый молотком держит лучше гвоздя, закрученного отверткой. Но не делай так никому на заказ - только для себя. А лучше позови профессионала.

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

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

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

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

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

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

Ну ты говоришь, что ИИ может выполнять работу программиста. Это то же самое, что сказать, что IDE может выполнять работу программиста. Такая же ересь.

ИИ это инстурмент. Это то, при помощи чего программист что то может создать. Как инструмент может заменить мастера?

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

А в случае нейросетей текущие спецы будут выкинуты нахрен

Если тебя можно заменить нейросетью, то ты не специалист, а обезьяна с компьютером.

А бананом сыт не будешь.

А куда ты денешься?

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

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

Не думаю.

А сложность языков сильно преувеличена

Так или иначе несколько лет ежедневного кодирования/чтения/ревью нужно.

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

Если тебя можно заменить нейросетью, то ты не специалист, а обезьяна с компьютером.

Пока нельзя, но и развитие нейронок не стоит на месте.

А куда ты денешься?

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

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

Ну ты говоришь, что ИИ может выполнять работу программиста. Это то же самое, что сказать, что IDE может выполнять работу программиста. Такая же ересь.

ИИ это инстурмент. Это то, при помощи чего программист что то может создать. Как инструмент может заменить мастера?

Если развитие ИИ приведет к тому то вместо команды тимлид + 10 человек нужна будет команда тимлид + аккаунт в каком нибудь ИИ ассистенте, то все-таки все иначе.

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

Да пусть переписывают хоть целиком на брейнфак с помощью роботов-пылесосов, кто им всерьез пользуется вообще.

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

Когда то трактор заменил сотни крестьян с лошадьми. Когда то тысячи живых «компьютеров» были заменены электронными. Это плохо?

Мне тут рассказывали, как когда то ручной пилой мастер один тут за день 15 кубов дров пилил. А теперь все это можно сделать бензопилой за минуту. Это плохо?

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

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

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

Очень надеюсь что такое вымрет. Я два года потратил на такое в аддонах для вов. Часами копаешься в апи, в интернетиках, в документации, чтобы найти что и как сделать. Потом оказывается, что есть совсем другие возможности, а ты делал через жопу. С приходом ИИ просто запрашиваешь возможность, выбираешь варианты и делаешь. То что раньше я делал 2-4 недели, сейчас делаю за минуты.

И опять же про дедов. Вокруг были профессионалы. Те кто тоже потратил годы на такое и уже знал, как это сделать. Как ты думаешь - кто то подсказал что то? Нет, меня просто называли ламером и посылали. Приходилось импровизировать. Вот они сейчас всеми щупальцами против ИИ. Потому что годы их самоудовлетворения просто уходят вникуда.

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

Видимо, в гроб вслед за ОС

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

Я и говорю: капитализм виноват. Именно из-за него ты живёшь в парадигме «надо продавать что-то там чтобы не умереть с голоду», и боишься лишиться рынка сбыта своей текущей продукции. Вместо правильного «надо применять свои умения на пользу обществу, а доступность еды обеспечат те кто отвечает за еду». Тогда, даже если твои текущие умения вдруг станут неактуальными, еду у тебя никто не отнимет, а ты просто безо всякой паники научишься чему-то ещё, а как научишься - опять начнёшь приносить пользу обществу.

Но, повторю, к ситуации с ИИ это всё не относится. ИИ никакую полезную работу выполнять не может, это чисто (в контексте программирования) инструмент для незаметного воровства и компиляции (не в ИТ смысле а в бытовом) чужого кода, ничего нового он создать не может. Если твоя работа заключалась в том же самом, что тут описано - ну, её и правда стоило бы прекратить.

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

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

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

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

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

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

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

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

Опять таки, твоя тракторная аналогия не совсем про то. При появлении трактора крестьяне не лишились работы. Они смогли обрабатывать больше или столько же но быстрее.

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

И опять же про дедов

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

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

Это слишком высокая философия.

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

Это можно выкручивать по разному конечно. Типа вот ты адепт концепции «все общее», хорошо, а тогда какого фига ИИ не раздают бесплатно? Ну т.е. в виде комплектов для установки на локальные компы. Чтобы не нужно было подписку покупать, чтобы без интернета работало и т.п. Какого фига они зарабатывают на количестве запросов и прочее… Это ж бесплатно должно быть и для всех, не? Почему закрывают доступ к тому же копилоту для некотороых стран? Общее же…

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

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

Но, повторю, к ситуации с ИИ это всё не относится. ИИ никакую полезную работу выполнять не может

Ну ускорение работы - это тоже польза. Если бы мы жили при коммунизме разумеется.

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

Ну и ты учился на коде, написанном кем то, жил в созданном кем то читал книги, написанные кем то. Без этого всего ничего не получится.

Я не адепт того, что все общее. Но я адепт объективной реальности. Пока ты можешь зарабатывать на том, что предоставляешь только ты - без проблем. Это твой товар, твой труд - зарабатывай. Но когда ты начинаешь запрещать мне делать то, что я могу делать - тут у нас уже с тобой возникнет конфликт.

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

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

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

При появлении ИИ программисты не лишились работы внезапно. Они просто могут обрабатывать больше кода или столько же, но быстрее.

Ты просто считаешь, что отрасль зациклилась на одном месте и не растет. А отрасли не нужно столько же, но быстрее. Отрасли надо больше за более короткие сроки.

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

Типа вот ты адепт концепции «все общее», хорошо, а тогда какого фига ИИ не раздают бесплатно?

Они не просто не раздают, они ещё и возмущаются когда их самих копилотят: https://www.kommersant.ru/doc/8460957

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

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

LightDiver ★★★★★
()

3.1415926ец

Был браузер и нет браузера

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

Не лишились пока ИИ ещё не настолько хорош.

А вот про отрасль… А с чего бы ей расти? Кризисы, рост неравенства, меньше платежеспособных клиентов. Хз.

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

А если девелопер то что? Боишься что ИИ начнет писать качественный код?

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

Это ты на основе сколько лет опыта рассуждаешь? Давай посмотрим последние тысяч 7 лет цивилизации. Как там с ростом неравенства и платежеспособности?

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