Topics /

Software Engineering

The most popular blog posts about software engineering on Hacker News. 21,845 posts.

Any year
20492

How Python 3 Should Have Worked (2012)

As a workaday Python developer, it’s hard to shake the feeling that the Python 2 to 3 transition isn’t working. I get occasional requests to make my libraries work in 3 but it’s far from clear how to and when I try to look it up I find all sorts of conflicting advice, none of which sounds very practical.

20495

Migrating from Warp to Axum

Falling out of love with warp Back when I wrote this codebase, warp was the best / only alternative for something relatively high-level on top of hyper. I was never super fond of warp’s model — it’...

20497

Mutt on Windows Without WSL

I have this weird hobby of trying to get good unix tools to run natively on Windows. I find this is the most efficient use of my laptop's resources, and therefore the nicest experience. WSL is nice, but it takes up a lot of RAM on my system. I prefer to use MSYS2 . Getting unix tools to work correctly under MSYS2 is a…

20498

James Gosling Interview

We had an opportunity to talk with James Gosling, a Canadian computer scientist, best known as the father of the Java programming language, and get his insight into the languages, features, and solutions that we use every day.

20501

Quote-unquote "macros"

You’ve probably seen this Python 101 thing before: @memoized def fib(n): if n <= 1: return n return fib(n - 1) + fib(n - 2) Leaving aside the absurdity of computing Fibonacci numbers recursively, it’s a common first introduction to Python decorators and higher-order functions. fib is just a function, and memoized…

20504

JVM Anatomy Quark #26: Identity Hash Code

"JVM Anatomy Quarks" is the on-going mini-post series, where every post is describing some elementary piece of knowledge about JVM. The name underlines the fact that the single post cannot be taken in isolation, and most pieces described here are going to readily interact with each other.

20506

Message Oriented Programming

Designing around the messages, rather than the objects, brought my whole system into focus. If modules communicate by passing around self-contained textual data, or a simple structured format like JSON, they impose fewer assumptions on each other.

20508

What is “Open Recursion”?

Someone on StackOverflow stumbled onto the strange term “open recursion” and asked what it meant . Since most of the other answers to this online are pretty opaque, I started writing an answer. But then I accidentally wrote a blog post.

20511

Building a language server for Muon

I’m a big fan of interactive tool support for programming. I often use features like “go to definition”, “find symbol”, compile error underlining, etc. Also, earlier this year, I launched Muon, a new low-level programming language. As no tooling existed beyond the compiler, writing the initial Muon programs (such as a…

20514

Constexpr is a Platform (2020)

Let me share a useful insight with you: constexpr is a platform. Just like you write code that targets Windows or a microcontroller, you write code that targets compile-time execution. In both cases you restrict yourself to the subset of C++ that works on your target platform, use conditional compilation if your code…