Programming: It's not about the code

I've been programming consistently since high school, so we'll just call it five years to not betray how old I truly am. I started with VB script in Excel. I wrote my first program in class. It was an exercise in Excel to display information about planets when clicking on their images. It wasn't anything tricky or challenging, just copy the code, and follow the instructions. When I had free time, I programmed my TI-89 calculator. I was, and still am, a nerd. I learned various programming languages for multiple reasons: video game creation, high energy physics analysis, computer administration, and so on. I never truly took classes to learn to program, and honestly, neither do most computer scientists and software engineers.

If you look at a computer science curriculum for college students, you will notice that most courses, with some small exceptions, aren't about coding (even though they are taught using code). They're about logic. How you get from point A to point B. Similarly, an English degree doesn't contain much grammar because it is just a tool to convey an idea. Communicating the idea is the valuable part. A poorly articulated idea with fantastic grammar is still a poorly articulated idea. Conversely, a well-articulated idea with poor grammar is still a well-articulated idea; it's just harder to read.

Language doesn't matter.

Let's stick with the language analogy a little bit longer. Language doesn't matter. Do you know how I know? The Bible. I haven't personally read all of it, but billions of people have, and follow its teachings. It was written in Hebrew (Ancient Testament) and Greek (New Testament), and translated into many, if not all, languages. Yet, the language doesn't matter, what matters transcends languages. The translations are just there for compatibility purposes, someone who doesn't understand Hebrew or Ancient Greek, cannot understand the original Bible.

The same can be said about programming whether you program in C++, Java, Python, Assembly, or binary is irrelevant to what is being programmed. If you write code for a calendar application, the result will be a calendar application. How many people care what programming language was used to create an app? 99.999% of the population does not care at all. I would even venture to guess that 99.999% may not even know that there are multiple options. There are web-browser, mobile device, and computer programming languages, and each one depends on how you want to talk to a computer.

Logic is what matters.

In programming, logic matters more than anything else. I often see the following question: Which programming language is the fastest? Of course, for a standard and equal piece of code, there is a clear answer. But if we're talking about actual production code in the wild, the answer varies widely, and that's because of logic.

Comparing programming languages is like comparing modes of transportation. It's not as much which one you choose as it is how you use it. Let's take a bike and a race car (pick your favorite type). At first glance, you can think of a clear winner in a race: the race car. Now consider this situation (a.k.a. math problem):

A bike and a race car race each other between Point A and Point B. The bike takes a 10 miles route with an average speed of 10mph. On the other hand, the race car takes a 100 miles route with an average speed of 100mph. Who arrives first?

Basic math tells us that they will both take 1h to get to their destination and, therefore, will arrive at the same time. Moral of the story:

The most advanced tool used by an idiot is no match for the simplest tool used by a smart person.

A message to non-programmers:

A lot of the time, programmers are just translators. They take ideas, business processes, and step by step instructions given to them by people just like you, and they translate them into computer code. The hard part of a programmer's job has very rarely anything to do with the actual code. They get stuck on the logic mostly.

If you like doing any of the following, then programming is for you:

  • Solving puzzles

  • Coming up with processes and procedures

  • Organizing ideas

  • Breaking up tasks into smaller tasks

Don't be afraid of the language. It doesn't matter. It's just a tool. Learn to use the hammer before you use an excavator with a jackhammer attachment.

I took an intro to computer science at the Harvard Extension School, and that's what we started with: Scratch is a programming language created for children. With enough creativity, you can make it do almost anything. I've done machine learning using Scratch. It's far from ideal, but it works.

If you're not a programmer, don't be intimidated. You don't have a re-create Google or Amazon. Start with tiny problems and work your way up from there, at your pace, and maybe one day you'll create the next Amazon or Google.

If you were once scared of programming and are now creating programs, what tool/language would you recommend to someone who's still afraid?

Photo by Markus Spiske from Pexels

175 views0 comments

Recent Posts

See All