Recent Overload journal issues contain my new articles on How to Write a Programming Language.
Part 1: How to Write a Programming Language: Part 1, The Lexer
Part 2: How to Write a Programming Language: Part 2, The Parser
PDF of the latest issue: Overload 146 containing part 2.
This is all creative-commons licensed and developed in public at github.com/andybalaam/articles-how-to-write-a-programming-language
My OpenMarket colleagues and I ran a workshop at TECH(K)NOW Day on how to write your own programming language:
A big thank you to my colleagues from OpenMarket who volunteered to help: Rowan, Jenny, Zach, James and Elliot.
An extra thank you to Zach and Elliott for their impromptu help on the information desk for attendees:
Hopefully the attendees enjoyed it and learned a bit:
You can find the workshop slides, the full code, info about another simple language called Cell, and lots more links here: github.com/andybalaam/videos-write-your-own-language, my blog at artificialworlds.net/blog, and follow me on twitter @andybalaam.
Thanks to OpenMarket for supporting us in running this workshop!
My friend and I have launched a new podcast in which we discuss movies: The Good Robot Andys.
In which I argue that mocks are a code smell, and layers lead to increased coupling:
Mocks are Bad, Layers are Bad (in ACCU‘s Overload Journal issue 127)
I also suggest some ways to avoid both mocks and layers, including Classical TDD, Selfish Object, Refactor to Functional and, of course, the Unix Philosophy. I work through a code example to demonstrate some of these things.
I also suggest that frameworks and inheritance hierarchies are bad, but the title was getting too long already.
You can also get the PDF of Overload 127.
You read it here first, but now you can have a paper version of “Tail Call Optimisation in C++”, published almost as-is, in Overload 109 the journal of ACCU.