Topics /
Programming Languages
The most popular blog posts about programming languages on Hacker News. 5,634 posts.
Growing fibers
wingolog: article: growing fibers
Binary Lambda Calculus (2020)
Binary lambda calculus ( BLC ) is a minimal, pure functional programming language invented by John Tromp in 2004, 1 based on a binary encoding of the untyped lambda calculus in De Bruijn index notation.
Implementing Value Speculation in OCaml
Lucas Pluvinage's website
Interaction Nets, Combinators, and Calculus – HVM
Experiments, technology, and thoughts on life.
Clojure 1.2 released
I'm pleased to announce today the release of Clojure 1.2. http://clojure.org/downloads For maven/leiningen users, your settings to get the b...
New in Go 1.20: wrapping multiple errors
Go 1.20, which is expected to be released in February 2023, comes with a small change that can possibly improve error handling in applications which heavily use …
Safety: A comparaison between Rust, C++ and Go
Memory safety is a hot topic, but what do we mean by it?
C's Flexible Integer Sizes Were Not a Design Mistake
Word sizes, strange machines, and why <strong>int</strong> was never meant to mean 32 bits. C's flexible integer types were how the language achieved portability in a world of 12, 18, 36, and 60-bit computers.
Experiment: Making TypeScript immutable-by-default
I got it working with arrays and records, but couldn't make it work for regular objects.
Zig's dot star syntax (value.*)
Karl Seguin's Blog - A mix of coding and creative writing
Changes I would make to Go
To highlight exactly how I think Go could be better, I want to make comparisons to Rust.
Lisp: More is less
There’s recently been a resurgence of interest in Lisp (specifically, Clojure) in my neighborhood. I have some kind of a fondness for Lisp, but I think some of its characteristics make it poorly suited for use in large programming efforts. Indeed many of the unique properties that Lisp devotees (myself once included)…
Result is all I need
Rocky Jaiswal. Christian developer living in Berlin. Blogs about programming & technology.
Sum Types Are Coming (2015)
Just as all mainstream languages now have lambda functions, I predict sum types are the next construct to spread outward from the typed functional programming community to the mainstream. Sum types are very useful, and after living with them in Haskell for a while, I miss them deeply when using languages without them…
Rust 1.x seems to not always be backward compatible in practice
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…
The myth of the Lisp genius
I'm fascinated by the myth of the Lisp genius, the eccentric programmer who accomplishes super-human feats writing Lisp. I'm not saying that such geniuses don't exist; they do. Here I'm using "myth" in the sense of a story with archetypical characters that fuels the imagination. I'm thinking myth in the sense of…
When if is just a function
what does this mean and does it matter
Namedtuple in a Post-Dataclasses World
namedtuple has been around since forever, and over time, its convenience saw it used far outside its originally intended purpose. With dataclasses now covering part of those use cases, what should one use named tuples for? In this article, I address this question, and give a few examples from real code.
Common Lisp Object System (CLOS)
I’ve encountered Object-Oriented Programming when I was learning Python (which is my first language). I’ve struggled with it because the paradigm is not as o...
The Value of Undefined Behavior
In several places, the C and C++ language specifications use a curious, and fairly controversial, phrase: undefined behavior . For certain program constructs, the specification prescribes no specific behavior, instead allowing anything to happen . Such constructs are considered erroneous, and so the result depends on…
Object-oriented techniques in C
Although the techniques described below won't be very popular nowadays (after all, why bother using C if we're going to write object-oriented code?), they are still quite relevant for embedded systems and other low-level things (kernel development, etc). For example, lots of Linux Kernel subsystems use similar…