Topics /
Programming Languages
The most popular blog posts about programming languages on Hacker News. 5,634 posts.
In Defense of C++
I really like C++. It's not the right tool for every job, but it's what I reach for when I need to do any kind of systems programming. Unfortunately, C++ has often been cited as a "bad" language, and I feel like that reputation has worsened over time. Recent languages like Go and Rust have taken over a lot of mind…
Java's records, Lombok's data, and Kotlin's data classes
While all three remove boilerplate, the similarities don't go much further. Records have stronger semantics with important downstream benefits, which makes them better*. (* not always; depends on circumstances; excuse the clickbait)
Twelve Years of Go
Happy Birthday, Go!
Problems with TypeScript
I would like the jury to know that I am, for the most part, a TypeScript fan but I do have some nagging doubts that I would like to discuss in this post.
State of Python 3.13 performance: Free-threading
Python 3.13 is out and it's time to run some benchmarks to see how well it performs with the new free-threaded mode.
.NET for Beginners (2020)
Programming, Coffee and Indie Hacking
C++20 Ranges
As you may have heard by now, Ranges got merged and will be part of C++20. This is huge news and represents probably the biggest shift the Standard Library has seen since it was first standardized …
The new Clang _ExtInt feature provides exact bitwidth integer types
Author: Erich Keane, Compiler Frontend Engineer, Intel Corporation Earlier this month I finally committed a patch to implement the extended-integer type class, _ExtInt after nearly two and a half years of design and implementation.
Rails adds support for Fiber-safe ActiveRecord ConnectionPools
ActiveRecord's ConnectionPool is now fiber-safe! Configure config.active_support.isolation_level for better throughput.
A new F# compiler feature: graph-based type-checking
Graph-based type-checking is a new F# compiler flag that allows the compiler to type-check files in a project in parallel whenever possible.
JEP 450: Compact Object Headers
Reduce the size of object headers in the HotSpot JVM from between 96 and 128 bits down to 64 bits on 64-bit architectures. This will reduce heap size, improve deployment density, and increase data locality.
Rewriting Libimagequant in Rust for Portability
libimagequant is a library for generating high-quality palettes, useful for compression of transparent PNG images (~75% smaller!) and making nice GIF animations .
The FIPS 140-3 Go Cryptographic Module
Go now has a built-in, native FIPS 140-3 compliant mode.
Running Swift code on Android
Apple's Swift has been available for over a year now, and Apple has promised it will be made available under an Open-Source license by the end of 2015.
Go turns three
Happy 3rd birthday, Go!
GCC now includes Modula-2 and Rust. Do they work on OpenBSD?
Two new language frontends have been added to GCC : Modula-2 and Rust . I think this is great news on both accounts: having a Wirth language in GCC fills my childhood heart with joy (though I do wish GNU Pascal can one day be revived and mainlined, as Pascal was the first non- BASIC language I learned). And Rust…
How I stopped worrying and started loving the Assembly
Or why robots are playing DOOM now
Will Hare replace C? Or Rust? Or Zig? Or anything else?
If the short answer leaves you wanting, keep reading. I must admit that this sentence from the Hare announcement may have caused some confusion:
Great things about Rust that aren't just performance
Nearly every line of code I write for fun is in Rust. It's not because I need great performance, though that's a nice benefit. I write a lot of Rust because it's a joy to write code in. There is so much else to love about Rust beyond going fast without segfaults.
C was not created as an abstract machine
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
Functional programmers need to take a look at Zig
I’ve been tinkering around with Zig to explore what’s possible with comptime. Whenever I evaluate a new language I use three axes:
From Julia to Rust
I've been more serious about learning Rust recently, after dragging on with passive learning for a while. My first real programming language was Julia, and I know other Julians interested in Rust. I've written this article for those people in mind, because Rust and Julia are good performance sparring partners, but…
Weird Expressions in Rust
Rust has a very powerful type system, but as a result it has some quirks, some would say cursed expressions. There’s a test file, weird-expr.rs , in the rust repository that tests for some of these and makes sure there consistent between updates. So I wanted to go over each of these and explain how it’s valid rust.