Thoughts on Generating C
wingolog: article: six thoughts on generating c
The latest blog posts to take off on Hacker News. 5,634 posts.
wingolog: article: six thoughts on generating c
A Guide to comparing Claude Code Compiler with GCC
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…
And lived to tell the tale.
Learn about new F# 10 language features, performance upgrades, and tooling improvements shipping with .NET 10.
The Nix language lacks a good type system . There are already several configuration languages that provide static and even gradual typing (see, e.g., Cue , Dhall , or Nickel ), but none offer the ability to easily annotate legacy Nix code with types.
From the Archive: Thoughts on Swift, while learning Rust
We’re truly excited to share that Scala has received an investment from the Sovereign Tech Fund to strengthen Scala’s long-term security, maintenance, and developer experience.
WhatsApp has adopted and rolled out a new layer of security for users – built with Rust – as part of its effort to harden defenses against malware threats. WhatsApp’s experience creating and distri…
I was recently encouraged to watch A Practical Guide to Applying Data Oriented Design (DoD) by Andrew Kelley, the creator of Zig1. Just 10 minutes into the talk, I was confronted with a skill I had never formally learned… the arithmetic behind memory layout of types. Zig is a modern, C-like programming language which…
Atwood's Law predicted JavaScript's dominance through accessibility. A new corollary is emerging: system languages will win through operational efficiency and AI-assisted development.
There are many interesting, useful, and fun C libraries in the software ecosystem. While one could go and rewrite these libraries in Swift, usually there is no need, because Swift provides direct interoperability with C. With a little setup, you can directly use existing C libraries from your Swift code.
I got asked a good question today: what is the difference between Tree-sitter and a language server ? I don’t understand how either of these tools work in depth, so I’m just going to explain from an observable , pragmatic point of view.
New with expressions, type-safe error checking, and faster everything.
Despite it being the first “proper” programming language I learned—by reading K&R front-to-back no less—I don’t write C too terribly often nowadays. Playing resonite has gotten me into writing a load of C# for modding the game, and most of what I do day-to-day is automating the tedium on my computer, which gets…
It's not my favorite language
Someone on Reddit recently asked: What would make a Rust implementation of something faster than a C implementation, all things being the same? I think this is…
Why std::move is just a cast, how it kills RVO if used wrong, and the mechanics of ownership transfer.
In Go, go.mod acts as both manifest and lockfile. There is never a reason to look at go.sum.
I had a friend tell me recently that all programming languages seem very similar to each other. They all have variables, and arrays, a few loop constructs, functions, and some arithmetic constructs. Sure, some languages have fancier features like first-class functions or coroutines, but he doesn't consider himself an…
A cheat sheet of real-world timing and memory numbers to guide performance-sensitive decisions.
The compiler is a powerful tool, yet many developers have a painful relationship with it. Can we do better?
The destructor serves as the "finally".
Easel is an IDE written in Clojure that I've been working on for the last year. See it in action https://youtu.be/sceGtaNHxcM .
The rationale and transition period to moving to the new “core:os”
We are pleased to announce the release of Ruby 4.0.0.Ruby 4.0 introduces “Ruby Box” and “ZJIT”, and adds many improvements.
The heart of Rust borrow-checking is this: when a borrow is taken, and until it expires, access to the borrowed place is restricted. For example you may not read from a place while it is mutably borrowed.
In Rust at Facebook by Fitzhardinge of the Mercurial team , Jeremy says that a new language must be 10x better at something than one of the (other) incumbent languages.