Why I wrote a book about interpreters
Last week I’ve self-published my first book called “Writing An Interpreter In Go”, which you can get at interpreterbook.com . I want to tell you a little bit about why I chose to write this particular book.
The latest blog posts to take off on Hacker News. 3,709 posts.
Last week I’ve self-published my first book called “Writing An Interpreter In Go”, which you can get at interpreterbook.com . I want to tell you a little bit about why I chose to write this particular book.
A point-by-point rebuttal of Zed Shaw's Unicode and 2to3 complaints, with a trainer's view on which Python version to teach beginners in 2016.
You find the latest version of my book at the usual place at This now contains all the material that I plan to put into it. New are “experience” parts about performance, function-like m…
Writing assembly language is something best left for the experts. To write code that runs directly on your microprocessor you need to know how memory segmentation works, what the intended use of each register is, how codes executes in real and protected modes and much, much more. And, of course, modern compilers will…
The Christian doctrine of trinitarianism states that there is one God that is manifest in three persons, the Father, the Son, and the Holy Spirit, who together form the Holy Trinity. The doctrine…
As part of my OCaml Labs research project, I implemented a new macro system for OCaml, based on a design by Leo White and Jeremy Yallop [1] .
Zed Shaw, of Learn Python the Hard Way fame, has now written The Case Against Python 3. I’m not involved with core Python development. The only skin I have in this game is that I like Python 3. It’s a good language. And one of the big factors I’ve seen slowing its adoption is that respected people in the Python commu
List of Scientific Papers found in Java source code
This document serves as a collection of reasons why beginners should avoid Python 3 as of November 22nd, 2016. I give two sets of reasons as I see them now. One for total beginners, and another for people who are more knowledgeable about programming. The first section attempts to explain the case against starting with…
It doesn’t have to be so thought out.
Why I might use Rust instead of Python, with walkthroughs for building a simple
One common complaint of Clojure REPLs is their [startup time](http://puredanger.github.io/tech.puredanger.com/2013/12/01/clj-problems/). Although that complaint is often somewhat unfounded (and related to tooling), it still takes the bare Clojure JAR about 1 second to start on new hardware…
A few weeks ago, on a whim my friend and I decided to hackathon our way through an app to help us learn how to play guitar . In a stroke of inspiration, we decided to learn something new, and do the project in the Elm programming language , about which I had heard many good things.
I've recently been exploring the exciting new world of asynchronous I/O libraries in Python 3 – specifically asyncio and curio . These two libraries make some different design choices. This is an essay that I wrote to try to explain to myself what those differences are and why I think they matter, and distill some…
So the C programming language has been getting a lot of bad press recently; a really stupid bug in some C code has compromised some of the core security infrastructure on the internet. The fix is easy, but the knock-on effects are going to go on for years and will cost serious amounts of money. As a result, people…
A little confession that I have no idea how asyncio works in Python 3.
Updated Oct 27, 2016: Fixed sample code comments in coroutine example as per suggestion , edited text to note D's similar behaviour .
This paper appears in Lisp and Symbolic Computation , Volume 1, No. 1, June 1988, pp81-101.
I was looking through the book Expert C Programming again when I came upon their “light relief” section on The International Obfuscated C Code Competition . It’s a contest to write the most obscure code. That the language C has a competition where you write confusing code in it probably says something about the…
In this post I want to highlight a few fun aspects of the Haskell programming language. The purpose is to give you a taste of Haskell so that you will want to learn more of it. Don’t consider this as a tutorial or guide but rather as a starting point, as it is based on a short talk I held at work, which in turn is…
JavaScript tutorials and web development articles including topics like NodeJS, Angular, VueJS, Data Structures and Algorithms.
In this blogpost we'll see how Erlang's Syntax already appeared on TAOCP years before the language was even created.
I was inexplicably amazed by Lisp since the first day I've seen how Lisp programs look.
The onion architecture may be the future of large-scale FP