Topics /

Programming Languages

The most popular blog posts about programming languages on Hacker News. 3,709 posts.

Any year
1627

Understanding the Go Compiler: The Linker

In the previous post , we watched the compiler transform optimized SSA into machine code bytes and package them into object files. Each .o file contains the compiled code for one package—complete with machine instructions, symbol definitions, and relocations marking addresses that need fixing. But your program isn’t…

1629

Go 1.3 Linker Improvements

Go obtains much of its compilation speed from the Plan 9 compiler, of which it is a direct descendant. The Plan 9 toolchain deferred much of the work traditionally performed by a compiler to the linking stage and its performance was summarised in section 8 of this paper

1633

Some Thoughts on Zig

One of the biggest things Zig has going for it—especially compared to Rust—is that it is (relatively) small. That sits in tension with Rust’s approach to solving memory safety problems, and sets up a nice challenge for future programming language designers.

1636

UTF-8 String Indexing Strategies

When designing or, in some cases, implementing a programming language with built-in support for Unicode strings, an important decision must be made about how to represent or encode those strings in memory. Not all representations are equal, and there are trade-offs between different choices.

1646

Buffers on the Edge: Python and Rust

One of my least favorite kinds of bug is when two different systems are interacting and the result has bad behavior but it’s difficult to say which (if either!) system is at fault. This is one of those stories, about Python’s buffer protocol and Rust’s memory model.

1648

Bril: An Intermediate Language for Teaching Compilers

I created a new intermediate language, called Bril, for teaching my funky open-source, hands-on compilers course. Because it’s for education, Bril prioritizes simplicity and regularity over more typical compiler priorities like performance and concision. This is an overview of Bril’s design, its quirks, and the…