Topics /
Programming Languages
The most popular blog posts about programming languages on Hacker News. 390 posts.
I have written a JVM in Rust
I have built a toy Java Virtual Machine in Rust, complete with garbage collection, exception handling, and the ability to run real Java bytecode using OpenJDK's rt.jar.
Maybe Rust isn’t a good tool for massively concurrent, userspace software
Yet another programming blog. Thoughts on software and related misadventures.
TypeScript 5.0
Today we're excited to announce the release of TypeScript 5.0! This release brings many new features, while aiming to make TypeScript smaller, simpler,
Ruby 3.3
We are pleased to announce the release of Ruby 3.3.0. Ruby 3.3 adds a new parser named Prism, uses Lrama as a parser generator, adds a new pure-Ruby JIT comp...
Fixing for loops in Go 1.22
Go 1.21 shipped a preview of a change in Go 1.22 to make for loops less error-prone.
My personal C coding style as of late 2023
This has been a ground-breaking year for my C skills, and paradigm shifts in my technique has provoked me to reconsider my habits and coding style. It’s been my largest personal style change in years, so I’ve decided to take a snapshot of its current state and my reasoning. These changes have produced significant…
Writing Python like it's Rust
You can check out a YouTube recording of a talk based on this blog post.
Rewriting the Ruby parser
At Shopify, we have spent the last year writing a new Ruby parser, which we’ve called YARP (Yet Another Ruby Parser). As of the date of this post, YARP can parse a semantically equivalent syntax tree to Ruby 3.3 on every Ruby file in Shopify’s main codebase, GitHub’s main codebase, CRuby, and the 100 most popular gems…
Writing a C compiler in 500 lines of Python
Blog about linguistics, programming, and my projects
Nim 2.0
The Nim team is proud and happy to announce Nim version 2.0.
Ruby 3.2’s YJIT is Production-Ready
YJIT, a just-in-time (JIT) implementation on top of CRuby built at Shopify, is now production-ready and delivering major improvements to performance and speed. Maxime shares the updates that have been made in this newest version of YJIT, and future plans for further optimization.
Elixir for cynical curmudgeons
You are seeing this because the administrator of this website has set up Anubis to protect the server against the scourge of AI companies aggressively scraping websites . This can and does cause downtime for the websites, which makes their resources inaccessible for everyone.
Why is Jepsen written in Clojure?
People keep asking why Jepsen is written in Clojure , so I figure it’s worth having a referencable answer. I’ve programmed in something like twenty languages. Why choose a Weird Lisp?
SectorC: A C Compiler in 512 bytes
SectorC ( github ) is a C compiler written in x86-16 assembly that fits within the 512 byte boot sector of an x86 machine. It supports a subset of C that is large enough to write real and interesting programs. It is quite likely the smallest C compiler ever written.
JavaScript and TypeScript features of the last 3 years
This article goes through almost all of the changes of the last 3 years (and some from earlier) in JavaScript / ECMAScript and TypeScript.
Was Rust Worth It?
From JavaScript to Rust, three years in.
How to start a Go project in 2023
I previously wrote about starting a Go project in 2018. A lot has changed since I wrote that and I had been wanting to write an updated version. What follows should be enough for anyone new to Go to …
Understanding GPT tokenizers
Large language models such as GPT-3/4, LLaMA and PaLM work in terms of tokens. They take text, convert it into tokens (integers), then predict which tokens should come next. Playing …
I Love Ruby
I've done a lot in my career. From working on business support software to big backend systems and even robotics. If there's been a consistent through-line to my career, it's the Ruby programming language.
Lua: The Little Language That Could
An ode to Lua
Java 21 makes me like Java again
Algebraic data types in Java.
Zig is hard but worth it
"I learned Zig in a weekend! …Six hours! …6µs!" say the blissful lizards. Followed by something to the effect of, "It’s easy to pick up because the syntax is so simple."
Effective Rust (2021)
A collection of specific ways to improve your use of Rust
Vale's first prototype for immutable region borrowing
Three years, two states, and one pandemic ago, I wrote about a very weird idea: what if the type system could track which data existed before a pure call, to eliminate its memory safety overhead? 0
Strong static typing, a hill I'm willing to die on
This is a post about strong static typing, why I feel strongly about the topic, and some of the ways we utilize the Rust type system at Svix.