Remix.run Logo
Timwi 5 days ago

I did actually watch a friend compile and run it, and we tried it on a couple of simple web pages and were impressed with the results!

However, there are two barriers to me building it myself and submitting PRs. The first is that it's not officially supported to build or run on Windows, so I'd have to get familiar with WSL first or set up a dual-boot environment.

The second is that it's written in the obsolete and unusable language of C++. I would have loved an opportunity here to get into Rust or something, but C++ has proven itself hazardous to my mental health, so I'm staying away from it.

emilbratt 4 days ago | parent | next [-]

I love Rust, but I do not like how people are rust evangelists and look down on everything else. That is not how we in the Rust community look at things.

Now, with that out of the way. Andreas has been very clear about the reasons why C++ is the chosen language. He has years of experience with it along with writing browsers.

Im paraphrasing here, but he has said that the web evolved around the era of OOP and C++ is the OOP language of that era. Including statements on how C++ fits nicely with the OOP styles of web specs.

robin_reala 5 days ago | parent | prev | next [-]

There’s always the option of contributing to Servo if you’re interested in Rust and browser engineering.

jeroenhd 4 days ago | parent | prev | next [-]

For the WSL part: that's one command in powershell/cmd and then a download from the Microsoft store. You won't find it challenging, there's not much more to it than that in 99% of cases (and if you do run into issues, there are probably better alternatives to trying to fix WSL anyway).

As for C++, Ladybird uses very modern C++ that makes it substantially easier to write reasonably safe code than the C++ of yore.

Still, as much as I would like to see the world move to safer languages, C++ is everywhere. Every major browser is written in it. It's not "unusable" in the slightest (though I certainly understand not wanting to learn C++ as an outsider at this point in time, it's a quite boring language in comparison and the C++ job market probably won't let you make use of modern language features that might make it interesting).

I would love to live in a world where projects with security risks like web browsers would "just" use Rust instead of C++ but you'll have to convince the people building the browser to spend their own time or their bosses' time to learn Rust first, and that's a tough sell.

There's Servo if you want to contribute to an open source browser in Rust. It looks like it can certainly use the help it you compare its development speed with Ladybird.

xdfgh1112 4 days ago | parent | prev | next [-]

Unusable yet people have written a browser in it?

skrebbel 4 days ago | parent [-]

Four browsers!

rs186 4 days ago | parent | prev | next [-]

I don't know which bubble you are in, but C++ is nowhere near obsolete status. As much as want Rust to be adopted widely, that still hasn't happened, despite small-scale effort to sprinkle it in various projects.

skrebbel 4 days ago | parent | prev | next [-]

> The second is that it's written in the obsolete and unusable language of C++.

Oh come on. There's nicer ways to say "I'm not good at it". It's OK you know, you can't be good at everything. Just don't make it other people's fault.

tormeh 4 days ago | parent [-]

Nobody's good at C++. I've written C++ and even got to the point where I felt I had things under control, but tbh that's just delusion and hubris.

apelapan 4 days ago | parent | next [-]

If you look at it that way, nobody is good at anything. True perhaps but not a very useful stance.

Millions of people have built meaningful software with C++ over the past several decades. It is everywhere and it mostly works OK.

Of course, C++ is not necessarily the best choice for everything or anything. But it is a mostly reasonable choice for lots of things in 2025, just like it was in 1995.

SleepyMyroslav 4 days ago | parent [-]

There are different levels of confidence in junior programmers code in different languages. For C++ it is one of the lowest possible.

If thousands of HN readers suddenly decide that they need to start their 10+ years learning of C++ with immediate contribution to the Ladybird project it would be not really helpful, right?

apelapan 4 days ago | parent [-]

It would be a weird kind of bad situation, if literally thousands of juniors with little to no experience/understanding of programming simultaneously start learn-as-you-go contributing C++ code for Ladybird.

In the perhaps more plausible situation that two or three people with a reasonable foundation in CS and/or a bit of professional programming experience decide to learn C++ in order to help Ladybird, I think it would work out quite fine.

SleepyMyroslav 4 days ago | parent [-]

I had to think carefully if I would ever agree with 'plausible situation' at any point of my career. And the answer is no. If they really needed 2-3 ppl they would have adjusted their sponsorships/donations plan and picked up those ppl full time. There are costs of bigger teams and wider contributor networks that are rarely advertised.

But ofc what can I know about browsers, I am just a gamedev. From my PoV (studio tech director) in custom game engines juniors mostly do acts of wanton destruction in the name of curiosity. And then leave for better compensated industries anyway.

In my opinion folks inciting random contributions from webdev crowd unfamiliar with C++ are not helping. And those who are familiar should know better than to do random drive-by features.

desdenova 4 days ago | parent | prev | next [-]

I'm pretty good at C++.

By using a very simple technique, I've managed to write 0 bugs in it in the past 15 years.

whytevuhuni 4 days ago | parent [-]

I assume that simple technique is to not write any C++, despite being pretty good at it?

desdenova 4 days ago | parent [-]

Yes, that was the joke.

samtheprogram 4 days ago | parent | prev [-]

Hah, the same could be said about Rust.

And I’d disagree with both.

0points 4 days ago | parent | prev [-]

Those are two you-problems.