You’re the undisputed champion of your local chess and Magic: The Gathering clubs. You know pi to 500 decimal places and are utterly feared at trivia night. When people have computer problems they come to you, and then they leave the room lest the brilliance of your troubleshooting performance permanently blind them.
You rank pretty highly in the #NerdEmpire, but if you want to become royalty you’ll need to take it up a notch. It’s hard to choose one-skill-to-rule-them-all in this regard, but I’d argue that learning to code in binary is a pretty good candidate.
What Is Binary?
Humans talk to one another in natural languages. This process involves one human using muscles in their throat and face to compress airwaves in specific patterns, causing thoughts to erupt from the nervous systems of other humans. The same thing can be achieved by making little squiggles in the correct shapes on a piece of paper or a computer screen.
Machines talk to each other in machine language, which consists entirely of 1’s and 0’s. Compared to natural language, machine language seems awfully limited and sparse. And yet, on one level, every single accomplishment of the digital age is built from nothing else.
True, people almost never actually write binary. Instead, they code in a high- or low-level language which is closer to a natural language and easier to reason about. But by the time their program has been rendered down to something a piece of hardware can understand, there’s nothing left but binary.
Why Learn To Code in Binary?
To be perfectly honest, there’s almost no programming career that’ll require you to learn binary. You won’t need it for front end or backend web development. You won’t need it for data science, machine learning, or AI.
One wonders, then, why learn binary at all?
One possible reason is simply that it represents one of the most intricate puzzles in the world. The same impulse that draws people to assemble 10,000 piece jigsaw puzzles or tinker with old cars can make them fascinated by a technology like binary.
Another possible reason is that it represents the second deepest level of knowledge you can attain with respect to computers. Most technologists don’t really need to understand things that far down, but if you’re the kind of person who really likes to know how every part of their tools work, you can’t do any better than learning binary.
Finally, it’s just a huge intellectual accomplishment. If people are willing to invest years in learning more Game of Thrones trivia than even George R.R. Martin knows, it shouldn’t be so surprising that some people will enjoy the challenge of learning binary for the sheer audacity of it.
Best Resources for Learning to Code in Binary
If the above comments have you burning with a desire to buy a keyboard with only a 1 and a 0 on it, here are some resources you can use to get started.
If you’re wanting a nice introduction that comes highly rated, ‘Binary: The Foundation of All Computing’ is a Udemy course that’ll get you started. If you’d prefer a book I’d go with ‘Understanding Binary Numbers’ by Erik Sakk, ‘Binary, Octal and Hexadecimal for Programming & Computer Science’, by Sunil Tanna, or ‘Advanced Binary’, by Sunil Tanna. There are also many short introductory videos on Youtube if you’re just looking for an overview.
This should be more than enough material for learning binary to keep you busy for a while.
01001000 01100001 01110000 01110000 01111001 (Happy)
01000011 01101111 01100100 01101001 01101110 01100111 00100001 (Coding!)