Back
tech
3/17/2025

Go is taking over the world

That's not a title I thought I'd ever write. I can't help but notice though - Rust used to be shilled like a fresh meme-coin, but it seems like that Written in Rust fad has hopefully died down.

The first ever awesome Go project I witnessed was Caddy Server. Although, it's not something you use and really care about what's running under the hood. You just experience great DX. Miles better than cough nginx cough.

TypeScript and Go

A message by Anders took X by storm when Microsoft announced that they're rewriting the TypeScript compiler in Go. Many people were flabergasted by the fact that Microsoft would use a language by one of it's biggest competitors to write its own language's compiler in. Why not C#?

The TypeScript team made this decision to make the rewrite less painful. The code looks very similar and porting from TypeScript (tsc's current language) to Go seems like a very 1:1 process, at least 0.7:1 or orders of magnitude closer in syntax and behaviour than e.g. Rust.

A new Redis, in Go

Today, 16 March 2025, another announcement around Go was made - a stable version of DiceDB (A Redis alternative that appears to perform better). When I jumped into the source code, I was surprised to see that it was written in Go. I was expecting Rust, or even C++. Garbage collection and database does not seem to belong in the same vocabulary - but the DiceDB team is proving that wrong.

The syntax in DiceDB seems really close to Redis:

localhost:7379> SET k 43
OK OK
localhost:7379> SET k 43 EX 10
OK OK
localhost:7379> SET k 43 PX 10000
OK OK
localhost:7379> SET k 43 EXAT 1772377267
OK OK
localhost:7379> SET k 43 PXAT 1772377267000
OK OK
localhost:7379> SET k 43 XX
OK OK
localhost:7379> SET k 43 NX
OK (nil)
localhost:7379> SET k 43 KEEPTTL
OK OK
localhost:7379> SET k 43 GET
OK 43

I am interested to keep watching this repo, especially for its sync options too! But I digress..

Is go in it for the long run?

The past while I've been using Zig for systems programming. To me it is just the perfect language for its use-case. I can't help but wonder though - not many languages that pop up as a 'C Killer' seem to make it in the long run, or at least they don't maintain a lot of traction. Go seems to be proving itself as a long-term player. It's made significant strides in Web, Systems and even Embedded. I have written Go every so often and I must say, it's not a terrible experience. The syntax is nice, the control flow makes sense, structural typing is great, concurrency, and the tooling is great. I can see why it may be around for the long run. I may just have to re-watch THAT course for the 5th time.

Interested in working with me? Reach out here