Topics /

Software Engineering

The most popular blog posts about software engineering on Hacker News. 1,551 posts.

2022
1502

The Timeless Way of Programming

What can software learn from Christopher Alexander? Many programmers know that the idea of design patterns comes from architecture, but Christopher Alexander's writing has much more for us than just the Gang of Four design patterns. This post is a somewhat assorted collection of ideas for better software and…

1510

Emacs Lisp shorthands as namespacing system

In Emacs version 28 Emacs developers introduced so-called read symbol shorthands. If you’re interested in the rationale, feel free to search the Emacs developer mailing list for the discussion. However, it does seem that not everyone likes the idea of shorthands as a substitution for namespaces (or packages, if you’re…

1511

This year in LLVM

Towards the end of last year, I switched from working on PHP at JetBrains, to working on LLVM at Red Hat. While it was already under discussion beforehand, this catalyzed the creation of the PHP foundation , which now pays multiple people to work on PHP. Special thanks for this go to Roman Pronskiy, who did most of…

1515

New integer types I’d like to see

(Most) C++ implementations provide at least 8, 16, 32, and 64-bit signed and unsigned integer types. There are annoying implicit conversions, discussions about undefined behavior on overflow (some think it’s too much UB, others think it’s not enough), but for the most part they do the job well. Newer languages like…

1516

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’...

1519

Making Rust a Better Fit for Cheri and Other Platforms

Recently, Aria Beingessner published an interesting essay “ Rust’s Unsafe Pointer Types Need An Overhaul ”. There are several parts to this essay, all of which address issues which cause me pain in Rust, and which I would love to see fixed. I want to focus on one issue: Rust’s usize conflates address, data, and object…

1520

#lang Lua

I'm currently working on a macOS app that's built with Racket and allows the user to write small scripts to process and filter some data. While Racket is definitely my preferred language and I could easily use it for these scripts, my target audience for this app would probably appreciate a more familiar language. I…

1527

Against Pair Programming

Pair programming is where two programmers work together on a single computer. One writes the code, while the other observes and offers suggestions. I'm not talking about debugging or brainstorming together, but this p...