Carbon is not a programming language (sort of)
Within C++, there is a much smaller and cleaner language struggling to get out.
The latest blog posts to take off on Hacker News. 375 posts.
Within C++, there is a much smaller and cleaner language struggling to get out.
When defining a type in Inko , it's allocated on the heap by default. For example (using the syntax for the upcoming 0.18.0 release):
April 30, 2024. I decided to dedicate a week to migrate our main project at work (a multiplayer mobile game server in production for over 4 years) from Scala...
Why I believe 6502 instruction set is a good first assembly language
Go's interfaces—static, checked at compile time, dynamic when asked for—are, for me, the most exciting part of Go from a language design point of view. If I could export one feature of Go into other languages, it would be interfaces.
When explaining Go to new programmers, I've found that it often helps to explain what Go values look like in memory, to build the right intuition about which operations are expensive and which are not. This post is about basic types, structs, arrays, and slices.
History of the development of my Pascal compiler for transputer when I was age 13.
Ah, Zig . I have a love-hate relationship with this one. A “new” (reading: appeared a couple years ago , already — yes, already ), language with high ambitions. Zig was made to run at low-level, with a simple design to solve many problems C has (macros, allocators, error handling, more powerful types like baked-in…
For the last 6 months, I’ve been spending my (limited) free time on evenings and weekends writing a WebAssembly VM in C. After repeatedly throwing away small side-projects, this was an extremely productive experience for me as an engineer. I’m writing this in order to put together some take-aways and organize my…
Caja de herramientas para construir idiomas (en español; traducido por Renato Montes) O Kit de Construção de Línguas (em português; traduzido por Gustavo Pereira) Il Kit di Costruzione di Linguaggi (in italiano; tradotto per Daniele "MadMage" Calisi) Der Sprachbaukasten (auf Deutsch; übersetzt von Carsten Becker)
Left & Mutual Recursion Mitigation
One recent development is the ability to compile Java programs into self-contained native binaries. This provides more convenient single-file distributions, faster startup time, and lower memory footprint, at a cost of slower creation time and limitations around reflection and dynamic classloading. This article…
Swift continues to grow in popularity as a cross-platform language supporting a wide variety of use cases, with support on a variety of embedded devices, form factors that encompass wearables to server, and a wide variety of operating systems. As Swift expands, there’s value in investing in matching cross-platform…
Null pointers look simple on the surface, and that’s why they’re so dangerous. As compiler optimizations, intuitive but incorrect simplifications, and platform-specific quirks have piled on, the odds of making a wrong assumption have increased, leading to the proliferation of bugs and vulnerabilities. This article…
A retro on some of the reasons we chose to build Tracebit in C#.
A new way to handle dates and times is being added to JavaScript. Let's take a look at Temporal, what problems it solves, the current state, and what you'll find in the new documentation about it on MDN.
This post is a case study of writing a Rust application using only minimal, artificially constrained API (eg, no dynamic memory allocation). It assumes a fair bit of familiarity with the language.
We have invested significant time and resources to prototype macros over the past couple years. Unfortunately, each time we solved a major…
Karl Seguin's Blog - A mix of coding and creative writing
Why I'm very excited about `go tool` landing in Go 1.24.
Write an awesome description for your new site here. It will appear in your document head meta (for Google search results) and in your feed.xml site description.
There are several aspects of Rust that I’m not particularly fond of but the one that takes the cake is core::io::BorrowedBuf which I despise with passion. It’s a nightly feature which puts in question my extreme emotions about it. On the other hand it means there’s time to stop it from getting stabilised and figure…
Nowadays the most popular programming languages are Python, Javascript, Java, C++, C#, Kotlin and Ruby, and the average programmer is probably familiar with one or more of these languages. It's relatively easy to switch from one to another (barring any framework specific knowledge that may be needed), since they are…
Starting with a 192-byte one-liner that implements a Reverse Polish Notation arithmetic compiler, we'll work backward to transform it into readable JavaScript by removing one code golf trick at a time
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…
As usual, when a new blog post comes out on blog.golang.org, I’m all eager to read it as soon as possible. The most recent one, Contributors Summit, is a nice write-up on the issues that the Go contributors have been talking about. While reading it, I stumbled upon a sentence that made me write this post. Here is is…
Indentation styles are a hot topic in every language. So let's see how Lisps do indentation! Uuuuuuugh!
These sound like dismissals or absurdities from the outside, but once you learn what they really mean, they take on a new light. In this article, I want to explain the third. (See the appendix if you are curious about the first two.)
We’ve been relatively quiet over here at the Zig Software Foundation for a few months now and so it’s about time to give y’all an update.