Topics /
Programming Languages
The most popular blog posts about programming languages on Hacker News. 384 posts.
Embracing Modern C++ Safely, Book Review
C++11 has been around for around 11 years and C++14 for 8. From my experience, I see that even today, many companies struggle to use those standards in production in the most efficient way. As always, with new stuff came benefits, risks, and increased learning effort. Fortunately, with a new book written by top C++…
What is a programmable programming language? (2019)
When I was still researching this fabled obscure language called Lisp one thing people kept saying about it is that “Lisp is a programmable programming language”, but I could never figure out what they meant by that. It sounds like a smug buzzword or like a gimmick from an academic toy language. Lisp programmers have…
Revisiting the design approach to Zig
Zig is a general-purpose programming language that can act as a drop-in replacement for C / C++, letting you incrementally improve your code base.
How to choose the right Python concurrency API
In this tutorial, you will discover a helpful step-by-step procedure and helpful questions to guide you to the most appropriate concurrency API.
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
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…
Strict Python function parameters
What do you think about when writing a new function in Python? The function name, parameter names, optional/required parameters, and default arguments are all on the list. Here is a simple Python f...
Java 20: A Sneak Peek on the Panama FFM API
A blog about Java
How not to teach recursion (2021)
Parenthetically Speaking: Articles by Shriram Krishnamurthi
What happened to proper tail calls in JavaScript? (2021)
ECMAScript supports proper tail calls. How come browser don't support it?
The Composition over Inheritance Principle (2020)
In Python as in other programming languages, this grand principle encourages software architects to escape from Object Orientation and enjoy the simpler practices of Object Based programming instead.
Const all the things?
Last week someone posted a /r/cpp thread titled “Declaring all variables local to a function as const”: Ok, so I’m an old-school C++ programmer using the language now since the early ’90s. I’m a fan of const-correctness for function and member declarations, parameters, and the like. Where, I believe, it actually…
Why I Like D
My engineer friends are surprised when I mention I know and I even wrote code in the D programming language (aka Dlang).
Pointers Are Complicated III, or: Pointer-integer casts exposed
In my previous blog post on pointer provenance, I have shown that not thinking carefully about pointers can lead to a compiler that is internally inconsistent: programs that are intended to...
Rust from 0 to 80% for JavaScript Developers
Learn Rust to 80% in 5 minutes by leveraging your existing JavaScript knowledge. In this article, I list a number of differences Rust has compared to JS that is crucial to understanding it.
Why learn Racket? A student's perspective
A few thoughts on why I think you should learn Racket.
Millet, a Language Server for SML
A language server for Standard ML.
What Makes the Zig Programming Language Unique?
Zig lets you run code during compilation. What are the implications?
What was wrong with SML?
From the highly eclectic blog of Mark Dominus
Benchmarking Ruby 2.6 to 3.2
The yearly benchmarking Ruby post
Julia Macros for Beginners
Macros are a powerful and interesting feature of the Julia programming language, but they can also be confusing. Users coming from Python, Matlab or R have not come in contact with similar constructs before, and they require a different way of thinking about code. This article is supposed to be a simple introduction…
The state of static analysis in the GCC 12 compiler
New features and a substantial reduction in false positives bring GCC's static analysis closer to being production-ready for C code.
Nim Version 1.6.6 Released
The Nim team is happy to announce version 1.6.6, our third patch release for Nim 1.6.
Rust in 2022
In previous years, the core team have asked the community to write new years blog posts about Rust in the coming year. They haven't this year, but I wanted to write one anyway. However, it turned out to be harder than expected. Perhaps that's due to Rust being in an
C# 11 Preview Updates – Raw string literals, UTF-8 and more
C# 11 features are coming along nicely and the most recent release features all sorts of goodies including updates to string literals, pattern matching, checked user-defined operators, and an update on !!.
Pyston-lite: our Python JIT as an extension module
Today we’re very excited to announce Pyston-lite, a JIT for Python that is easily installable as an extension module. We’ve taken the core technology of Pyston and repackaged it so that…
Metaprogramming in Python
How you can use metaprogramming in Python and how it can simplify certain tasks.