Topics /
Programming Languages
The most popular blog posts about programming languages on Hacker News. 3,709 posts.
Let's Build a Regex Engine (2019)
How to understand the language of <\/?[\w\s]*>|<.+[\W]>
New to Ruby? Tips for the new Rubyist.
Jasim's homepage
A Common Lisp jq replacement
Title says it all, I seriously dislike jq 's convoluted, impossible-to-remember ad hoc DSL that instantly joined heaps of misery like CMake and gnuplot in my heart. It should really have been a library with a CLI wrapper around eval in a well-known scripting language like Python.
“Essentials of Garbage Collectors” full course is now available
Course overview Memory leaks and dangling pointers are the main issues of the manual memory management. You delete a parent node in a linked list, forgetting to delete all its children first -- and your
Clear explanation of Rust’s module system
Easy to understand explanation using visual aids and practical examples
Introduction to monads in JavaScript
I know, I know, the world does not need yet another introduction to monads (or yet another article complaining that world does not need yet another introduction to monads). So you’ll be glad to know this isn’t one of those, in the sense that it’s not new. I thought I’d write it because, first, monads are worth knowing…
LL and LR Parsing Demystified (2013)
My first adventures in parsing theory came when I was doing anindependent study of programming languages in college. When I got tothe part about algorithms s...
A Rebuttal for Python 3
Zed Shaw, of Learn Python the Hard Way fame, has now written The Case Against Python 3. I’m not involved with core Python development. The only skin I have in this game is that I like Python 3. It’s a good language. And one of the big factors I’ve seen slowing its adoption is that respected people in the Python commu
Making Games in Lisp with Hypergiant and Chicken Scheme
Hypergiant is a library for CHICKEN Scheme that tries to make it easy to make efficient games. 1 The idea behind it is the belief that games should start with a prototype that should take minimal effort, but these should be extensible to be whatever you want the final product to be. So Hypergiant attempts to find the…
Rust on Espressif chips
Scott Mabin's blog
Running Rust on the Rumprun Unikernel
The Rust programming language has been able to run on bare-metal without the standard library for quite some while now. However, most Rust applications depend on the std crate, and therefore still need a full operating system to run.
Implementing a LLVM Micro C compiler in Haskell
In this series, we will explore how to write a compiler for a small subset of C to LLVM in Haskell. Our language, Micro C, is basically a small subset of real C. We'll have basic numeric types, a real bool type, pointers, and structs. At the end of the series, we'll have a beautiful executable, mcc (Micro C…
On Apple's Love Affair with Swift
I wanted to write a thoughtful article in response to Dominik Wagner’s “On my misalignment with Apple’s love affair with Swift” . During my research I realized, that Chris Lattner had already done this. Sort of. 17 months before Dominik published his piece.
Where Everything Went Wrong: Error Handling and Error Messages in Rust (2020)
Today you are frustrated.
What makes Nim practical?
In my last post I showed what makes the Nim programming language special. Today, let’s consider Nim from another angle: What makes Nim a practical programming language?
The pervasive effects of C's malloc() and free() on C APIs
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…
Compiler Development: Rust or OCaml?
The question of which language suits best for compiler development is a frequent one amongst language enthusiasts (e.g., see discussions here , here , and here ). Sadly, most of the commenters either 1) just answer with their language of choice without any explanation, or 2) provide a vague explanation without any…
You Should Compile Your Python and Here’s Why
write Python that’s faster than C by optimizing your code, adding standard type annotations, and using Mypyc.
Parameterized types in C using the new tag compatibility rule
C23 has a new rule for struct, union, and enum compatibility finally appearing in compilers starting with GCC 15, released this past April, and Clang later this year. The same struct defined in different translation units (TU) has always been compatible — essential to how they work. Until this rule change, each such…
BuckleScript: An OCaml to JavaScript compiler
RECENTLY I've been paying attention to the BuckleScript compiler from OCaml to JavaScript (ES5, to be exact). I'm seeing some significant a...
I wrote a 231-byte Brainfuck compiler by abusing everything
We wrote a Brainfuck compiler back in April . That one developed a simple architecture to support multiple backends. Today, I want to write a new Brainfuck compiler. One that can only run on a single system, OpenBSD /amd64. And one that is as small as I can possibly make it. I broke into the sub-256 bytes club with my…
Yes, code is data, but that's not what makes Lisp cool
There has been some debate on Hacker News lately about what makes Lisp cool , in particular about whether the secret sauce is homo-iconici...
Hecto: Build your own text editor in Rust
Welcome! This is a series of blog posts that shows you how to build a text editor in Rust.