UTF-8 is a brilliant design
Exploring the brilliant design of UTF-8 encoding system that represents millions of characters while being backward compatible with ASCII
Topics /
The most popular blog posts about programming languages on Hacker News. 283 posts.
Exploring the brilliant design of UTF-8 encoding system that represents millions of characters while being backward compatible with ASCII
In November of 2024 I wrote a blog post titled "Is Python Really That Slow?", in which I tested several versions of Python and noted the steady progress the language has been making in terms of…
Hacker News was written in the Arc lisp dialect, a dialect created by Paul Graham. Arc was implemented on top of Racket, but that has now changed. HN runs on top of SBCL since (at least) September of 2024.But why? For performance reasons. I recently noticed that Hacker News no longer uses paging for long threads. In…
Previous posts Why Go is not my favourite language and Go programs are not portable have me critiquing Go for over a decade.
Dave Peck's home on the web. Dave is an independent software developer, investor, and civic technologist.
The story behind writing The BEAM Book-ten years, three publishers, and an open‑source sprint.
A deep dive into the performance of Python 3.14's tail-call interpreter: How the performance results were confounded by an LLVM regression, the surprising complexity of compiling interpreter loops, and some reflections on performance work, software engineering, and optimizing compilers.
I can’t think of any other language in my 45 years long career that surprised more than Zig . I can easily say that Zig is not only a new programming language, but it’s a totally new way to write programs, in my opinion. To say it’s merely a language to replace C or C++, it’s a huge understatement.
Rust is known for having a steep learning curve, but in this post we will be looking at another curve, the one showing developer productivity in relation to the project size.
Programming has obvious abilities to increase productivity through automated manipulation of data. Metaprogramming allows code to be treated as data, turning programming’s power back onto itself. Programming close to the metal has perhaps the most to gain from metaprogramming as high level concepts need to be mapped…
Es el disco de Odín. Tiene un solo lado. En la tierra no hay otra cosa que tenga un solo lado.
What do each of these languages value most?
Since the early days of automatic computing we have had people that have felt it as a shortcoming that programming required the care and accuracy that is characteristic for the use of any formal symbolism. They blamed the mechanical slave for its strict obedience with which it carried out its given instructions, even…
If someone had told me a few months ago I’d be playing with .NET again after a 15+ years hiatus I probably would have laughed at this.1 Early on in my career I played with .NET and Java, and even though .NET had done some things better than Java (as it had the opportunity to learn from some early Java mistakes), I…
I do not pretend to have more experience or understanding than the top level engineers I often see writing blogs here, but what I am is annoyed. I love rust. It's by far my favorite language, I enjoy the community and the language ergonomics. I've been able to incorporate it into projects in my day job where fit.
See my follow-up article: “A Fast, Growable Array With Stable Pointers in C” I write type safe generic data structures in C using a technique that I haven’t seen elsewhere1. It uses unions to associate type information with a generic data structure, but we’ll get to that. My approach works for any type of data…
There's been a flurry of discussion on Hacker News and other tech forums about what killed Perl. I wrote a lot of Perl in the mid 90s and subsequently worked on some of the most trafficked sites on the web in mod_perl in the early 2000s, so I have some thoughts. My take: it was mostly baked into the culture. Perl grew…
A deep dive into Meta's pyrefly and Astral's ty - two new Rust-based Python type checkers that both promise faster performance and better type inference.
A collection of advanced Python features that I've found interesting, underrated, or unique - as someone who's seen a lot of Python code.
A detailed explanation of why I chose OCaml as the ‘default’ programming language for every project.
I announce Xee, the implementation of XPath and XSLT in Rust that I've been working on for the last two years.
The Story Behind 100 Go Mistakes and How to Avoid Them
Free-standing function call syntax considered kind of suboptimal.
it's not working
After ~7 years, I was done with Clojure . I was writing a some CLI apps , and I hated how long they took to start up. The community at large seemed not to care about this problem, except for the babashka folks. However, I spent long, hard hours banging my head against native-image and it just wasn't working out. It…
I'm Yasser and I've made it my mission to produce an alternative to LLVM, the current king of compiler backend libraries. I'm calling it Tilde (or TB for tilde backend) and the reasons are pretty simple, i believe it's far too slow at compiling and far too big to be fixed from the inside. It's been 20 years and cruft…
This book, written by Protesilaos Stavrou, also known as ‘Prot’, provides a big picture view of the Emacs Lisp programming language.