Topics /
Programming Languages
The most popular blog posts about programming languages on Hacker News. 5,634 posts.
A Lisp interpreter written in Lisp (2017)
A Lisp interpreter written in Lisp
Visual Rust 0.1 is out
A user friendly game engine written in Rust
Using Zig to Unit Test a C Application
Zig is a new, independently developed low-level programming language. It’s a modern reimagining of C that attempts to retain C’s performance while embracing improvements from the last 30 years of tooling and language design. Zig makes calling into C code easier than any other language I’ve used. Zig also treats unit…
Undefined vs. Unsafe in Rust
Recently Julia Evans wrote an excellent post about debugging a segfault in Rust. (Go read it, it’s good) One thing it mentioned was I think “ …
Hacking Coroutines into C
A while ago, I was part of a team developing embedded software. The software was deeply rooted in state machines - dozens of them—spread across multiple functions. While this architecture is common in embedded development, especially for systems without an operating system, I started to question: Is this really the…
Rust as the New C Part 1: Building and Combining Native Libs into C API
Evaluating Rust as the common denominator of modern development
PyPy 1.7 released: widening the sweet spot
We're pleased to announce the 1.7 release of PyPy. As became a habit, this release brings a lot of bugfixes and performance improvements ove...
Several core problems with Rust
I used to call myself a Rust hater, but really I was doing it just to compensate for the perceivable fanboyism e.g. Rust tops on stackoverflow surveys as most-loved language. There are many reasons to hate C++, and I hate C++ too. Lots of people were waiting for a better programming language, but got Rust instead.
Paving the on-ramp to Java
Java is one of the most widely taught programming languages in the world. Tens of thousands of educators find that the imperative core of the language combined with a straightforward standard library is a foundation that students can comfortably learn on. Choosing Java gives educators many degrees of freedom: they can…
Error handling in Rust
A blog, mostly about programming
Designing a Programming Language
Programming languages come in a variety of different paradigms. Even so, there tend to be two main camps along the language front. There are static languages and there are dynamic languages. To avoid too much history and any sort of in-depth analysis, this article will simplify things with a number of assumptions. One…
Goroutines: The concurrency model we wanted all along
Goroutines are the single feature that distinguishes Go from other languages. They look very much like threads, but they are cheap to create and manage. Go's runtime schedules goroutines onto real threads efficiently so you can easily create lots of goroutines.
Proposals for Go 1.15
For Go 1.15, we propose three minor language cleanup changes.
History of Spring Framework and Spring Boot
Spring framework is arguably one of the most popular application development frameworks used by java developers. It currently consists of a large number of modules providing a range of services. These include a component container, aspect oriented programming support for building cross cutting concerns, security…
Scala 3 Migration: Report from the field
April 30, 2024. I decided to dedicate a week to migrate our main project at work (a multiplayer mobile game server in production for over 4 years) from Scala...
Why split lexing and parsing into two separate phases?
“lex and yacc” are two terms that are used together so often that they can seem indivisible. lex takes a string as input and divides it up into lexemes (roughly speaking “words”) and yacc takes a sequence of lexemes and parses them. Since some parsing approaches such as recursive descent parsing unify these phases…
The Go Compiler Needs to Be Smarter
One of my favorite languages is the Go language. I love its simplicity. It is popular and useful in a cloud setting. Many popular tools are written in Go, and for good reasons. I gave a talk on Go last year and I was asked for a criticism of Go. I do not mind that … Continue reading The Go compiler needs to be smarter
Go: The Good, the Bad and the Ugly
This is an additional post in the “Go is not good” series. Go does have some nice features, hence the “The Good” part in this post, but overall I find it cumbersome and painful to use when we go beyond API or network servers (which is what it was designed ...
“Safe C++ Subset” Is Vapourware
Robert O'Callahan. Christian. Kiwi. Software guy. All content human-authored unless otherwise noted.