Topics /

Programming Languages

The most popular blog posts about programming languages on Hacker News. 384 posts.

2022
312

Async Rust: Panics vs. Cancellation

One of the things people often complain about when doing Async Rust is cancellation. This has always been a bit confusing to me, because it seems to me that async cancellation should feel a lot like panics in practice, and people don’t complain about panics very often (though they do sometimes). This post is the start…

313

The long strange trip to Java (1996)

I've debated with myself for several years about whether or not to write this down. After so much time has passed, the facts are confused, 20/20 hindsight creeps in, and selective memory plays a role in how fairly I can portray the events. Many reporters have asked me my version of these past few years, several have…

314

Programming with Nothing

I love Ruby! I’ve used it every day for years and I’m not sick of it yet. It’s an easy language to love: it’s expressive, flexible and syntactically beautiful ; it has a unique combination of useful features like mixins , metaclasses and blocks ; it comes with a useful core library and comprehensive standard library …

317

Arc and Mutex in Rust

When writing concurrent Rust you will encounter Arc and Mutex types sooner or later. And although Mutex might already sound familiar as it's a concept known in many languages, chances are you haven't heard about Arc before Rust. What's more, you can't fully understand these concepts without tying them to the ownership…

318

Memories: Edinburgh ML to Standard ML

Dave MacQueen (with Robert Harper and John Reppy) has written a 100-page History of Standard ML . Here I offer my brief, personal and utterly subjective impressions of its early days, up to the deeply unfortunate schism that created what was then called Caml . Standard ML was a tragic missed opportunity. But even…

322

Faster Sorting with Go Generics

Recently, a new set of sorting functions has landed in Go's golang.org/x/exp/slices package [1] . These functions leverage Go generics to provide a more ergonomic API for sorting (without requiring users to implement sort.Interface ), and also deliver a nice performance improvement, as the CL demonstrates.

323

Crystal 1.5

We are delivering a new release with several bugfixes and improvements. Below we list the most important or interesting changes, without mentioning several bugfixes and smaller enhancements. For more details, visit the changelog. Breaking changes are marked with ⚠️.

329

My Elm Experience

I've been using Elm since about one year back now. At the start of 2021 I began working with a client that had an existing Elm frontend code base and an early stage backend built in Elixir and Phoenix. This post will be about my experiences running face first into Elm. I'll be vague on some details as I can't share…

330

Binary Lambda Calculus (2020)

Binary lambda calculus ( BLC ) is a minimal, pure functional programming language invented by John Tromp in 2004, 1 based on a binary encoding of the untyped lambda calculus in De Bruijn index notation.