Topics /
Programming Languages
The most popular blog posts about programming languages on Hacker News. 5,634 posts.
Distribution of JVM Desktop Applications
This is the 6th post in the The state of JVM desktop frameworks focus series.
Gradual Programming
Programming is a fundamentally incremental (or gradual) process, and our programming languages should reflect that. I show several ways in which program models transition over time and discuss how future research can further a human-centric vision for programming languages.
If only Borland had stuck with Turbo Modula-2 for CP/M (2013)
I have written previously about why Turbo Pascal is a Great Choice For Programming Under CP/M and now it is time to talk about what could have been. You probabl
What's New in PHP 8.1
PHP 8.1 adds support for PHP enums, as well as readonly properties, Fibers, performance improvements, new in initializers, and more.
This is valid Python syntax
Sometimes it's even useful too
C++ Modules: Packaging Story
Experimenting with C++ Modules from the package management and build system perspective
Exploring Error Handling Patterns in Go
One such topic that has challenged my own conceptions is how errors are handled in Go. To recap:
The end of "Useless Ruby sugar": On intuitions and evolutions
I wrote the analysis of “useless sugar” features of Ruby for two months, and I regret nothing.
Formally Verifying Rust's Opaque Types
Introduction The other day I was reading this blog post covering existential types in Rust (also known as impl Trait or opaque types). In that blog post, the author makes the following claim. We’re going to have to take a slight diversion into type theory here because it motivates a result that is perhaps intuitive…
C'mon, stop writing Java for Android
Stop writing Java for your Android apps! There are a slew of ways to build...
From AST to Lossless Syntax Tree
As noted in ASDL Implementation and Use Cases , I began with a simple AST interpreter for OSH, thinking that the two languages could share the same AST.
Scala == Effective Java?
I started reading Joshua Bloch's Effective Java last week. I'll have to admit that I haven't read it before, but only because I've been told...
Dart 1.9
Asynchronous programming is everywhere – user interaction, network access, file I/O. Dart simplifies and enhances these scenarios with the...
PyPy 7.3.2 triple release: Python 2.7, 3.6, and 3.7
The PyPy team is proud to release version 7.3.2 of PyPy, which includes three different interpreters: PyPy2.7, which is an interpreter su...
“Hello World” in assembly language on Linux
One of my side-projects this summer is to become minimally literate in assembly language. So I began by reading up a tutorial on the x86-64 and the Linux ABI .
Lingo: A Go micro language framework for building Domain Specific Languages
Design, build and integrate your own Domain Specific Language with Lingo.
Exponential time complexity in the Swift type checker
One of the most annoying problems in Swift is when the compiler gives an 'Expression was too complex to be solved in a reasonable time' error. I look at why this error occurs, how to avoid it and talk about how this should be solved in a future compiler update.
An obscure research project could accelerate innovation in language design
An obscure research project could radically accelerate innovation in programming language design
Rust on the ESP32 (2019)
Scott Mabin's blog
Solving murder with Prolog
In our company we usually have a fun quiz every sunday and this was one of them
How I developed a faster Ruby interpreter (2022)
Learn about 8 optimization techniques for a faster interpreter in Ruby which I developed using a dynamically specialized internal representation (IR).
Crash Course on Notation in Programming Language Theory
This blog post is meant to help my friends get started in reading my other blog posts, that is, this post is a crash course on the notation ...
Compiling Clojure to javascript pt 1
this is the first entry in an n-part series explaining the techniques and design principles of ClojureScript . translations: [ 日本語 ]
A History of the Rubinius Ruby JIT
Rubinius began as a metacircular implementation of Ruby and was billed as Ruby in Ruby . Today the core and much of the standard library, parser, bytecode compiler, and other components are implemented in Ruby, but the interpreter, runtime, GC and other components, are written in C++.