Thomas Leonard's blog

Replacing Python: Second Round

In the first post, I took a brief look at the programming languages ATS, C#, Go, Haskell, OCaml, Python and Rust to try to decide which would be the best language in which to write 0install (which is currently implemented in Python). Now it's time to eliminate a few candidates and look in more detail at the others.

Last time, I converted 4 lines of Python code from 0install into each language. This time I'm converting 576 lines, so this should give a more accurate picture of how each performs for a real-world task.

Replacing Python: Candidates

This post evaluates the programming languages ATS, C#, Go, Haskell, OCaml, Python and Rust to try to decide which would be the best language in which to write 0install (which is currently implemented in Python). Hopefully it will also be interesting to anyone curious about these languages.

I'm not an expert in these languages (except Python). My test-case is to read the tutorial for each language and reimplement one trivial function of 0install in the language. These languages were suggested by various people on the 0install mailing list. If I've got anything wrong, please add a comment.