Hacker News new | past | comments | ask | show | jobs | submit login

> However, during the “writing years” (I’m still writing, by the way), I often returned to coding, as a way to take breaks from intense writing sessions (writing is the only mental activity I found to be a great deal more taxing than coding)

This has been my experience too. With both "Game Programming Patterns" and "Crafting Interpreters", writing the code was a joy while writing the prose was hard work. Gratifying, but mentally draining in a way that programming isn't.




Totally agree. It's very hard, especially since when writing fiction, and the kind of fiction I wanted to write, there are a lot of things you doubt about yourself: is my style as good as I wish? Are my stories and my characters strong enough, with the right motivations? And I bet many of this ingredients are still there even when writing technical books if the goal is to do a very good job. Teaching in written form, with a book, is like a long story that must fit, chapter after chapter, sentence after sentence.


Please keep writing, I want to read your fiction. I cal tell you have style from your blog entries. Lean into the style and readers will love you for it.


Thanks! I can write better in Italian :D But appreciate that you found the blog post to have the right tone.


I find, even in the short stories I write, that managing the story arc is so much harder than managing code execution…


Dropping by in the comments to say many thanks for both of these books.

I have hardcopies of both and "Crafting" remains my all-time favorite programming book.

It's delightful, educational, and beautiful.


Where did you get the hardcopy? (I already have the paperback for "Crafting Interpreters", but I prefer to buy hardcopies if available)

As far as I was aware, there are only paperbacks.


There are only paperbacks. By "hardcopy", they meant "printed".

I sell print editions through Amazon KDP and IngramSpark. Amazon is the lion's share, so I designed the print edition based on the formats they offer. At the time I started working on it, KDP only supported soft covers. They added hard covers right as I was finishing the book, and I didn't want to have to go back and redo everything.

I have to admit that "Crafting Interpreters" is pushing the limits for what you can get away with on a soft cover. When I first started writing the book, I expected it to be (much) shorter, but I just estimated wrong.

If I had a time machine, I might go back and tell myself to print it as two separate volumes.


I love Crafting Interpreters, it's a fantastic book, and is on my desk beside me right now. Everything about it is just so well...crafted!

I know Amazon is a must for authors, but as an Amazon avoider, I was delighted to able to order it through my local bookshop.


I'm glad you support a look bookstore too. Those sales are a very small fraction of what I make, but they're the fraction I love the most.


I'm not sure how these services work, but are you planning to offer hard covers as well for a "next print"?

I've had my eye on Crafting Interpreters for a bit now, and I don't mind paying extra for a nicer version — especially if it's going into the pockets of an independent writer.


If I do a second edition, I'll probably think about it then. I don't have any plans to touch the book any time soon. I worked on it every single day for six years, so when it was done, I was really ready to be done working on it.


I think they meant hardcopy as in “physical copy” not as in “hardcover”


You're welcome! I'm glad you enjoyed them. :)


It's because the audiences for each are different. The audience of programs are CPU cores that have a well defined set of behaviors. An i7 isn't going to one day decide it doesn't like the SHL instruction or offended by having to perform too many MOVs.

The human by comparison is more taxing to write for as your brain is the compiler and checker for the instructions of your language. You write, proof read, correct, proof read again, correct more, delete, re-write, etc. I get why AI tools for writing are in high demand. Hell, sometimes I spend what feels like forever writing some of the comments here on HN as I have to compress a lot of thought into a few, clearly written sentences.


It's that but even more so: you aren't writing for a single human, but for the superposition of all possible readers of the book.

It's sort of like trying to write a program that is simultaneously valid Perl, C, Ruby, etc.


"Game Programming Patterns" has been of huge help throughout my career and it's always my go to recommendation for new game programmers and reading your comment makes me feel even more grateful that you made the effort of writing it, thanks for writing such a great book!


You're welcome!


Does it have something to do with the ambiguity of our language (english, spanish, _et cetera_) in contrast with formal languages? Like, it would require more mental effort to describe something in the English language, compared to describe an algorithm using language constructs: you know the constructs, and you know your restrictions in the programming language; in the English language, you don't know in advance what can you say and what you cannot, and you have to imagine what is your message going to get across in reader's minds. Well, who knows?

Anyway, absolutely love your books, have the Crafting Interpreters print copy (which has been inadvertently unboxed by my friend; did want it to be still in the plastic) despite using only the website version, and looking forward to buy the Game Programming Patterns. I hope you continue to be successful in your endeavours (especially if they result in legendary books like these :D). Also, could we be looking forward to a version of yours of a CPU architecture book, a la Nand2Tetris ( ͡° ͜ʖ ͡°)?


Our language centers evolved to build our "natural" languages and our "natural" languages evolved to take the best (most?) use of our language centers. Whether or not it is ambiguity or simplified context or some other "complexity mechanism", if you agree with the Chomsky hierarchy that our "formal" languages are pure subsets of our "natural" languages, then that alone would imply we use only a smaller subset of our language centers when working in "formal" languages.

Though yeah, that does feel awfully reductive as an argument, and leans on a lot of assumptions in Chomsky's theories. I know that there are axes where "formal" languages feel more orthogonal to "natural" languages than "pure subsets". Some parts of "formal" languages to me feel a lot more visual like poetry than linguistic in the same way as prose.


I have had the same experience. With coding I can be in that coveted state of flow for 10 hours straight. With creative writing, I feel exhausted after 3 or 4 hours. I didn’t expect this and don’t fully understand why.


There are a couple of reasons as far as I can tell. Programming can be adequately gamified or fulfill basic dopaminergic feedback loops in a way that “true” creative expression (outside of an effort-action-reward feedback loop) cannot. With fiction, the value is strictly non-instrumental or context-specific. While the parsimony of the (formal) language you deploy can be (reflexively) satisfying to look back on, the real joy of art for its own sake is the response from the reader, which is necessarily slower than that of a computer, as it requires a more complicated system of evaluation than pure utility.


> Game Programming Patterns

Huh, I own this in a print copy. Thank you so much for writing it :)


Would Game Programming Patterns help someone who wants to build a slot machine? I’ve built a wall mounted machine for my home but I never got the software side done. I think a book could help but most of them cover very different mechanics these days.


Why the down-votes? Are people specifically opposed to gambling or is it something else I said? I'm just wanting to write a hobby slot machine because they fascinate me but the mechanics of a slot machine UI are quite different than a 2D scroller or a 3D game engine.

I do appreciate the author answering. Thank you.


Honestly, probably not. It's about software architecture for games, and not about game mechanics specifically.


That's really interesting - was chatting to a few friends who are very into using tools like cursor to generate code. They've been complaining of feeling extremely drained after a day of prompt writing.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: