Live data from Hacker News

Ladybird adopts Rust, with help from AI

ladybird.org

191–200 of 731 posts

Re: Ladybird adopts Rust, with help from AI

#191
post #154

Earlier quoted context omitted.

Unfortunately a really good question gets downvoted instead of causing a relevant discussion, as so often in recent HN. It would be really interesting to know, why Ada would not be considered for such a large project, especially now when the code is translated with LLMs, as you say. I was never really comfortable that they were going for the most recent C++ versions, since there are still too many differences and uni…

I personally think that people might've framed it as use Ada/D over rust comment which might have the HN people who prefer rust to respond with downvotes. I agree that, this might be wrong behaviour and I don't think its any fault of rust itself which itself could be a blanket statement imo. There's nuance in both sides of discussions. Coming to the main point, I feel like the real reason could be that rust is this s…

> which might have the HN people who prefer rust to respond with downvotes.

This completely misses the purpose of the downvoting feature, which is not surprising, since upvoting seems no longer to indicate quality or truth of the comment neither.

> rust is this sort of equilibra that the world has reached for, especially security related projects

Which is amazing, since Rust only covers a fraction of safety/security concerns covered by Ada/SPARK. Of course this language has some legacy issues (e.g. the physical separation of interface and body in two separate files; we have better solutions today), but it is still in development and more robust than the C/C++ (and likely Rust) toolchain. And in the age of LLMs, robustness and features of a toolchain should matter more than the language syntax/semantics.

> Rust does seem to be good enough for this use case.

If you compare it to the very recend C++ implementations they are using, I tend to agree. But if you compare it to a much more mature technology like e.g. Ada, I have my doubts.

Re: Ladybird adopts Rust, with help from AI

#192
Looks like Andreas is a mighty fine engineer, but he's even better entrepreneur. Doesn't matter if intentional or not, but he managed to create and lead a rather visible passion project, attract many contributors and use that project's momentum to detach Ladybird into a separate endeavor with much more concrete financial prospects.

The Jakt -> Swift -> Rust pivots look like the same thing on a different level. The initial change to Swift was surely motivated by potential industry support gain (i believe it was a dubious choice from purely engineering standpoint).

It's awe-inspiring to see how a person can carve a job for himself, leverage hobbyists'/hackers' interest and contributions, attract industry attention and sponsors all while doing the thing he likes (assuming, browsers are his thing) in a controlling position.

Can't fully rationalize the feeling, but all of this makes me slightly wary. Doesn't make it less cool to observe from a side, though.

Re: Ladybird adopts Rust, with help from AI

#193
post #160

Earlier quoted context omitted.

Not the case with spark. But I understand it requires writing lot of things from scratch for browsers. But I don’t think portability will be an issue with Ada, it is cross platform. However, this is where d shines. D has a mature ecosystem. Offers first class cpp abi and provides memory safety guarantees, which the blog mentioned as a primary factor. And d is similar to cpp, low barrier for cpp devs to pick up.

There's no dynamic memory allocation with (100%) Spark. That's really limiting. You can to write "unsafe" code, but that has the same problems as Ada.

That is true for parsers like libjs, but again crypto module or even networking, can still be written in spark, which is much more safety critical.

Re: Ladybird adopts Rust, with help from AI

#194

Earlier quoted context omitted.

I thought the term was "agentic engineering"

I like "spec driven development" but I honestly don't care what you call it, just let me build things and leave me alone. :)

SDD is more like a subset. There are different ways to manage context in agentic engineering

Re: Ladybird adopts Rust, with help from AI

#195
post #160

Earlier quoted context omitted.

Not the case with spark. But I understand it requires writing lot of things from scratch for browsers. But I don’t think portability will be an issue with Ada, it is cross platform. However, this is where d shines. D has a mature ecosystem. Offers first class cpp abi and provides memory safety guarantees, which the blog mentioned as a primary factor. And d is similar to cpp, low barrier for cpp devs to pick up.

There's no dynamic memory allocation with (100%) Spark. That's really limiting. You can to write "unsafe" code, but that has the same problems as Ada.

SPARK is not used for the whole system, but for the < 5% parts, which are safety/security-related in a good architecture.

Re: Ladybird adopts Rust, with help from AI

#196

Earlier quoted context omitted.

That’s probably just the classic HackerNews title shortening algorithm at work.

> classic HackerNews title shortening algorithm Woah, this is a wild claim. @dang: Is this a thing? I don't believe it. I, myself, have submitted many articles and never once did I see some auto-magical "title shortening algorithm" at work!

I've seen it happen a couple times, iirc, it removes things after commas, and removes certain words as well

Re: Ladybird adopts Rust, with help from AI

#197
post #69

All the best to them, however this feels like yah shaving instead of focusing into delivering a browser than can become an alternative to Safari/Chrome duopoly.

Javascript is a self contained sub system, if the public API stays the same, then they can rewrite as much as they want, also I suppose this engine now will attract new contributors that will want to contribute to Ladybird just because they enjoy working with Rust.

Don't forget that the Rust ecosystem around browsers is growing, Firefox already uses it for their CSS engine[0], AFAIK Chrome JPEG XL implementation is written in Rust.

So I don't see how this could be seen as a negative move, I don't think sharing libraries in C++ is as easy as in Rust.

[0] https://github.com/servo/stylo

Re: Ladybird adopts Rust, with help from AI

#198
post #154

Is there any discussion on why D or even Ada was not considered? These languages have been around for long time. If they were willing to use llm to break the initial barrier to entry for a new language, then a case can be made for these languages as well.

Unfortunately a really good question gets downvoted instead of causing a relevant discussion, as so often in recent HN. It would be really interesting to know, why Ada would not be considered for such a large project, especially now when the code is translated with LLMs, as you say. I was never really comfortable that they were going for the most recent C++ versions, since there are still too many differences and uni…

Unfortunately some folks do get bit sensitive on rust, that can be off putting.

But what I wanted to know was about evaluation with other languages, because Andreas has written complex software.

His insight might become enriching as to shortcomings or other issues which developers not that high up in the chain, may not have encountered.

Ultimately, that will only help others to understand how to write better software or think about scalability.

Re: Ladybird adopts Rust, with help from AI

#199

Earlier quoted context omitted.

Rust is the final language. Defect free. Immaculate types. Safe. Ergonomic. Beautiful to read. AI is going to be writing a lot of Rust. The final arguments of "rust is hard to write" are going to quiet down. This makes it even more accessible.

> Rust is the final language. I honestly can't tell if this is a humorous attack or not. Poe's law is validated once again.

It's honest. If we can serialize our ideas to any language for durability, Rust is the way to go.

It's not the best tool for the job for a lot of things, but if the LLMs make writing it as fast as anything else - whelp, I can't see any reason not to do it in Rust.

If you get any language outputs "for free", Rust is the way to go.

I've been using Claude to go ridiculously fast in Rust recently. In the pre-LLM years I wrote a lot of Rust, but it definitely was a slow to author language. Claude helps me produce it as fast as I can think. I spend most of my time reviewing the code and making small fixes and refactors. It's great.

Re: Ladybird adopts Rust, with help from AI

#200

> We previously explored Swift, but the C++ interop never quite got there, and platform support outside the Apple ecosystem was limited. Why was there ever any expectation for Swift having good platform support outside Apple? This should have been (and was to me) already obvious when they originally announced moving to Swift.

Apple’s own marketing speak has Swift as a cross platform language. Just like, I suppose, C# is a cross platform language. Apple puts zero resources into making that claim reality, however.

Apple actually did put some resources behind it, the toolchain is reasonably pleasant to use outside macOS and Xcode, they have people building an ecosystem in the Swift Server Workgroup, and arguably some recent language design decisions don't seem to be purely motivated by desktop/mobile usage.

But in the end I can't help but feel Swift has become an absolute beast of a multi-paradigm language with even worse compile times than Rust or C++ for dubious ergonomics gains.

Post reply on HN