New
The latest blog posts to take off on Hacker News. 204 posts.
Julia is awesome, but..
Here's a language that gives near-C performance that feels like Python or Ruby with optional type annotations (that you can feed to one of two static analysis tools ) that has good support for macros plus decent-ish support for FP, plus a lot more. What's not to like? I'm mostly not going to talk about how great Julia…
Rust, an Anti-Sloppy Programming Language
Arthur’s thoughts on coding, software engineering, and other interesting things.
Obfuscating “Hello World” in Python
Fun with functional programming in Python | Ben Kurtovic's blog
OCaml 4.01 for iOS 8
The current OCamlXARM compiles by default for iOS 7.1, but using it for iOS 8 is not too difficult. The only thing that changes is the name of the SDK, which can be specified with the -ccopt option of ocamlopt.
Interface Upgrades in Go
Much has been written about Go’s interfaces . They’re one of the language features I like best, providing a very pragmatic trade-off between the complexity of more powerful type systems and the anarchy of duck typing. If you’re not already familiar with Go or Go’s interfaces, I’d encourage you to read an introduction…
Reimplementing “git clone” in Haskell from the bottom up (2013)
In order to give some structure to my ongoing investigation of git’s data structures, protocols and implementation I decided to re-implement git clone without using any of git’s plumbing commands or any of the existing git libraries. Along the way I tried to keep some implementation notes that should help to…
A farewell note to a programming language
Do you remember how we first met, back in 2012? I thought your functional approach was fresh, and different. For a while I believed we were made for each other. A first project was a success; on my own I was comfortable with the good parts of you. But as soon as I started working in teams writing Scala, your immense…
The R language, for programmers
Some things about the R programming language that programmers coming from other languages are likely to trip over.
Java Doesn’t Suck
I've been building enterprise Java web apps since servlets were created. In that time the Java ecosystem has changed a lot but sadly many enterprise Java…
You could have invented Parser Combinators
Computer Science, Machine Learning, Programming, Art, Mathematics, Philosophy, and Short Fiction
Great Works in Programming Languages (2004)
In September, 2004, I posted a query to the Types list asking people to name the five most important papers ever written in the area of programming languages. This page collects the responses I received. (A few are missing because I am still tracking down bibliographic information.)
Java for Everything
I used to ask interviewees, “What’s your favorite programming language?” The answer was nearly always, “I just choose the right language for the job.” Duh. Does anyone ever deliberately pick the wrong language? This was clearly a way to avoid actually naming a language for fear of picking one I didn’t like.
Rust borrow and lifetimes
Arthur’s thoughts on coding, software engineering, and other interesting things.
An argument against call/cc (2012)
Why a programming language should not offer a primitive to capture undelimited continuations (call/cc).
What's wrong with statistics in Julia?
Introduction Link to heading Several months ago, I promised to write an updated version of my old post, “The State of Statistics in Julia”, that would describe how Julia’s support for statistical computing has evolved since December 2012. I’ve kept putting off writing that post for several reasons, but the most…
Fun with Lisp: Programming the NES (2012)
"Low-level programming is good for the programmer's soul." -John Carmack When the complexity of modern computing gets fatiguing, I look back to the simpler machines of my childhood. I grew up surrounded by various 8-bit and 16-bit machines (most of them already a few years outdated at the time),…
Functional Programming using JavaScript
There is no clear, widely-accepted definition of Functional Programming. It is a collection of related featues which cohere well into a very useful style of programming.
How Hy backported “yield from” to Python 2
Hello everyone! Time for a bit of a diversion towards one of my favorite projects, Hy ! (I'm an occasional committer, but the main mastermind behind the project is my good friend Paul Tagliamonte .) For those of you who don't know, Hy is a Lisp that transforms into the Python AST. Even more fun: you can import .hy…
Say hello to x86_64 assembly, part 4
Some time ago i started to write series of blog posts about assembly programming for x86_64. You can find it by asm tag. Unfortunately i wa...
Why Python Is Slow: Looking Under the Hood
When I teach courses on Python for scientific computing, I make this point very early in the course, and tell the students why: it boils down to Python being a dynamically typed, interpreted language, where values are stored not in dense buffers but in scattered objects. And then I talk about how to get around this by…