Learn Computer Programming

So, you want to learn to program computers, smartphones, tablets—and everything else these days with computers in them? Well, there are as many approaches to learning to program computers as there are types of computers. Many of these are good, fine paths. But I advocate just one. Call it the “short stack”—the least amount of software to let you do the most interesting things that will last the longest possible time (computing stacks go in and out of style and fade into obsolescence). In other words: master a few tools that are always there.

That’s what I’m going to teach you here: the short-stack, comprised of BusyBox Linux, the Python programming language, the vim text editor and the git distributed version control system. If that sounds eclectic to you, it’s not. These are the fundamental building blocks for everything from building billion-dollar enterprises down to having a few extra capabilities in your pocket to help you in life. Think of it as a safety-net programming style, or something to learn in addition to whatever other sexy programming stack you take up.

And there are lots. You could learn Objective C and jump into the billion-dollar Instagram / Angry Birds Apple ecosystem jackpot, or similar Java-based Android platform. You could learn to make games for XBox, Wii and PS3 game consoles, or focus on HTML5/CSS3 for programs running in the web browser. There are strong career and platform arguments for each flavor of computer programming—but no mistake, they are pidgin-holed flavors.

Learning to program for one particular computer platform  does not necessarily qualify you for the other. The short stack I describe here, consisting of Linux, Python, vim and git is my obsolescence-proofing countermeasure to this effect—a lowest common denominator flavor of programming suitable for generic system programming on generic computers. It’s not the sexiest programming in the world, but it will give you great programming fundamentals for life. So, welcome to MikeLev.in and the home of Levinux, and learn computer programming!