Topics /
Programming Languages
The most popular blog posts about programming languages on Hacker News. 5,634 posts.
Is Go Duck-Typed?
In programming languages, duck typing can be approximated as the application of the duck test to objects. Here we explore if go is duck typed.
The R language, for programmers
Some things about the R programming language that programmers coming from other languages are likely to trip over.
Writing a competitive BZip2 encoder in Ada from scratch in a few days (2024)
Spoiler : it is also likely already the best BZip2 encoder for a given block size. See the green charts below. Note for subscribers: if you...
What canceled my Go context?
How Go 1.20's WithCancelCause and Go 1.21's WithTimeoutCause let you attach a reason to context cancellation, plus a gotcha with manual cancel and the stdlib pattern that covers every path.
Design Patterns Are Temporary, Language Features Are Forever
Design patterns are these cool things that make you go 'hell yeah' because they make a certain problem easier to deal with. Whether it's applicable to all languages, or due to a language constraint, they're pretty nice. Of course, some people go crazy with them rather than doing the simple thing that works. Other…
Translation Units Considered Harmful?
area being the function you really care about it is defined first - after all, code reads from top to bottom.
Oh, Go Ahead, Overthink FizzBuzz (2008)
I gave the best programming interview answer I may have ever given last Friday. The interviewer hauled out FizzBuzz and asked me to solve it. It took me a minute to stop laughing. FizzBuzz is a brain-dead simple programming problem, used pretty much to tell if a developer has a pulse at all. It is…
Notes on Virtual Threads and Clojure
Virtual Threads are an excellent addition to Java platform and here's how Clojure is going to benefit from it.
Strange C Syntax
In my attempts to learn the C programming language well enough to write my own C compiler , I've encountered some very interesting examples of C syntax that you generally don't see every day. All of these examples you'll see here will compile without warnings or errors even with very strict compiler flags in gcc and…
D’s Garbage Collector Problem
One of the biggest issues with Higgs, the JIT compiler I’m working on, is that the compilation times are too slow. The performance of the compiled machine code that Higgs produces is now fair…
An Overview of the Starlark Language
Laurent Le Brun's blog
High school programming taught in Haskell in Argentina
Today I want to share a wonderful experience. I'm professor of introductory programming in two years at Florentino Ameghino School and one...
The BEAM needs an APL-y language
One like, one unpopular opinion is one of them top Twitter games, innit?
Common Lisp as a Scripting Language, 2015 Edition
The first computer I used had about 2KB of RAM. The other day, I compiled a 2KB Common Lisp script into a 16MB executable to get its startup (and total execution) time down from 2s to subjectively instantaneous — and that didn't bother me the least, for my current computer has 8GB of working memory…
Cargo's next few years
The Cargo team have been thinking about and discussing long-term plans for Cargo. In this post I'll talk about what we hope Cargo will look like around the time of the next edition (assuming there is another edition and that it happens in about three years, neither of which is
QBE – Compiler Backend – 1.3
QBE 1.3 took a while to cook, but it is the most significant release since 1.0 with around 7k new lines of code and 1.5k deleted ones. In addition to the usual bug fixes, QBE gained a new and original IL matching algorithm, new optimizations from Roland Paterson-Jones, Scott Graham added support for the Windows ABI…
Ways to generate SSA
Static Single Assignment is a program representation where each “variable” (though this term can be misleading) is assigned exactly once. Mostly the variables aren’t variables at all, but instead names for values—for expressions. SSA is used a lot in compilers. See this lesson from Cornell for converting Bril to SSA…
Top-Down LR Parsing
This semester, I am teaching Compilers , and I'm quite happy with how I covered parsing this year. Specifically, I taught students to build a top-down LR parser and it seemed to go relatively well.
FasterCGI with HHVM
Today, we are happy to announce FastCGI support for HHVM. FastCGI is a popular protocol for communication between an application server (e.g. running your PH...
Fixing left and mutual recursions in grammars
Left & Mutual Recursion Mitigation
I got the GNU Modula-2 compiler working on OpenBSD
When it rains it pours. After making a splash with D , 1 I remembered that some time ago I began an attempt to bring the GNU Modula-2 compiler to OpenBSD . Because why not? Modula-2 is a language that exists and has compiler implementations. I guess my goal is to bring all the languages and compilers to OpenBSD. And…
Exploring PDP-1 Lisp (1960)
Introduction to Lisp programming on a PDP-1, with a hands-on practical focus