I want to follow updates from this project. They have a Twitter account but not Mastodon sigh
RSS is not even enabled on the Newz page on the website.
I share the disappointment.
I found they have a newsletter, that sounds like an acceptable middle ground, not good, not terrible.
Im glad to see this. Discord is a nightmare. It’s the same as a Facebook only group to me.
I agree, but (hot take) I think that Discord is even worse than Facebook.
The website makes it sound like all of the code being bespoke and “based on standards” is some kind of huge advantage but all I see is a Herculean undertaking with too few engineers and too many standards.
W3C lists 1138 separate standards currently, so if each of their three engineers implements one discrete standard every day, with no breaks/weekends/holidays, then having an alpha available that adheres to all 2024 web standards should be possible by 2026?
This is obviously also without testing but these guys are serious, senior engineers, so their code will be perfect on the first try, right?
Love the passion though, can’t wait to see how this project plays out.
W3C lists 1138 separate standards currently, so if each of their three engineers implements one discrete standard every day, with no breaks/weekends/holidays, then having an alpha available that adheres to all 2024 web standards should be possible by 2026?
Yes, that is exactly the plan: “We are targeting Summer 2026 for a first Alpha version”
You are assuming that they only started now from point 0. They have probably been working on it for a bit before announcing everything.
Exactly. They have been working on Ladybird Browser for few years already, before it was announced as standalone product (It was a part of SerenityOS).
And it passes the Acid3 test, which is more than Firefox does.
They say they already use it to manage GitHub issues so it’s definitely more than “point 0” right now.
Sure, but an individual website may use only a few of those standards. Ladybird devs will pick a website they like to use - Reddit, Twitter, Twinings tea, etc. and improve adherence to X or Y standards to make that one website look better. In turn, thousands of websites suddenly work perfectly, and many others work better than before.
Ladybird is largely conformant to the majority of HTML standards now. It’s about the edge cases (and where standards aren’t followed by websites) and performance. This isn’t a new project.
Lol, mentioning Twinings tea together with Reddit and Twitter sounds so random
Andreas Kling, the founder and lead dev, has a massive love for Twinings tea and spent a few Dev logs working on improving their website with the end goal being ordering his tea from them :)
That is a nice little tidbit of information :)
They’ve been at it for four years and they plan to have an alpha by 2026. Maybe wait how it actually turns out?
you shouldn’t use this browser the devs are transphobic sexist chuds
Removed by mod
You could find out the context by reading the title of the thread, but then you’d have less to bitch about, so I can understand why you chose ignorance.
Hmm. I just read the github thread that this is about. The devs made a mistake on this; but it seems to me that there is a bit of an over-reaction here. The people in the thread seem to be discussing it calmly and politely; and the issue (i.e. use of pronouns in the build instructions) ends up being resolved. By contrast, the reaction outside of the actual thread… is extreme.
Like I said, this seems like an overreaction to someone making a mistake of ignorance & indifference. It wasn’t an act of malice.
Why don’t ya’ll contribute some meaningful code instead of finding ways to deny those who do
Please describe to me how someone who offered up changes to change “he” to “they” for them, and then the contributor getting pissy about “politics” is denying work.
Appears to be fixed now: https://github.com/SerenityOS/serenity/pull/24648
Yeah, I saw this, and all my excitement for the project died. If it becomes successful, I might use it anyway though.
they must be trying to go after the brave marketshare
… What
deleted by creator
Love the idea! Shopify as the highest tier sponsor? Not so much.
I mean if they’re gonna give money without demanding anything I’m sure no complaints from the devs.
Shopify or an exec there might find some value in avoiding Google owning the web, could maybe bring goodwill for the company, or they could just be looking for a write off.
I’m curious what issue you see with that? It seems like the project is only accepting unrestricted donations, but is there something suspicious about shopify that makes it’s involvement concerning (I don’t know much about them)?
My best guess would be that Shopify either care about the open Web or had some disagreements with Google.
I can’t find anything shady on them, but maybe I’m looking the wrong places.
While controversial, I think it’s more a product of how insane US “politics” are.
They could be good guys even so.
My guess is they just want a high value backlink for their SEO performance 😉
They fired a lot of people and replaced them with AI: https://techcrunch.com/2023/05/04/how-shopify-bungled-its-latest-layoffs-and-made-employees-feel-like-npcs/
Why? Shopify has been sponsoring stuff like community gaming events for a few years now.
C++
If they’re starting a browser from scratch, why would they not have chosen Rust? Seems very short sighted to not have learned from Firefox.
They used c++ initially since it was spawned from SerenityOS, which was designed to be a mashup of win2000 and unix.
now that Ladybird is its own project, it’s not constrained to that goal, and they have said they will incorporate modern languages.
Glad to hear that!
Must be planning on actually shipping something
/s
Ship what, segfaults / invalid memory access? Lol
CVEs lol
@asdfasdfasdf@lemmy.world There’s Servo ( @servo@floss.social ), it’s a browser engine written in rust
@Diabolo96@lemmy.dbzer0.com
Yes, that’s what I’m referring to. They could build on that, or they could write something their own in Rust. But I’d think building on Servo would be fantastic.
I know about servo. It was pretty much a dead project until they joined the Linux fondation last year and started getting some sponsorship. Since then, they being doing pretty good on there own with personal donations rising by around 20% each month, reaching more than 2000$ monthly. Wish them all the best!
Wasn’t this the transphobic one?
Shoutout to the user pointing out that forcing “he” is just as, if not more, political ❤️
i like how they’re like this isnt the place for personal politics while ignoring the fact that gendered readme files are patently stupid in the first place.
Changing to gender neutral seems like a no brainer to me but how is this transphobia?
Brave?
Don’t believe they’re related
Brave is the one run by transphobes who also love crypto.
It’ll be interesting to see how this plays out. I’ve had more than a handful of people bitching at me that it’s impossible to make a new, open web browser in this day.
I think it’s less that it’s “impossible” but rather that it’s expensive.
Honestly we’ve in general shoved too much shit into the browser that’s not strictly related to just browsing web sites.
And you “have to” support all the layers and layers and layers of added stuff, or you can’t “compete”.
But, at the same time, the goals of making a good-enough browser that mostly works and isn’t completely enshittified and captured by corpo big tech interests is a very worthy project and 100% support what they’re doing.
JavaScript was a mistake.
And it went downhill from there.
Eh, scriptable content was probably fine.
Techbros going ‘holy shit, we should make EVERYTHING a website!’ was the curse that doomed us.
Pushing for bloated web apps instead of having optimized and perfectly functional websites was what killed it for me.
It was fine when it was contained to an actual web site instead of infecting desktop software too. To me, using JS for that purpose feels like using PHP to write a 3D video game.
using PHP to write a 3D video game.
Somewhere, someone just had a really bad idea.
It’s a general language (though primarily adopted by web as backend engine), so you can basically expect people already have had this idea.
I feel like the internet is such a lost cause at this point that it would be better to invest in other efforts like the Gemini protocol.
Gemini protocol
IDK, but I don’t think that the problem is that any particular application protocol is bad so much as it is capitalists going to capitalist, and they’ve shit all over everything in the Quest to Make a Buck.
It’s not like a new protocol, if it becomes as widely adopted, won’t see the same vultures swoop in and strip mine any value they can find there, too.
A more lightweight protocol limits the attack surface for capitalism. The web sucks because basically anything can be wrapped in http, including ads, tracking cookies, data collection JavaScript, etc.
Gemini protocol only carries markdown
That’s a fair assessment. I’ll admit to having a severe case of doomerism when it comes to tech lately, and the levels of shit tech bros will go to to monetize shit has me skeptical there’s any sort of protocol or technology that could be made bro-resistant for more than a short period of time.
EEE is pretty prevalent and has been a very standard practice with these tech companies for a long time. See: Meta and Threads for a recent example.
How would you drive the adoption of such a protocol in an environment that is largely hostile towards attempts at demonetising things?
or you can’t compete
Nah nah fuck that noise. ‘Jack of all trades but ace of none’ or however the saying goes, is a shitty way to go about things. I don’t have the biggest dick but I know my way around around the block, and I know I’m good at it. More specialized > the catch-all bitches.
Let the fucks with their special engine requirements eat shit. Standardize or write a fucking proper program (miss me with that “app” bullshit) or fuck right off. “everyone is special… exactly like you” now fuck off web dev. Your shit doesn’t get a permit.
…
I may have some… disputes with the way the web is done nowadays.
I could have been a little more clear: I don’t think the whole must-compete-or-forget-it mindset makes any damn sense.
I’m more than happy to use software that does what I want/need (which, more and more, is simply just not fucking spying on, trying to sell things to, or otherwise annoying me) even if it’s not like, the most bestest version of whatever.
No, I’d have accepted too expensive as an answer. They were ready to die on the hill that no one could possibly create a new browser from specs.
Hilarious, I suppose, given the origins of Chrome and that it was a team of people sitting down to make a new browser from the specs.
My thoughts exactly.
Also nothing is stopping someone from forking an open browser and throwing money/bodies at keeping it up.
It’s be a shame to lose free updates, but certainly not undoable.
Agreed. As much as I understand the urge to build your own shiny new thing, I’d pay real actual human money for someone to take Blink, and put it in a non-lobotomized, non-enshittified, non-garbage UI that has things like a self-hosted sync server, built-in adblock/noscript/etc, and the ability to use extensions for things like password managers.
But no crypto stuff, no gaming stuff, no VPN services, no browser password managers, no sponsored links, no sponsored default search engines, no email client, blah blah blah.
Browser, adblock, self-hosted sync, done.
Interestingly the founder of the project seems to explicitly disagree with that article
Their rendering engine is already pretty solide (see penultimate video in their channel). Now that their “no third party code” restriction is lifted, they can actually focus on building a browser engine instead of recreating 30 years worth of technologies from scratch.
I do not understand the urge to start from scratch instead of forking an existing, mature codebase. This is typically a rookie instinct, but they aren’t rookie so there’s perhaps an alternative motive of some sort.
Because there are only like 3 browser engines: Chrome’s Blink, Firefox’s Gecko and Apple‘s WebKit. And while they are all open source, KHTML, the last independent browser engine got discontinued last year and hasn’t been actively developed since 2016.
There’s need in the space for an unaffiliated engine. Google’s share is far too high for a healthy market (roughly 75%), WebKit never got big outside of Safari (although there are a few like Gnome Web, there’s no up to date WebKit based browser on Windows) and Gecko has its own problems (like lack of HEVC support).
So, in my book, this is exciting news. Sure it‘ll take a while to mature and it is up against software giants but it‘s something because Mozilla doesn’t seem to have a working strategy to fight against Google‘s monopoly and Apple doesn’t have to.
Mozilla doesn’t seem to have a working strategy
Guess they couldn’t replicate the “own everything that people use to get stuff on the internet and make secret breaking changes to constantly mess up other browsers” strategy.
Could they not add HEVC support? Or is there some technical limitation that meant starting from zero was a good idea?
HEVC is almost entirely down the the licensing. This section of the wikipedia page details it pretty well.
The tl;dr is that the LA group wanted to hike the fees significantly, and that combined with a fear of locking in led to the mozilla group not to support HEVC.
And it’s annoying at times. Some of my security cameras are HEVC only at full resolution, which means I cannot view them in Firefox.
They could, probably. My guess is, that it’s either a limitation of resources, the issue of licensing fees or Google‘s significant financial influence on Mozilla forcing them to make a worse browser than they potentially could. Similar to how Firefox does not support HDR (although, to my knowledge, there’s no licensing involved there).
The biggest problem most people have with Mozilla is said influence by Google, making them not truly independent.
Google probably is putting pressure on Mozilla, but if the options are licensed HECV or open royalty-free AV1, the choice is pretty clear for a FOSS project.
Yes but: HEVC is the standard for UHD content for now, until AV1 gets much broader adoption. And judging from how long HEVC took to be as broadly available as h.264, it’ll still take a while for AV1 to be viable for most applications.
Mozilla had the same problem with h.264 until Cisco allowed them to use openh264 and ate any associated licensing costs. Just from a cursory glance, HEVC licensing seems much more of a clusterfuck.
The good news is no streaming service even supports UHD in browers (except Netflix on Edge?) because of DRM. So I don’t see the value.
My Jellyfin server does and on Firefox it needs to transcode to h.264
Yeah I’m curious as to whether there’s not merit in taking the imperfect codebase and improving it.
I suppose Mozilla is already doing that as best as they can.
If 50% of firefox users donated 2 dollars per year mozilla could work for people instead of Google or at least people AND google
The problem is, most user don’t want to pay. And every time mozilla tries to monetise differently they get community backlash…
Webkit and blink have the same base
Yea, but Webkit was forked from KHTML 23 years ago and Blink was forked from WebKit 11 years ago. In the mean time they all definitely evolved to become their own thing, even though in the beginning they were the same.
webkit and blink are based of KHTML
Technically blink is based WebKit but yes. However, they were forked 23 and 11 years ago respectively, so it’s safe to assume they evolved into their own thing. But they probably do still share code, yes.
No webkit browser on Android either. If there was gnome web for Android id switch in a heartbeat
Does anyone know why there are barely any WebKit based browsers? WebKit is open source and at least Safari works really well. Is it hard to work with? Do people just hate Apple that much? Is there some limitation?
Also, WebKit was based on KHTML, which was open source and platform independent itself.
Because software monocultures are bad. The vast majority of browsers are Chromium based. Since Google de-facto decides what gets in Chromium, sooner or later the downstream forks are forced to adopt their changes. Manifest V3 is a great example of this. You can only backport for so long, especially when upstream is being adversarial to your changes. We need an unaffiliated engine that corrects the mistakes we made with KHTML/Webkit.
I agree mostly, but forks don’t need to keep the upstream. They can go their own way.
Why are open source software monocultures bad? The vast majority of non-Windows OSes are Linux based. Teams who don’t like certain decisions of the mainline Linux team maintain their forks with the needed changes.
Manifest V3 is a great example of this. You can only backport for so long, especially when upstream is being adversarial to your changes. We need an unaffiliated engine that corrects the mistakes we made with KHTML/Webkit.
And we could get a functional one today by forking Chromium and never accepting a single upstream patch thereafter. I find it really hard to believe that starting a browser engine from scratch would require less labor. This is why I’m looking for an alternative motive. Someone mentioned licensing.
Perhaps some folks just want to do more work to write a new browser engine. After all Linus did just that, instead of forking the BSD kernel.
I can’t understand how people can continue relying on chrome and derivatives like electron, CEF etc. and not see it as a problem.
It’s easy to understand when you think most comments are similar to yours and don’t provide any insight as to why this might be a problem.
Maybe you could update your post and share your knowledge and experience with others, so that there are less people in the world who don’t see the problem.
When trying to render a relatively simple page consisting few thousands of text lines in a table, any current browser will cause mouse cursor to lag for some time, then you’ll discover it consumes at least 2 GB ~ 4 GB of RAM. YouTube lags like I have 2 cores instead of 16. Any electron app is either clunky or too clunky, also either hungry or too hungry.
I’m sorry but I don’t have time to look up other cases.
Any intuition on why we’d expect opening the same page on a newly implemented browser engine that implements all equivalent standards and functions will consume less resources?
That’s not an expectation. The experience is that this became a reality thanks to google, and that it will only get worse in the future. More competition within browsers is the expectation. Better chance for better frameworks to emerge. Eventually it may cause google code to shift into a better overall state too.
Ladybird was born from SerenityOS, which is a hobbyist unix-like (or POSIX compliant?) OS that simply aimed to do things “from the ground up”. It just happened that they needed to make a browser, and the response was to make one from scratch.
From there it seemed to have brought a lot of attention organically to the point where it can stand on its own, but originally it was never intended to be a “third browser engine” from its inception.
That actually makes the most sense. So similar to how Linux was started.
Best of luck, I guess, but seems like a doomed project to me. Forking WebKit, Gecko, or even Servo would seem much more reasonable, and even that is a huge undertaking.
Contributing directly to Firefox and reducing the dependence on Google should be three best bet
deleted by creator
They’re making a new browser engine from scratch in an open way, absolutely amazing!
I do have several questions:
Why would they use BSD instead of GPL? If you care about open-source so much, why would you make it possible for a company to run away with your fancy new engine?
Why are they creating a new browser, when even firefox has to struggle to keep some semblance of market share? I get that not every project needs to aim to be “the biggest”, and that even a smaller project (in terms of users), can be fun. It’s just that writing a browser engine that can handle the modern web seems like an almost Sisyphean task; which makes me wonder what their motivation(?) is.
Why the FLOSS are they using closed-source proprietary discord as their main communication channel?
- (BSD vs GPL) Andreas stated on twitter that he wanted to give devs total freedom to use his work because when he worked at Apple he felt frustrated he couldn’t incorporate some code/software into his work because of GPL.
- (Why?) The aim is not to create a chrome competitor, but to make a good enough, truly free browser that isn’t either chrome or funded by chrome. A browser made for and by its user’s.
- (Discord) Because of gen-z.
As someone who uses BSD licensed modified code at work and relies on it quite a lot, it’s crucial to me choosing which projects I’m able to use in the first place.
Personally, I prefer a license that allows for commercial use in the way that companies need them to, and if my own work ever can provide a patch back upstream I’d be happy to do so, but most of what I do is just tweaking things that exist to suit my purposes which doesn’t really help anyone but my business rivals which I personally am not interested in doing if I don’t have to.
I prefer to have the freedom to do as I wish with the code, as compared to being bound to do as the author wishes and essentially just not using that code in the first place because I can’t. I’m not in a position to change what I can and can’t do because of the requirements of the business I work for, and I’m grateful to those that choose licenses that allow me to use their work.
They’re creating a new browser because they want to. It started as an OS building project that the lead dev did to help stay sober.
They use discord because it’s popular. Insert Ouroborus argument here, and at the end of the day it’s still the most popular app.
They use discord because it’s popular. Insert Ouroborus argument here, and at the end of the day it’s still the most popular app.
Using this logic why shouldn’t I just download chrome and forget this project exists?
Depending on your use case, maybe you should. If your use case is “using the internet today securely”, then you definitely should.
I’m not trying to create a logical puzzle that teasing the right details out of will solve, I’m not even advocating for or against their decision, discord fuckin sucks shit and I can’t wait for element to continue to mature towards enough feature parity that a switch is seamless so that I can actually convince my friends to switch too, I’m reporting a reality of life on the internet today.
“Ladybird uses a brand new engine based on web standards, without borrowing any code from other browsers.” has the same energy as
Not really. They aren’t inventing new standards. They are implementing an engine that confirms to existing standards.
In this case having more browser engines not under Google’s control is probably a good thing. Although this effort might’ve been better spent working on Servo.
builds a new browser from scratch without borrowing existing code
still chooses to do it in C++
Epic fail
Not sure if you are trying to be funny, but if not: enlighten us?
C++ is a very old, extremely complex language. There are arguably objectively better modern alternatives, such as Rust.
I agree that Rust is the way to go, but calling something “arguably” & “objectively” in the same breath is a bit of a paradox innit?
Well, it was more to recognize that there is no inherently better programming languages in theory, they all do the same stuff. And some languages are “better” at some stuff just due to the libraries available and nothing to do with the language itself. But yea I do think Rust is an objectively better language than C++.
Rust is great, but anybody developing something should have the ability to choose whatever programming language they prefer. If you want it made with rust, make it yourself.
Not everyone with the knowledge to identify this mistake is in a position to personally correct it. Do you have the time and resources to personally build a browser from scratch? No? Why do you assume a random commenter does?
It doesn’t change the fact that Rust is similarly performant and much safer and will thus be faster to develop and less bug-prone. It’s not a difficult assessment to make. If you want to explain why they’re wrong you can talk about the issue on its merits, but you didn’t choose to, presumably because you can’t.
Their choice of programming language isn’t a ‘mistake’. It isn’t something that is ‘corrected’. It’s a development choice, nothing more. That’s the point. And if some ‘random commenter’ doesn’t like that choice, that’s their problem to fix - not the developers who are actually making the project.
You said they “should have the ability to choose whatever programming language they prefer”. I have good news for you.
You have correctly identified that the developers are responsible for their own decisions. They are, you will be very relieved to hear, quite free to make as many poor decisions as they will. Nobody is going to force them to stop.
Other people are more than capable of identifying that those decisions are mistakes. Now, that could be argued with, you could explain how it’s not a mistake.
But you haven’t. You just said they should be allowed to do it, but nobody was arguing that they needed to be stopped, just that it was a bad decision.
Edit: this person didn’t actually say that first quote, but the line of argument proceeded from there, and they did nothing to distance themselves from that point.
I just don’t think it’s fair to tell somebody with over 20 years of experience with C++ that their decision to use C++ in their next project is a ‘fail’.
Learning a new language will probably not be faster than using one you’re already deeply familiar with.
I’m not sure why you’re asking me about the merits of C++ over rust, that wasn’t my point. I was simply advocating for personal choice.
Also, my first sentence was literally praising rust, but I guess I didn’t deepthroat it enough for you to notice? Presumably because you’ve taken the thought of somebody advocating for anything other than rust as a personal attack.
Criticism doesn’t take away personal choice though. I don’t know why that’s hard for people to grasp.
Of course, but it still makes sense to think carefully about the advantages of disadvantages of the tools you use when starting any project.
deleted by creator
I am not the one who said “epic fail”.
Sorry, replied in the wrong comment level apparently.
If were just a personal project that they’re building entirely on their own then sure, go nuts and do whatever you want. But they’re trying to gain adoption, asking for contribution, and wanting to replace other browsers. At that point it’s no longer just a personal choice if you’re asking the community to invest their time and money into it with you
It originally started as just a fun side project.
But even if it hadn’t, are you suggesting we should no longer start big/community projects in C++?Picking an unsafe language has the added benefit of distancing yourself from the toxic rust-or-die crowd, who can’t seem to mind their own damn business.
Taken from the wikipedia page on rust:
On February 8, 2021, the formation of the Rust Foundation was announced by its five founding companies (AWS, Huawei, Google, Microsoft, and Mozilla).[36][37] In a blog post published on April 6, 2021, Google announced support for Rust within the Android Open Source Project as an alternative to C/C++.[38]
Four out of five founding companies are evil to the bone, with only Mozilla being somewhat reputable. That does not give me much confidence, sadly.
On November 22, 2021, the Moderation Team, which was responsible for enforcing community standards and the Code of Conduct, announced their resignation “in protest of the Core Team placing themselves unaccountable to anyone but themselves[39]”
How am I not surprised?
In May 2022, the Rust Core Team, other lead programmers, and certain members of the Rust Foundation board implemented governance reforms in response to the incident.[40]
At least that. However, I don’t care enough for the time being to spend my morning on reading what exactly they implemented.
The Rust Foundation very deliberately does not control the development of Rust. There has been issues with the moderation team in the past but I think they’re actually resolved today. And let me just assure you that Rust is not the only language project with problems and the fact that they have been talked about and discussed in the open and resolved is a sign of maturity and trust, not a bad thing.
I suppose there are problems in many teams, yes - the majority of humanity is just not mature enough to treat each other professionally :/
Still - 4 out of the 5 founding companies being pure evil does not fill me with confidence :/
The language existed long before the foundation. The foundation is purely there to support the language.
Sure :)
There are a lot of downsides of C++ compared to more modern languages that make it not a great choice if you’re starting a web browser from scratch
- Complexity of the language leading to increased bugs and slower development
- Manual memory management is error-prone and leads to issues like memory leaks or segmentation faults. Modern browsers need to handle large amounts of dynamic content, making memory management complicated
- C++ lacks some of the built-in safety features of more modern languages, which has led to the majority of security vulnerabilities found in major browsers. It’s so bad that Mozilla invented an entirely new programming language just to deal with this
- Compared to higher-level languages, C++ can be slower to develop in, which may impact the ability to quickly implement new web standards or features unless you have a massive team
- While C++ is cross-platform, ensuring consistent behavior across different operating systems can be more challenging than with some other languages.
- Newer languages often provide built-in support for concurrent programming, garbage collection, and other features useful for browser development, which C++ lacks.
So tl;dr: a browser but in C++ will take much longer to develop, have fewer features, more bugs, less concurrency and and more security vulnerabilities
Thanks for laying out your concerns. As a C++ developer who does not know the other languages you speak of (I assume Rust, Go), I can agree to some of your points, but also some of them I see differently:
-
C++ can be complex, because it has a lot of features and especially the newer standards have brought some syntax that is hard to understand or read at times. However, those elements are not frequently used, or if they are, the developer will get used to them quickly & they won’t make development slow. As a matter of fact, most development time should be spent on thinking about algorithms, and thinking very well before implementing them - and until implementation, the language does not matter. I do not think that language complexity leads to increased bugs per se. My biggest project is just short of 40k lines of code, and most of the bugs I produced were the classical “off by one” or missing range checks, bugs that you can just as well produce in other languages.
-
C++ no longer requires you to do manual memory management - that is what smart pointers are for, and RAII-programming.
-
I can’t make a qualified comment on that, due to lack of expertise - you might be right.
-
You’re somewhat repeating point 1) here with slow development. But you raise a good point: web standards have become insane in terms of quantity and interface sizes. Everyone and their dog wants to reinvent the wheel. That in itself requires a very large team to support I would say. As stated for point 1), I do not agree development in C++ has to be slower
-
True, as someone who just suffered from problems introduced on windows (cygwin POSIX message queues implementation got broken by Win10, and inotify does not work on Windows Subsystem for Linux) I can confirm that while the C++ standard library is not much of a problem, the moment you interface with the host OS, you leave the standard realm and it becomes “zombieland”. Also, for some reason, the realtime library implementation on MacOS is different, breaking some very simple time-based functions. So yeah, that’s annoying to circumvent, but can be done by creating platform specific wrapper libraries that create a uniform API. For other languages, it appears this is done by the compilers, which is probably better - meaning the I/O operations got taken into those language’s core features
-
I am highly doubtful of people relying on garbage collection - a programmer that doesn’t know exactly when his objects come into existence, and when they cease to exist is likely to make much bigger mistakes and produce very inefficient code. The aforementioned smart pointers in C++ solve this issue: object lifetime is the scope of the smart pointer declaration, and for shared pointers, object lifetime expires when the last process using it leaves the scope in which it is declared. For concurrent programming, I do not know if you mean concurrency (threads) or multiple people working on the same project. While multi-threading can be a bit “weird” at first, you have a lot of control over shared variables and memory barriers in C++ that might enable a team to produce a browser that is much faster, which I believe is a core requirement towards modern browsers
As for your tl;dr: definitely not “less concurrency”, that makes no sense. The other points may or may not be true, keeping in mind the answers I gave above.
Appreciate you taking the time to reply in such detail! Some good insights thank you
You had some valid points as well - I enjoy a good constructive exchange, thank you! :)
-
The language choice was because Ladybird started as a component of SerenityOS, which is also written in C++. With this separation, they are free to gradually introduce other language(s) into the codebase, and maybe eventually replace C++ entirely, piece by piece.
In Hackernews thread about this, the head maintainer mentioned that they have been evaluating several languages already, so we’ll see what the future brings.
In the meantime, let’s try to be mature about it, what do you say?
Rust or bust
Then build a browser in rust…
Servo exists
That’s a web rendering engine, not a web browser application. You need a lot of stuff other than the engine to make a browser.
The engine is where like 95% of the complexity lies though. Maybe more.
The dev has 30 years of experience with c++ and a lot of it was on browsers.
He tried to incorporate rust with the help of “JT”, one of the original rust designers/devs and according to Andreas it didn’t work that well due to the web being too objet oriented or something like that. They both worked together (well, mostly “JT”) to create a new safe programming language called “yakt” that transpile to c++, but the project is currently pretty much dead because nobody is really working on it anymore.
The web being too object oriented for rust? Assuming that made sense, who wrote the dang language? If that’s true I’m even less confident they know what they’re doing then I was before.
You’re doubting someone’s ability to create a web browser knowing that they specialize in browser development since the early 2000s?
If this isn’t enough to have confidence in them then nothing will.
Using my decades of experience in how programming and compilers works and the fact Mozilla has used it to great effect and how it is being used for parts of the Linux kernel… Yeah just a general statement it doesn’t make any sense.
Maybe they aren’t effective at designing software with the paradigms of the language or they don’t like it but the given explanation doesn’t track.
I am pretty sure it was about how it was difficult for them to do oop with rust, but I reckon it was long ago and my programming knowledge is minimal.
Found it:
https://rl.rootdo.com/r/rust/comments/yuxb8a/serenityos_author_rust_is_a_neat_language_but
I vaguely remember the talk about needing oop for the web being on discord and not twitter, so the twitter post is likely a reaction that.
Reading all of that it sounds mostly like a dev who has spent 20 years doing things the C++ way wasn’t comfortable learning something new. Like basically they’ve been using horrible design patterns that Rust bans because they’re horrible, and instead of learning better approaches they just say Rust is bad
It could be. But then again, he did have the help of a Rust designer/core dev. I believe they even wrote the first iteration of the “Jakt” compiler in Rust before rewriting it in Jakt itself, so Andreas isn’t against using Rust.
So someone who wrote their own functional operating system and browser from scratch which he is now targeting the public with, is not comfortable learning something new?
You are all assuming that the project will be c++ only when the authors haven’t said anything about the matter. Who knows if they aren’t open to moving to rust? The project is originally in c++, not only but, because that’s what the target OS supported. There are examples of other browser moving from c++ to rust (Firefox) who says they can’t do the same?
I’m not sure 10 years old are allowed on the internet. Isn’t it time for Coco and bed?
I agree that Rust would be an interesting choice for this project but there’s a reason why this particular project is done in C++
there’s a reason
Oh good that settles it, no further questions your honour
I wouldn’t go around accusing people of being 10 years old when your English skills are worse than a 10 year old’s. Glass houses and all that.
English is not my first language. I saw the mistake and left it here. You fixated on that simple mistake instead of answering the main point
Your main (or at least first) point was to throw childish insults around, so you got the same in return
Let’s be honest, we both were childish :)
Laaaaaaaaadybird.
The comment I came here for 🐶
We’re gonna have to put laaaaaaaadybird down… Mr Hill?
Kudos to them. Opera gave up on this dream being unable to accommodate all the nuances of web standards and accounting for out of conformance behaviours that many websites rely on the daily.
I reckon this browser will need to be at least on par with reasonably recent version of Firefox to see significant adoption.
I still mourn the death of Presto-days Opera.
I do too. What a joke the browser became after moving to Chromium… I remember it didn’t even have bookmarks in the first version.
On the flip side I kind of understand the decision to pull the plug - if you’ve looked at
Browser.js
and think that potentially any site might need a fix to work properly…
It would be nice if people read the post and the project before randomly making assumptions such as implying the project started from scratch yesterday or its run by some amateurs, this is a 4 year old project! It’s founded by a former KHTML/Webkit developer for Apple!
If only.