this post was submitted on 12 Nov 2025
175 points (97.8% liked)

Technology

76899 readers
3340 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related news or articles.
  3. Be excellent to each other!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, this includes using AI responses and summaries. To ask if your bot can be added please contact a mod.
  9. Check for duplicates before posting, duplicates may be removed
  10. Accounts 7 days and younger will have their posts automatically removed.

Approved Bots


founded 2 years ago
MODERATORS
all 25 comments
sorted by: hot top controversial new old
[–] davidgro@lemmy.world 43 points 6 days ago (1 children)

When I saw the headline I was thinking it's hardly new, being from 2012, but they covered and explained that well. I'm glad progress is accelerating.

[–] Eldritch@piefed.world 4 points 6 days ago

Heh well in the scheme of things it is rather new. But yeah, I think I saw a Brodie video where he discussed this. Basically them joining the Linux Foundation and putting out their first ever tagged release. There'd been code for a decade. Just no tagged releases.

[–] nyan@lemmy.cafe 26 points 6 days ago

As with all the other alternative browser-related projects, I wish them luck. It isn't easy just keeping pace with the details of current standards documents for rendering webpages—climbing up from zero (even if they've already made considerable progress) has got to be even more difficult.

[–] theherk@lemmy.world 28 points 6 days ago (1 children)

I think Servo joining LF is one of the more exciting things of the last few years in software. I really hope they keep making progress.

[–] pr06lefs@lemmy.ml 4 points 6 days ago (2 children)
[–] otter@lemmy.ca 16 points 6 days ago* (last edited 6 days ago) (1 children)

Linux Foundation

The slide people are mentioning

In text:

This is a brief summary of Servo’s project history. The project was started by Mozilla in 2012, at that time they were developing the Rust language itself (somehow Mozilla used Servo, a web rendering engine, as a testing project to check that Rust language was good enough). In any case we cannot consider it really “new”, but Servo is way younger than other web engines that started decades before.

In 2020, Mozilla layoff the whole Servo team, and transferred the project to Linux Foundation. That very same year the Servo team had started the work in a new layout engine. The layout engine is an important and complex part of a web engine, it’s the one that calculates the size and position of the different elements of the website. Servo was starting a new layout engine, closer to the specifications language and with similar principles to what other vendors were also doing (Blink with LayoutNG and WebKit with Layout Formatting Context). This was done due to problems in the design of the original layout engine, which prevented to implement properly some CSS features like floats. So, from the layout engine point of view, Servo is quite a “new” engine.

In 2023, Igalia took over Servo project maintenance, with the main goal to bring the project back to life after a couple of years with minimal activity. That very same year the project joined Linux Foundation Europe in an attempt to regain interest from a broader set of the industry.

A highlight is that the project community has been totally renewed and Servo’s activity these days is growing and growing.

The WPT scores should give an idea of how "ready" it is: https://servo.org/wpt/

It shows that the situation in 2023 was pretty bad, but today Servo is passing more than 1.7 million subtests (a 92.7% of the tests that we run, there are some tests skipped that we don’t count here).

[–] ApathyTree@lemmy.dbzer0.com 2 points 6 days ago (2 children)

This makes me really curious in a way I’m not really sure how to search for (and I certainly don’t expect you to have an answer, but maybe someone does)..

How does one actually go about developing a new coding language? I assume it’s something that you need to….. translate to assembly in some way (I’m not advanced techie, but my understanding is that at core everything is assembly, and code languages are on top of that)? And what’s the purpose of developing more languages anyway?

[–] ayyy@sh.itjust.works 5 points 6 days ago* (last edited 6 days ago) (1 children)

Edit: TL;DR look up “toy languages” to see people experimenting and trying shit.

This is an entire branch of computer science that people dedicate their lives to, called language design. You’re correct that we use software to translate a programming language into assembly language. That software is called a compiler.

As far as developing new languages, typically one starts by defining a “formal grammar”, typically in the .lex format. Since writing a whole compiler can be complicated and time consuming, most people just build off of the work of others and adapt an existing compiler such as “LLVM” to understand the grammar of their new language.

It sounds crazy to the uninitiated, but the best way to start learning about how to make computer languages is to learn about what a Turing tape machine is, and what it’s capable of. Then you will be able to understand what the difference between a “context-free” grammar and a “stateful” grammar.

[–] ApathyTree@lemmy.dbzer0.com 2 points 6 days ago (1 children)

Excellent thanks, I’ll look into that, and thank you for the information :)

You say “we” which hints that you have (some?) experience in the field, do you have any insight as to why one would want to create a new language rather than just helping to refine an existing one or something? Do they end up too bloated or do they function inherently differently or some other thing I haven’t thought of..?

[–] ayyy@sh.itjust.works 2 points 6 days ago (1 children)

I say “we” because I work in software which, past a basic level, involves endless arguing amongst colleagues about what the “best” language to use is for a particular project haha. Your question of why new languages is a really great one, with controversial answers haha.

What it boils down to is that every language is a set of opinions and compromises. Sometimes the assumptions that a language maker has just become less true over time. For example the language for making websites that was written in the 90s assumed that all you would need is a way to describe titles, paragraphs, columns, and some pictures. Websites do a lot more than that now, so people have come up with new languages for building websites.

A lot of it also comes down to people/politics. Since making and maintaining a language can be complex and expensive, it is frequently only taken on by large corporations. Those corporations are always doing their best to lock you into their ecosystem, and they use their language as a carrot. If you use our language and our services, everything will just work the way you want without hassle! By the way next year we are doubling the price of our services but whatcha gonna do about it, you already wrote a bunch of expensive code and hired a bunch of people that are only familiar with our language…pay up now!

[–] ApathyTree@lemmy.dbzer0.com 1 points 6 days ago (1 children)

That makes sense as to why Mozilla would be developing rust, then, thank you :)

One last (probably) follow-up question - is the payment to those companies for support purposes, or is it a license to even use the language? Like if you write your whatever in one language and then decide to swap….. umm.. service providers I guess (maybe MSP situation?), do you need to re-write your entire whatever to no longer use it, or do you just no longer have support for issues?

[–] ayyy@sh.itjust.works 2 points 6 days ago (1 children)

Thats definitely one of the reasons Mozilla is developing rust, but not the only one. The goal of Rust is to make it harder to write insecure code. That requires more upfront work for the coder, and can be less efficient with computer resources, but provides more peace of mind that the finished product doesn’t have as many bugs. Thats a trade off Mozilla and Rust users think is worthwhile, but not everyone agrees with that.

In terms of vendor lock-in from language choice, it’s a big fat It Depends™ lol. Theres a ton of money in big tech, so there are a lot of clever people who work full time trying to lock you onto platforms without it looking to you like you’re falling into their trap, and they use a myriad of tools.

It is rare, but not unheard of for there to be license fees just for using a language like you said. (And sometimes there is even disagreement about who gets to charge licensing fees for a language: See the Java debacle with Google v. Oracle.) However typically the issue is more around being able to use the new features of a platform when a vendor introduces them. For example, Apple really wants you to use Swift to write iPhone apps. You can use alternatives, but then when Apple introduces the new iWiping feature that revolutionizes buttholes, you won’t be able to provide that feature to your users until your language of choice gets updated to support iWipes. That could take a year and means your app is behind your competitor, who just used Swift so Apple made sure they could support iWipes on the day the feature came out.

Another extremely common example is that entire businesses are run through complicated formulas in Excel spreadsheets. Sure, there are many other ways to run a business and keep track of the numbers, but most people start small and then the complexity of their spreadsheets just grows and grows and grows. Those people will be forever stuck paying for an excel subscription (that didn’t even used to be a subscription when the business started, but now it is for some reason!) because the complexity of replacing everything is scary.

[–] ApathyTree@lemmy.dbzer0.com 1 points 6 days ago

Interesting. Thanks for taking the time to answer my questions, I appreciate it!

[–] otter@lemmy.ca 3 points 6 days ago* (last edited 6 days ago) (1 children)

While I don't have a direct answer, I know that my university had some courses dedicated to this topic. I think these are some of them:

https://www.students.cs.ubc.ca/~cs-311/2025W1/nav/goals.html

https://www.cs.ubc.ca/course-section/cpsc-411-201-2020w

https://www.cs.ubc.ca/~rxg/cpsc509-spring-2024/

The second one is described as

The goal of this course is to give students experience designing, implementing, and extending programming languages. Students will start from a machine language, the x86-64 CPU instruction set with Linux system calls (x64), and incrementally build a compiler for a subset of Racket to this machine language. In the process, students will practice building, extending, and maintaining a complex piece of software, and practice creating, enforcing, and exploiting abstractions formalized in programming languages.

The course assumes familiarity with basic functional programming in Racket, and some simple imperative programming in assembly.

Those links might give you something to search off of?

And what’s the purpose of developing more languages anyway?

At some level, I think it's this:

https://xkcd.com/927/

[–] ApathyTree@lemmy.dbzer0.com 2 points 6 days ago

Interesting, thanks for the response, that gives me something to look for :)

And yeah, that last bit does rather sound likely ;)

[–] ExLisper@lemmy.curiana.net 1 points 6 days ago
[–] Siegfried@lemmy.world 17 points 6 days ago (3 children)

If someone needs to be explained what a web browser engine is, they probably don't know or care what rust is

[–] ApathyTree@lemmy.dbzer0.com 16 points 6 days ago

I don’t think that’s true on a site like Lemmy, where you have a -lot- of hardcore techies interacting with non-techies and encouraging them to learn. And also just non-techies constantly exposed to info about tech. There’s so much tech stuff here it’s impossible to avoid.

As a direct result of being on Lemmy, I’m familiar with rust (vaguely, but I know there are projects to re-code stuff in rust, and that it’s supposed to be a more robust language for… reasons), and care enough to read about it when there are posts I can understand about it (my tech level is sort of.. on the low end of intermediate) but I don’t know anything about how web browsers work, because it’s just never come up.

[–] TeddE@lemmy.world 2 points 6 days ago

Good thing /c/technology@lemmy.world subscribers isn't exclusively populated by those users!

Finding a group of people who don't care about a thing is generally like shooting fish in a barrel. Caring is fundamentally hard.

[–] ayyy@sh.itjust.works -1 points 6 days ago (1 children)
[–] Siegfried@lemmy.world -1 points 6 days ago

Ok? And? To your comment

[–] mjr@infosec.pub 7 points 6 days ago (1 children)

Any browsers except the minimal servoshell yet?

Is it faster to start up? Is it less snoopy? Are these in some FAQ I missed?

[–] biotin7@sopuli.xyz 3 points 6 days ago

Ooooh hey guys Igalia is a tech-cooperative. Pretty cool right

Yay! I love to see it. I briefly looked into it this summer but then I got distracted and lost track