Live data from Hacker News

Ladybird adopts Rust, with help from AI

ladybird.org

661–670 of 731 posts

Re: Ladybird adopts Rust, with help from AI

#661
post #541

Earlier quoted context omitted.

In addition, C++ and Rust are very, very similar languages. Almost everything in C++ translates easily, including low level stuff and template shenanigans. There's only a few "oh shit there's no analog" things, like template specialization or virtual inheritance. Out of all the languages rust takes inspiration from, id rank C++ at the top of the list.

Strong disagree. Rust copied C++ syntax to avoid looking weird to C++ programmers, but the similarity is skin deep. C can be tamed, because it's mostly a subset of Rust, but C++ idioms are a death from papercuts. OOP, weakly-typed templates, and mutable aliasing create impedance mismatch in almost every C++ API. Rust doesn't have data inheritance, and what looks like interface inheritance is merely extra requirements…

Rust's OOP model fits perfectly into COM, WinRT, which is also OOP from CS point of view, and known for decades.

See Component Software: Beyond Object-Oriented Programming, first edition 2002.

Also the way Microsoft is implementing their windows-rs crate, and WDK for Rust.

Re: Ladybird adopts Rust, with help from AI

#662
post #660

Earlier quoted context omitted.

If I’m writing that anyway, to tell the LLM, why wouldn’t I just write the comment myself?

I guess to have the LLM write a lengthy descrption of why the code is bad? Otherwise it doesn't make sense to ask an LLM instead of typing // TODO: bad coding style.

Why do I want length? Good docs are terse. Longer isn't better. When I read docs I want to get to know the developer and what they're thinking. I want to see their vision, not their calculator. It's not about quantity, it's about quality.

Just give your users and fellow devs some basic respect. I mean would you be okay with me just handing our conversation over to an LLM? Honestly I'd be insulted if you did that. Why is this any different? Docs are how you communicate to users and fellow developers

Re: Ladybird adopts Rust, with help from AI

#663
A lot of the interest in Ladybird and its parent project, SerenityOS, stemmed from the bespoke, "from scratch" approach Andreas advocated. If they're going to start vibe-coding everything, then what's the point of the top-to-bottom wheel reinvention they're doing? E.g., why even bother maintaining their own, custom XML parser instead of using any of the multitude that already exist (including in Rust) if they're ultimately going to lean heavily on AI in the course of developing it, since that inherently involves laundering existing implementations?

This project, of all of them, throwing in the towel on AI makes me fear AI abstainers have no future.

Re: Ladybird adopts Rust, with help from AI

#664

Earlier quoted context omitted.

> I’ve been part of at least 2 successful rewrites. I think that Joel’s post is too often taken as gospel. Sometimes a rewrite is the best way forward. HN nerd-snipe alert! OK, you got me good. Can you share some battle stories? I have also been part of rewrites in my career, but my experience is mixed. I'm not here to simple brush away your experience; I want to know more about why you think (in retrospective) it wa…

Firefox, Opera and first Edge were rewrites.

Where are they now?

Re: Ladybird adopts Rust, with help from AI

#665
post #315

Earlier quoted context omitted.

I still don’t buy this “safer more modern” mentality. Modern C++ pretty much solves the safety issues. People need to learn how to use tools properly. If you ask me, Go is a better Rust. Rust is an ugly version of C++ with longer compile times and a band of zealous missionaries. I mean the keywords mut and fn very annoying to read just get rid of them or spell the f*n thing function.

If C++ died for services under Unix and medium sized indie games (such as I2PD, or Cataclysm DDA and its forks) and these where rewritten in Go the maintenance would be far greater in these projects. A GC, a much better cross compatibility and your code for sure could probably be compiled in 10 years. Also CDDA:Bn wouldn't damn need a > 40h long build using 1.5 GB of RAM under an n270 netbook. Ditto with Nchat, FFS,…

The reality of such platform is observable in Inferno and Plan 9, that had no C++ compilers, and while Alef failed in Plan 9, Limbo came to be in Inferno.

Likewise, trying to write pure C or C++ services in iOS or Android is more pain than gain.

Re: Ladybird adopts Rust, with help from AI

#666
post #660

Earlier quoted context omitted.

I guess to have the LLM write a lengthy descrption of why the code is bad? Otherwise it doesn't make sense to ask an LLM instead of typing // TODO: bad coding style.

Why do I want length? Good docs are terse. Longer isn't better. When I read docs I want to get to know the developer and what they're thinking. I want to see their vision, not their calculator. It's not about quantity, it's about quality. Just give your users and fellow devs some basic respect. I mean would you be okay with me just handing our conversation over to an LLM? Honestly I'd be insulted if you did that. Why…

Concision is one of several virtues in documentation, and it trades off against thoroughness. I don't actually want to get to know the developer when I read a comment in some piece of code I am reading or editing, I want to as quickly and accurately as possible understand what I need to know about that code to make the changes I care about at that time.

Anyway I personally have asked LLMs to create more detailed TODO items for myself, on personal projects where I am the only human programmer who had laid eyes on the code. In fact, I do this frequently, including multiple times earlier today. So I don't take the idea seriously that using an LLM to generate a TODO comment is an inherently disrespectful thing to do.

Re: Ladybird adopts Rust, with help from AI

#667
post #502

Earlier quoted context omitted.

It doesn't need to win the benchmarks Olympics, it needs to be fast enough. Plenty of AI based tooling is already trying out this path. Agents execute actions that in the past would be manually programmed applications, now tasks can be automated given a few mcp endpoints. LLMs are already at the same output quality of lousy offshoring companies, thus having to fix a bit of it is something that unfortunately many of u…

I feel like maybe we're drifting here. You said this: > Well, I am on the provocative side that as AI tooling matures current programming languages will slowly become irrelevant. And I said I disagree because language directly impacts things like performance. And it does, massively. Like, order of magnitude differences are not hard to achieve simply by changing language. You are now saying that things just need to be…

> And I said I disagree because language directly impacts things like performance. And it does, massively. Like, order of magnitude differences are not hard to achieve simply by changing language.

Only because you focus too much into the frontend, instead of the whole compiler infrastructure, with multiple frontends for the same compilation pipeline.

> I still am not understanding the offshoaring conversation.

Because you never had to review human written code by cheap offshoring teams, zero difference with LLM generated code quality, even today.

Re: Ladybird adopts Rust, with help from AI

#668
post #71

Earlier quoted context omitted.

Well, I am on the provocative side that as AI tooling matures current programming languages will slowly become irrelevant. I am already using low code tooling with agents for some projects, in iPaaS products.

Interesting take, what do you think comes next? A programming language optimized for coding agents?

Kind of, more in line with formal specs used in high integrity computing, instead of classical programming languages.

Re: Ladybird adopts Rust, with help from AI

#669

Earlier quoted context omitted.

You don't need to convince me that Swift is poorly positioned there, but if you only care about server side (or possibly CLI) apps, the usable ecosystem on Linux isn't too shabby. Does it make sense compared to C#, Go, Rust or a JVM language? I don't know, but it's there, and Apple put some resources behind the initiative.

I think it is comparable to C#, at least C# a decade or more ago. Back then it was a great language for developing GUI applications on Windows, Unity games, and that's about it. Now there's a blossoming community of cross-platform frameworks, but only because Microsoft invested in making those first-class. Apple hasn't been putting that effort into Swift.

Microsoft cross platform effort always pushed forward Web development and distributed systems, hardly "that's about it".

And if you mean before the whole .NET Core rewrite, many big corp server applications were already written in .NET, products like SharePoint, Sitecore, Optimizely, Dynamics 365, Four51,.... and plenty of server infrastructure for XBox and Windows games.

Re: Ladybird adopts Rust, with help from AI

#670
post #307
post #166

Earlier quoted context omitted.

Yet, they are open to further rewrites.

Your rant was about their loss of focus, not about them being open to other changes. Moving goalposts!

Not at all, on my book that is the same as losing focus.
Post reply on HN