My grandfather kept an old laptop in his study. Not the transparent kind we use now — a heavy, black rectangle with a physical keyboard attached. The keys had letters printed on them, and some were more worn than others. He told me the most worn ones were the keys he pressed most often when he was "writing code."
I asked him what that meant.
"Well," he said, opening something on the screen called Visual Studio Code — an IDE, he called it. Integrated Development Environment. I asked him what needed to be "integrated," and he laughed. "Everything was separate back then. The editor, the terminal, the debugger. We had to bring them together ourselves."
The screen filled with colored text. Green words, orange words, white words, all arranged in patterns I couldn't read. He pointed to a line and said, "I wrote this. Character by character. Every semicolon, every bracket, every variable name — I typed it all."
I couldn't understand. "Why didn't you just tell the computer what you wanted?"
"We couldn't," he said. "The computer didn't understand what we wanted. We had to translate our ideas into its language. That was programming."
He showed me something called a "bug" — not an insect, but a mistake in the code. A missing comma that broke everything. He said he once spent an entire afternoon looking for one. An afternoon. For a comma.
"Wasn't that frustrating?" I asked.
He was quiet for a moment. Then he said something I didn't expect: "It was the best part."
He tried to explain. He said there was something about sitting with a problem, turning it over in your mind, trying one approach and then another. The feeling when the code finally ran. He called it "flow" — a state where time disappeared and it was just you and the machine, speaking to each other in this strange, precise language.
"You had to hold the whole program in your head," he said. "Every function, every dependency, every edge case. It was like building a cathedral out of words."
I looked at the old laptop, at the colored text, at his hands hovering over the worn keys. I tried to imagine spending years learning a language that machines already speak better than any human ever could. It seemed like an incredible waste of time.
But then I looked at his face, and I saw something I recognized. It was the same expression I see when my grandmother talks about tending her garden by hand, even though the auto-cultivators do it perfectly. It was the same look my father gets when he plays his acoustic guitar instead of generating music.
It was the look of someone who loved a craft not despite its difficulty, but because of it.
Grandfather closed the laptop and placed it back on the shelf. "You know," he said, "I don't miss the bugs. I don't miss the deployment failures at 2 AM. I don't miss the dependency hell." He paused. "But I miss the thinking. I miss having to understand."
I asked him if he could teach me.
He smiled — really smiled — and said, "There's nothing left to teach. But I can show you what it felt like."
He opened the laptop one more time, created a new file, and typed, slowly, with two fingers:
print("Hello, World!")
The screen printed two words. The most basic program there is. Grandfather had written thousands of programs in his life — programs that managed infrastructure, processed data, solved problems I couldn't even name.
But when those two words appeared on screen, he looked at them like he was seeing an old friend.