Last week I found myself doing something I haven't done in a while.
For some reason I got it in my head that I needed some comfort. And part of that comfort was re-learning the C language. Now, I have no immediate reason to learn C. None of my job prospects seem to want C (at least not at the dabbler level) but here I was pulling out my C books to give it a whirl again.
Part of the reason is because there was a sense of comfort to me in sitting with just a compiler and a debugger looking at code flying by. I wasn't doing anything strenuous (just some Fibonacci sequences, or variable passing) but watching gdb change values and looking at the stack frame gave me a sense that I was in control. That I was changing something.
Too often I think developers sit back and take code for granted. Not that our thoughts become code without effort (Lord knows there's a handful of developers who have ever had something work the first time without wondering what the hell went wrong). No, I mean that we just assume that the building blocks that we piece together will always work and we won't have to think too deeply about what goes on under the abstraction layers. I think pulling back the abstractions and peeking in to see what's happening can be a comforting experience. It's a gentle reminder that no matter how convoluted the outside world gets that we have the ability to pause and see that there are still some rules that apply. That there are places where we can derive joy from seeing an integer variable increment from a 1 to a 2.
Maybe I'm crazy for finding comfort in this, but I can't deny that it works.