Topics /
Programming Languages
The most popular blog posts about programming languages on Hacker News. 5,634 posts.
Kotlin 1.1: What’s coming in the standard library
Java 9 preparations Java 9 is coming and brings Project Jigsaw to the table — the Java platform module system. One of the constraints it imposes is that no two modules can declare public API in the s
Where Rust really shines
Yesterday I was working on a small feature for the Rust compiler, and came across a situation which really showcased Rust’s awesomeness as a language …
Microsoft Edge supports ES6 modules
Chakra, the recently open-sourced JavaScript engine that powers Microsoft Edge and Universal Windows applications, has been pushing the leading edge of ECMAScript language support. Most of ES2015 (aka ES6) language support is already available in Edge, and last week’s Windows Insider Preview build 14342 brings more…
Optimizing Ruby lazy initialization in TruffleRuby with deoptimization
Shopify's involvement with TruffleRuby began half a year ago, with the goal of furthering the success of the project and Ruby community. TruffleRuby is an alternative implementation of the Ruby language (where the reference implementation is CRuby, or MRI) developed by Oracle Labs. TruffleRuby has high potential in…
Beginner's guide to error handling in Rust
Easy to follow guide using practical examples
Little Languages
Buy maxhallinan.com: Moz DA 15 and 223 referring domains. Listed at $195 via Afternic / GoDaddy — full ownership, fast registrar transfer.
Thoughts on porting NumPy to PyPy
Last weekend, I attended GitHub's PyCodeConf in Miami Florida and had the opportunity to give a talk on array-oriented computing and Python....
I Built a Ruby Parser
Sorry, this post will read like a “dear diary” entry rather than some life-changing HN-worthy guidance. Back in November 2020, almost on a whim I started work on a new parser for the Ruby programming language. It was almost exactly a year after I had started working on my compiler project (I hope to write a longer…
Tools for Learning LLVM TableGen
TableGen is a language used within the LLVM project for generating a variety of files, when manual maintenance would be very difficult. For example, it is used to define all of the instructions that can be used on a particular architecture.
Implementing Algebraic Effects in C
We describe a full implementation of algebraic effects and handlers as a library in standard and portable C99, where effect operations can be used just like regular C functions. We use a formal operational semantics to guide the C implementation at every step where an evaluation context corresponds directly to a…
Shell Completions in Rust
If you've ever hit the tab key while typing commands in the shell, you are familiar with the value of shell completions. Bash has some default completion behavior, which is why you can type hel<TAB> and end up with help . It is also possible to add additional completion scripts which define the completion behavior for…
The language of choice
Propositional logic was discovered by Stoics around 300 B.C., only to be abandoned in later antiquity and rebuilt in the 19th century by George Boole’s successors. One of them, Charles Peirce, saw its significance for what we now call logic circuits, yet that discovery too was forgotten until the 1930s. In the ’50s…
SLING: A Natural Language Frame Semantic Parser
Posted by Michael Ringgaard, Software Engineer and Rahul Gupta, Research ScientistUntil recently, most practical natural language understanding (NL...
A Tour of Go - Real examples of interfaces and concurrency
Last week, I gave a talk about Go at the Boston Google Developers Group meeting. There were some problems with the recording, so I have rerecorded the talk as a screencast and posted it on YouTube.
Stack traces in GHCi, coming in GHC 8.0.1
Bluesky: @simonmar.bsky.social Github: simonmar Email: marlowsd@gmail.com LinkedIn: Simon Marlow
Deconstructing K&R C (2010)
Learn C The Hard Way (LCTHW) is a practical book teaching real world useful C using the same proven Learn The Hard Way method. LCTHW teaches real robust C coding and defensive programming tactics on real hardware rather than abstract machines and pedantic theory. The book emphasizes breaking your code on purpose, and…
Go’ing Insane: Endless Error Handling
I’ve been using Go for a few years now, mostly in my open source project Lazygit. In my day job I use Ruby and Typescript, and I’ve also spent some time with Rust. Each of those languages have design quirks that can grind a developer’s gears, and although my own precious gears have been ground by every language I’ve…
Object Oriented Programming is Inherently Harmful
“ Object-oriented programming is an exceptionally bad idea which could only have originated in California. ” – Edsger Dijkstra
Just what does “code as data” mean anyway? (2014)
Recently, I’ve seen popular articles on macros and metaprogramming in Nimrod and Elixir . Both of these are wonderful metaprogramming systems, to be sure, but I couldn’t help but imagine some in the audience smirking inwardly – and occasionally less inwardly. What odd syntax! How out-of-place they are! If only there…
Golang's big miss on memory arenas
When your software team needs to pick a language today, you typically weigh two factors: language performance and developer velocity.
C++ says “We have try... finally at home”
The destructor serves as the "finally".