New
The latest blog posts to take off on Hacker News. 5,635 posts.
Lisping at JPL Revisited
It has been over 20 years since I wrote " Lisping at JPL ", half memoir and half geeky screed (and all of it half-baked) about how an obscur...
Thoughts on what a next Rust compiler would do
In Rust in 2023, @nrc floated an idea of a Rust compiler rewrite. As my hobby is writing Rust compiler frontends (1, 2), I have some (but not very many) thoughts here! The post consists of two parts, covering organizational and technical aspects.
JEP draft: No longer require super() and this() to appear first in a constructor
In constructors in the Java programming language, allow statements that do not reference the instance being created to appear before an explicit constructor invocation. This is a preview language feature .
Rust concepts I wish I learned earlier
This past month, I have been enthralled by the Rust programming language given its unique edge for writing memory-safe, modern programs. Over the years, several languages have emerged as the most preferred by engineers to write resilient, backend software. The tides have shifted from Java/C++ into Go and Rust, which…
Common Lisp and Music Composition
Once upon a time, there were many music composition software packages, mostly written in Common LISP. To name a few I know, Common Music, Symbolic Composer (not related to the Symbolics Lisp Machine). Common Music is still available in source code but I doubt if anyone is still able to setup that. Symbolic Composer…
Ruby 3.2’s YJIT is Production-Ready
YJIT, a just-in-time (JIT) implementation on top of CRuby built at Shopify, is now production-ready and delivering major improvements to performance and speed. Maxime shares the updates that have been made in this newest version of YJIT, and future plans for further optimization.
PHP in 2023
A blog about modern PHP, the web, and programming in general. Follow my newsletter and YouTube channel as well.
Why we need to know LR and recursive descent parsing techniques
A couple of people have asked me for my thoughts on part of an article from Tiark Rompf called (roughly) “ Just Write the Parser ” which advocates the use of recursive descent parsing over more “formal” approaches to parsing, at least in the context of teaching compilers. I’m fairly sure I read this article a couple…
How Memory safety approaches speed up and slow down development velocity
Every March, developers worldwide each try to make a roguelike game in less than 168 hours as part of the 7DRL Challenge . Roguelike games are hard , involving procedural level generation, pathfinding, line-of-sight algorithms, and more dijkstra maps than you can imagine.
Major standard library changes in Go 1.20
The second part of a three part look at new features in Go 1.20.
Making Lenses Practical in Java
How (and why!) to convince the machines to write lenses for you
Rust vs. C++ Formatting
In Rust, if I want to print some 32-bit unsigned value in hex, with the leading 0x, padded out with zeros, I would write that as:
What the hell is Forth? (2019)
Forth is perhaps the tiniest possible useful interactive programming language. It is tiny along a number of dimensions: The amount of c...
Nintendo 64 Java
Mike Kohn's music, software, and electronics projects.
30 years of Brainfuck
Has nerd sniping gone too far?
On leading underscores and names reserved by the C and C++ languages
The rules laid out.
Common Lisp: 2022 in review
And 2022 is over. The Common Lisp language and environment are solid and stable, yet evolve. Implementations, go-to libraries, best practices, communities evolve. We don’t need a “State of the Ecosystem” every two weeks but still, what happened and what did you miss in 2022?This is my pick of the…
A look at Unison: a revolutionary programming language
Unison is a pure functional programming language that comes with a few revolutionary ideas. Seriously, it makes everything we’re used to, like long builds, dependency version conflicts, tests that run every single build even when nothing checked by them has changed, manual encoding and serialization of data, and lots…
My encounter with Medley Interlisp
Imagine someone let you into an alien spaceship they landed in your backyard, sat you at the controls, and encouraged you to fly the ship...
Modern C for C++ peeps (2019)
(update 26-Aug-2020: the MSVC team has recently added C11language support to their roadmap, hooray!)
A practical comparison of build and test speed between C++ and Rust
A practical comparison of build and test speed between C++ and Rust.
Microfeatures I'd like to see in more languages
There are roughly three classes of language features: Features that the language is effectively designed around, such that you can't add it after the fact....
Go 1.20 Cryptography
A lot of new cryptography is landing in Go 1.20, including the new crypto/ecdh package and math/big-less RSA and ECDSA backends!
Ruby 3.2.0 is from another dimension
I don’t know what you were doing on 25th of December 2022. I was eating pierogis, while Ruby team did some epic sh***!
26 programming languages in 25 days, Part 2: Reflections on language design
I recently wrote about completing Advent of Code 2022 using a different programming language (or two) every day for 25 days.
Rust for Professionals
This is a short introduction to Rust, intended for developers that already know another language. In the examples, Rust is compared with TypeScript, JavaScript or Java, sometimes with C++ or Kotlin.