Topics /
Programming Languages
The most popular blog posts about programming languages on Hacker News. 384 posts.
My First Fifteen Compilers
We sometimes think of the number of passes in a compiler as a measure of the compiler’s complexity. But what if we could make compiler development more approachable by fully embracing the ide…
Elements of Clojure
Daniel: 00:00:00 Hello, welcome to the REPL, a podcast diving into Clojure programs and libraries. This week, I’m talking about Clojure with Zach Tellman, the creator of Manifold and Elements of Clojure, a recent book about Clojure. Welcome to the show, Zach.
The Value in Go’s Simplicity
After using Go for a couple years, I’ve really come to appreciate its simplicity. I started writing Go at work a couple months ago, and have found it really easy to iterate on – much more so than Python and Java.
Let's Build a Compiler
Compilers, interpreters, runtimes, and the like can sometimes feel vaguely magical. They take your code, perform complex transformations that you only partially understand, and spit out an executable binary. Clearly, the inner workings of such a beast must contain arcane secrets, not meant for the minds of mortals.
Algebraic Structures: Things I wish someone had explained about FP
Algebraic Structures are something I wish I’d understood better, sooner. I had a hazy idea of what they were, but didn’t know the correct terminology. That was a massive barrier to finding out more. This article is my attempt to stop that happening to others. We’ll look at: What are algebraic structures? How do we use…
I Built a Lisp Compiler
I’m very proud to announce the completion of my first programming language compiler! Malcc is an incremental and ahead-of-time lisp compiler written in C. This is the story of my progress over the years and what I learned in the process. An alternate title for this post is: “How to Write a Compiler in Ten Years or…
A final proposal for Rust await syntax
This is an announcement regarding the resolution of the syntax for the await operator in Rust. This is one of the last major unresolved questions blocking the stabilization of the async/await feature, a feature which will enable many more people to write non-blocking network services in Rust. This post contains…
Go Slices Are Fat Pointers
One of the frequent challenges in C is that pointers are nothing but a memory address. A callee who is passed a pointer doesn’t truly know anything other than the type of object being pointed at, which says some things about alignment and how that pointer can be used… maybe. If it’s a pointer to void ( void * ) then…
Speeding Up the Rust Compiler
I last wrote in October about my work on speeding up the Rust compiler. With the year’s end approaching, it’s time for an update.
Async-std: an async port of the Rust standard library
A Rust library for easy and understandable async programming
Bytecode compilers and interpreters
Two fun things happened recently and the proximity of the two made something go click in my head and now I think I understand how bytecode interpreters work.
I love coding in C
For the first time in almost a year, I brushed up on my C fundamentals and built a few toy programs. As I played around with pointers and printed out a memory location, I experienced a literal chill down my spine. I had almost forgotten how marvelous programming in this language was.
Add detailed message to NullPointerException describing what is null
Improve the usability of NullPointerException s generated by the JVM by describing precisely which variable was null .
Go Turns 10
Happy 10th birthday, Go!
Ruby 2.7
We are pleased to announce the release of Ruby 2.7.0.
Next steps toward Go 2
What Go 2 language changes should we include in Go 1.14?
Python in the Windows 10 May update
Python might be hard to install on Windows, but with the latest Windows 10 update, you can type "python" to find it in the Microsoft Store.
Applying programming language research ideas to transform spreadsheets
Spreadsheets are the world’s most widely used programming language, by several orders of magnitude. We asked ourselves whether it would be possible to apply programming language research ideas to make spreadsheets a better programming language? If we could, that would empower a huge user community to do more. One of…
Why Racket? Why Lisp?
Beautiful Racket
Do you have a problem? Write a compiler
These are notes of the talk I gave at ClojuTre 2019 . There is a video recording of the talk , and the slide deck as a PDF .
The Rust compiler is still getting faster
A key theme of the Rust 2019 roadmap is maturity . This covers a variety of topics, but a crucial one is compile times. For example, the roadmap itself has the following as the first main theme for the compiler team.