As of late, I have discovered a bit of a fear of mine: I am terrified of C, or any low-level language, for that matter.
I mean, the idea that my code may become unintelligible if I don’t send a null terminator doesn’t sound too fun to me. To illustrate why this scares me, let me give you a bit of my background.
Now, if you’re thinking to yourself, those are stupid reasons to not learn something, you’d be correct. They are stupid reasons. But nonetheless, they are common reasons for avoiding lower-level languages. And I don’t think I’m alone in my rationalizations. It’s easy to think of computers as magic black boxes that just do things for us. It’s daunting to think about what makes that magic box tick. On a more general note, I think it’s easy for newcomers to talk themselves out of learning, even if they’re experienced in other languages. It’s easy to stand on one side of the fence and think, nah, I’m comfortable over here, and not take those first steps into the unknown. We humans, after all, are creatures of comfort, and the unknown that is learning something new is about as far from comfort as we can get. But I think I’ve been doing myself a great disservice in this kind of self-talk, and have decided to make a change.
I’ve decided to dive in head first, and to take on the lowest level language there is, assembly. What I want to do, and what will most likely take a long time to do, is to build an API server with it. That’s right, the same thing I’ve gotten comfortable building in Node, I will now attempt to build using Assembly language. It’ll most likely be for a specific architecture, and won’t be easily transferrable, but I know I need to start somewhere.
If you’d like to see how it’s progressing, feel free to check out the repo where I’ll be keeping the code: learn-assembly-with-apis. If you have any tips or comments on how to build something like this, I can use all the help I can get.
I know few people are reading this blog, but I appreciate you taking the time to. If you’d like to chat with me, feel free to reach out via twitter or IRC on freenode (my handle is