Tag
The author details creating a shoot 'em up game on a custom bytecode VM in 7 days for the Langjam Gamejam, producing a 3kB Windows executable with a fullscreen pixel shader.
An essay analyzing why programming languages fail, arguing that adoption depends less on technical merit than on how well a language serves programmers as a vocation, art, and job.
An exploration of multistack concatenative programming languages, discussing how auxiliary stacks and dynamic bindings like Factor's namespaces and PostScript's dictionaries can ease data stack management without sacrificing concatenative composition.
A blog post announcing the addition of recursive functions to the Futhark programming language, explaining the historical challenges of recursion on GPU backends and the design trade-offs involved.
Interview with Lua creator Roberto Ierusalimschy covering Lua's unique embedding-oriented design, its differences from Python, LuaJIT's workings, and predictions for AI's impact on programming languages.
Rust project goals outline plans for immobile types and guaranteed destructors to improve language safety and resource management.
This article examines explicit capture clauses in Rust as an alternative to move expressions, proposing a first-class language feature for converting references to owned values and analyzing various closure capture patterns.
A blog post discussing the design of integer types in various programming languages, arguing that Rust's approach of forcing explicit sizing and signedness selection is superior to languages with a default `int` type.
The article explores obscure details about pre-ANSI C (K&R C) including the absence of void, different floating point types, and simplified type specifier rules. It explains how the language's context-sensitive grammar was justified by single-pass compiler constraints.
G# is a new .NET language that brings Go-, Kotlin-, and Swift-style ergonomics to the .NET runtime, compiling directly to managed assemblies.
An article discussing the debate between signed and unsigned integer defaults in programming language design, using Odin and C3 as examples. The author argues that signed-by-default is more practical despite theoretical advantages of unsigned.
A free online textbook on compiler construction by Prof. Douglas Thain, enabling readers to build a compiler for a C-like language to X86 or ARM assembly, available for download or purchase.
Rhombus v1.0, a new extensible programming language built on Racket with conventional syntax and powerful macro facilities, has been released.
The article argues that disallowing trailing separators (like commas) in programming languages and data formats makes code editing more error-prone and less consistent, and advocates for language designs that permit trailing separators for better developer experience.
This article by Marshall Lochbaum discusses the philosophy behind choosing primitives in the BQN array programming language, arguing that primitives should be discovered rather than invented, and contrasts symbols versus names.
An article explaining the historical and technical reasons for the existence of the arrow operator (->) in the C programming language.
Anders Hejlsberg, creator of C#, discusses the design goals that shaped the language, including object orientation, managed code, garbage collection, reflection, and standardization.
Aperio is a programming language designed to reduce the translation cost between human mental models and LLM code generation by using a structural model based on recursive hypergraphs of typed units called loci.
Julio Merino discusses the future of EndBASIC, exploring whether to remove the BASIC language layer to repurpose the underlying Rust VM and graphics engine for more modern or versatile development needs.
TLA+ semantics guarantee nonordered updates, but the TLC model checker breaks these guarantees by requiring ordered assignments and adding effectful operators like PrintT, causing confusion for beginners.