New
The latest blog posts to take off on Hacker News. 427 posts.
Taking PHP Seriously (2016)
Slack uses PHP for most of its server-side application logic, which is an unusual choice these days. Why did we choose to build a new project in this language? Should you? Most programmers who have only casually used PHP know two things about it: that it is a bad language, which they would never use if…
QBE vs. LLVM
Both QBE and LLVM are compiler backends using an SSA representation. This document will explain why LLVM does not make QBE a redundant project. Obviously, everything following is biased, because written by me.
The Road to the JIT
The official home of the Erlang Programming Language
1.5 is the midpoint between 0 and infinity in Ruby
What's the midpoint between 0 and infinity in Ruby? It's 1.5 for some reason. What's the reason you might ask? Read on to find out.
PHP 8
PHP is a popular general-purpose scripting language that powers everything from your blog to the most popular websites in the world.
Parse, don’t type-check
There’s a fantastic article from last year titled Parse, don’t validate. I’d highly recommend it to any programmer (along with the more recent follow up Names are not type safety). The basic idea i…
Why AWS loves Rust, and how we’d like to help
One of the most exciting things about the Rust programming language is that it makes infrastructure incredibly boring. That’s not a bad thing, in this case. No one wants their electrical wiring to be exciting; most of us prefer the safety that comes with being able to flip a switch and have light to see […]
Static Typing for Ruby: Adopting Sorbet at Scale
A look at how Shopify adopted static typing in it's core Ruby monolith by treating type checking like a product.
TypeScript 4.1
Today we're proud to release TypeScript 4.1! If you're unfamiliar with TypeScript, it's a language that builds on JavaScript by adding syntax for type
On the expressive power of programming languages (2019)
On the Expressive Power of Programming Languages with Shriram Krishnamurthi | September 12, 2019 in St. Louis, Missouri
Will R Work on Apple Silicon?
At WWDC 2020 earlier this year, Apple announced a transition from Intel to ARM-based processors in their laptops. This blog is about the prospects of when R will work on that platform, based on experimentation on a developer machine running A12Z, one of the “Apple silicon” processors.
Eleven Years of Go
Happy Birthday, Go!
Why's (Poignant) Guide to Ruby (2004)
Pretend that you’ve opened this book (although you probably have opened this book), just to find a huge onion right in the middle crease of the book. (The manufacturer of the book has included the onion at my request.)
Why Rust Is the Future of Game Development
Rust, not related to the video game also called Rust, is a promising systems programming language with novel features ideally suited for game development. Exposure and awareness within the game developer community, however, remains limited. In this post, I provide a gentle introduction to Rust and attempt to justify…
What’s the Role of Developer Experience in Programming Languages Research?
Programming languages papers often talk about usability advantages, but the evaluation sections of these papers tend to focus on performance or semantic guarantees. What if we applied methods from …
Why Typing Erlang is Hard: Standard Erlang
Leo Ostera — making computers do things
Perl One-Liners Cookbook
Example based guide for text processing with Perl from the command line
Why Dark didn't choose Rust
Welcome again HN! Dark [https://darklang.com] is a programming language, structured editor, and infrastructure—all in one—whose goal is to make it 100x easier to build backend services. Check out the website [https://darklang.com/], our What is Dark [https://blog.darklang.com/what-is-dark/] post, and
A First Look at the JIT
The official home of the Erlang Programming Language
Three Months of Go from a Haskeller’s perspective (2016)
This summer I’ve been interning at Pusher , and have been writing a lot of Go. It’s been a bit of a change coming from a Haskell background, so I decided to write up my thoughts now, at the end.