Python to OCaml: Retrospective
In 2013, I spent 6 months converting 0install's 29,215 lines of Python to OCaml (learning OCaml along the way). In this post, I'll describe the …
I Don't Know Swift
I know a thing or two about Objective-C. It’s not bragging. If you’re reading my blog, there’s a decent chance that I know more about Objective-C …
Dijkstra on Haskell and Java (2001)
In 2001, Edsger W. Dijkstra wrote a letter to the Budget Council of The University of Texas. A PDF is available here , I’ve typed it up so that everyone can read it. Sadly, the curriculum was changed to Java . Relatedly, the algorithmic language Scheme was replaced by Python in MIT’s The Structure and Interpretation…
Rust lifetimes: Getting away with things that would be reckless in C++
Random code snippets, projects and musings about software from Eric Kidd, a developer and occasional entrepreneur.
Python 3 is killing Python
The Python community should fork Python 2.
Another go at Go failed
After a considerable gap, a gave Go another go! The Problem As part of a consulting engagement, I accepted a project to devel...
Go's power is in emergent behavior
What was the first thing you saw in Go that surprised you?
How I Start: Elixir
Portal is a game that consists of a series of puzzles that must be solved by teleporting the player’s character and simple objects from one place to another.
How I Start: Erlang
Erlang releases are a bit like magnets. Everyone who thinks about them shares the same thought: f**king releases, how do they work?
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…
Proposal for a Friendly Dialect of C
What implications exist around linking friendly-c code with machiavellian-c? I.e. put the performance critical kernels in there own module and work realy hard to make it correct.
Ruby 2.1.1 is released and Ruby turns 21
Today, Feb. 24th, is the 21st anniversary of Ruby,so we happily announce a new patch release of Ruby 2.1, Ruby 2.1.1.
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.)
Porting the Go compiler from C to Go
Product updates, engineering notes, and perspectives from Sourcegraph.
Painting in Clojure
Learning Clojure by building a digital Jackson Pollock. This article and the source code backing it can be found on GitHub . Below is an example of what we will be building, running the code found in this page.
Beginner's guide to OCaml beginner's guides
Alex Clemmer is a computer programmer. Other programmers love Alex, excitedly describing him as "employed here" and "the boss's son".
Unicode in Python 3
A list of things about unicode on Linux and Python 3 you really did not want to know.
Elixir v1.0.0 released
Elixir v1.0 is finally out.
Visual Programming Languages – Snapshots
Interface Vision is a group working on a software development platform that can be used without coding.