The Jakt Programming Language
21 comments
·March 21, 2025losvedir
I was pretty excited about this, but didn't the Serenity browser recently announce they're going with Swift? That kind of takes the wind out of this language's sails.
quux
Yeah they've chosen Swift as their C++ successor language for Ladybird (the browser project forked from SerenityOS's browser)
Some work to do with making Swift work with ladybird's garbage collection but my understanding that this work is in progress.
Andreas talks about it here: https://www.youtube.com/watch?v=z1Eq0xlVs3g&t=759s
nukem222
Hell of a decision.
quux
They came to it through a pretty pragmatic process. They made a list of candidate languages (they haven't discussed what the list was beyond "all the obvious candidates were represented") and assigned existing parts of the codebase to a few engineers asking them to reimplement the feature in the candidate languages. The team found they enjoyed working with Swift the most, and Swift's good support for OOP fit the object model of a web browser very well.
nukem222
This doesn't imply the decision is any less jaw-dropping.
Besides, polling enjoyment is not exactly what I would describe as a pragmatic approach.
Alifatisk
> Jakt is a memory-safe systems programming language
> It currently transpiles to C++
So C++ being safe was possible after all
mllev
It’s pronounced “y-ah-kt”. I’d probably use it if it was pronounced “jacked”.
Sphax
I watched some videos of Andreas working on Jakt some years ago but right now it seems kind of dead looking at the commit history.
fifilura
Jakt is the Swedish (and Norwegian) word for hunt.
Deerhunt = Hjortjakt
Boar hunt = vildsvinsjakt
And the most common and revered...
Moose hunt = älgjakt
cupofjoakim
Seems pretty popular already, but I have missed this. What's the USP of Jakt over something like native c++, rust or zig? I don't really see the need, would love to hear from someone who knows
quux
I think Andreas and JT wanted something that would tightly integrate/interop with the large existing C++ SerenityOS codebase. I think they also welcomed the opportunity to build a new language, consistent with the SerenityOS ethos of building every part of their OS themselves.
hu3
> Jakt is a memory-safe systems programming language.
Sounds pleasant and safe to use. I wonder if they plan to use it on their Ladybird browser.
From their readme:
Automatic reference counting
Strong typing
Bounds checking
No raw pointers in safe mode
Null pointers are not possible in safe mode, but pointers can be wrapped in Optional, i.e Optional<T> or T? for short.
Integer overflow (both signed and unsigned) is a runtime error.
Numeric values are not automatically coerced to int. All casts must be explicit.
and more.
pakyr
Ladybird is no longer part of the SerenityOS project, and Jakt seems pretty dormant; my understanding is that Ladybird is moving to Swift as an eventual C++ replacement.
SalmoShalazar
It seems like Andreas abandoned SerenityOS and Jakt with it, and moved on to Ladybird. The language died with this move. The project was always very clearly “for fun” so I don’t see any harm or foul here. I also got the sense that there was a falling out between Andreas and some members of the community, like JT and one of the major JavaScript engine contributors whose name I can’t recall right now. Or maybe it was just that the passion for this particular project dried up.
e3bc54b2
I was never active in SerenityOS and only watched things from afar, but JT had a transition and I got the sense that the other contributor just got busy with life. That said, SerenityOS was a 'for us by us' mostly fun project that became too big and collapsed under its own weight without Andreas. Andreas is a great programmer and seems like genuinely nice person, but over time he was becoming more of a programmer influencer and since seems to have transitioned to PM/EM with full-time Ladybird. I miss his videos, they taught me I never want to write C++ and that splitting a giant work in tiny changes works and that programming videos are tiktok for programmers.
Which is to say, falling out with Andreas IMO is less than likely, dude just seems nice from the onset, but with changing tides in project it is highly likely that people just became uninterested over time.
abnercoimbre
> TikTok for programmers
And do you see that as a good or bad thing (genuine question, just curious)?
zesterer
Every new programming language is just Rust but worse and it hurts me
idispatch
Sooner or later there will inevitably appear a new language, or an evolution of the current Rust, which will be significantly better than Rust and not just a minor tweak to the language we know today . Let’s say it is named Rust++ (any resemblance to existing languages is a pure coincidence). And the whole hype and rewrite starts over again… it is just a matter of time.
ysofunny
also, all programming languages if/when given enough time adopt all features from all other languages
this is applicable to web-era languages circa the times of PHP thru Java.
I've done some hobby programming[1] in Jakt and while it had promise and took good ideas from other modern languages my understanding is that it's been abandoned at this point and isn't mature enough to build anything non-trivial.
Transpiling to C++ for maximum interop with the SerenityOS codebase was an interesting idea too, but what it meant was you had to interpret C++ compiler errors to to understand what was breaking a lot of the time
1: Here's my admittedly crappy markdown->HTML converter written in Jakt https://github.com/mikeakers/r3gen