The author
· moonage daydreamIn his own words
I caught the tail end of COBOL, started out in Java, passed through C# and the Microsoft world, until Rails made me jump to Unix. From there Linux, the Mac, the iPhone: for years mobile was my line of work. Then Go came along, the Gopher won me over, and with it microservices, backends and every kind of architecture. These days I also handle DevOps. I code less than I would like and manage more than I will admit, AI agents included.
I have consulted for companies of every stripe and walked away with one conviction: the real problems are almost always organisational, not technological. So I do not tie myself to one technology, even though I have my favourites. A polyglot programmer, with all due modesty: a cap for every language, a t-shirt for every conference. My heroes are John Backus, Dennis Ritchie and Bob Kahn. I am passionate about history, and about the history of computing in particular. I co-founded #pragma mark, the Italian association that hosts conferences on the Apple ecosystem, and have spoken at Pragma Conference and Codemotion.
The book · lady stardust
Heroes of code, subtitled A journey through the years that shook programming languages. In Italian, Gli eroi del codice.
On Amazon: the English edition · the Italian one.
It is also how to support the language. Heroes asks for no money, so if you want this to keep going, a copy of the book is the one thing that funds the time.
It opens at midnight, on an empty file, with a programmer looking for the words to tell the story of programming languages. Then a voice behind him: David Bowie. What follows is a dream journey through the rooms where it all started, Bletchley Park, MIT, Zurich, Bell Labs, Oslo, Silicon Valley, and the people who invented the way we talk to machines. At dawn the dream ends, the guide dissolves, and only the road is left.
- 21narrative chapters
- 2editions, Italian and English
- 1night, midnight to dawn
Self-published as an A5 paperback, imprint “Independently published”, on Amazon. ISBN 9798195884758 for the English edition, 9798195873790 for the Italian.
The name Heroes and the song titles in its section headings continue that work on programming history. The quotation marks come from Bowie’s 1977 album. This interest in history also explains the historian’s seat on the panel: studying FORTRAN, ALGOL, Lisp and Simula shows how often a design choice has precedents. The historian has no veto and must support each precedent with verifiable sources. How the panel works →
Why this language exists
The book came first. I finished it and something was missing: I had spent all that time with the people who built languages, and I had never built one. Writing about them and stopping there felt like the wrong way to leave them.
So I tried. I had never seriously written a compiler before this one, and attempting what they attempted is the only way I know to learn from someone properly. That is what this project is: a piece of work made out of respect for the people it learned from, and the only thank-you I knew how to write.
Who wrote this
The compiler is written by an AI assistant that follows rules stored in the repository, the project’s archive. The assistant reads them at the start of each session. Many were written to prevent previous mistakes from recurring and record the reason for the rule.
The author sets the direction, approves each design decision and reads the reports. Some results came from his questions. During a discussion about a safety check, he asked whether its cost occurred during compilation or execution. Answering led to checking the point where an external thread, an operation started by a library, enters Heroes code. The check was moved to the correct location.
The author also requested a review against the assistant’s advice. The panel rejected the proposal and found that the requested mechanism already existed. The author approved the rejection.
Reports credit whoever produced a result: the author, the assistant or a panel member. Routine work does not need a personal attribution. The build log →
Standing on other people’s work
Heroes draws on ideas from other languages and research. The credits page names the authors and the contributions used →
The full specification is in one file. The getting started guide shows the four commands to build Heroes and run an example.