This is a wonderful book!
I can't really think of anything quite like it. Vikram Chandra is an astonishingly gifted Indian novelist - and turns out to really get coding as well.
And he writes beautifully about it.
During one long summer vacation at home in Bombay, I dug through the stacks at a commercial lending library. I had already exhausted their stock of thrillers (at a rupee per book), then held off book drought for a couple of weeks with science fiction and westerns, before finding Hemingway at the back of a shelf. I was fourteen, had read some smatterings of what I didn’t know then was called “literary fiction”—Conrad, Heller, Tolstoy—but I wouldn’t have bothered with Hemingway if not for the charging lion on the cover of the paperback. That, and the décolletage of a distressed damsel and the very large rifle wielded by a hunter promised excitement, so I paid up and went home and read “The Short Happy Life of Francis Macomber.” Then “The Capital of the World.” And “The Snows of Kilimanjaro.” I felt something extraordinary, the dread and clipped despair of the stories, a complete concentration of my own attention, and somehow also a flowing wonder and delight. I’d known this feeling before, during performances of the Ramayana I’d seen as a child perched on my father’s shoulders, in moments of high Hindi-movie drama in darkened theaters, but I was now experiencing concentrated waves which I felt in my mind and my body: prickles on my forearms, a tingling at the back of my neck. I knew, even in that moment, that I didn’t understand everything the stories were doing, what they were about. I had no idea who this Hemingway was. And yet, here I was at our kitchen table in Bombay, entranced.
The work of making software gave me a little jolt of joy each time a piece of code worked; when something wasn’t working, when the problem resisted and made me rotate the contours of the conundrum in my mind, the world fell away, my body vanished, time receded. And three or five hours later, when the pieces of the problem came together just so and clicked into a solution, I surfed a swelling wave of endorphins. On the programming section of Reddit, a popular social news site, a beginner posted a picture of his first working program with the caption, “For most of you, this is surely child [sic] play, but holy shit, this must be what it feels like to do heroin for the first time.”2 Even after you are long past your first “Hello, world!” there is an infinity of things to learn, you are still a child, and—if you aren’t burned out by software delivery deadlines and management-mandated all-nighters—coding is still play. You can slam this pleasure spike into your veins again and again, and you want more, and more, and more. It’s mostly a benign addiction, except for the increased risks of weight gain, carpal tunnel syndrome, bad posture, and reckless spending on programming tools you don’t really need but absolutely must have.
So I indulged myself and puttered around and made little utilities, and grading systems, and suchlike. I was writing fiction steadily, but I found that the stark determinisms of code were a welcome relief from the ambiguities of literary narrative. By the end of a morning of writing, I was eager for the pleasures of programming.