Computer Science for the Non-Techie: Part 1

Here at FindSpark, we focus on creative industries. However, these days it’s often helpful to have an understanding of the tech world.

Not too long ago we reached out to our community and asked what topics everybody would like us to write about in our blog. We received the following question about computer science (CS), specifically asking which languages are the “most useful” to learn if you are a CS novice:

I am a high school senior and I will be attending Bates College in the Fall. The only topic I would maybe want you to discuss in a blog post is programming languages and which is the most “beneficial” to learn. I know HTML and a bit of Java but I am a CS novice. My brother works at a startup and makes iPhone/iPad apps entirely in Objective-C, which is truly the most complicated and mono-faceted language known to man. So my question is simple: which language is the most useful to know and why? 

FindSpark Programming

Photo courtesy of Sebastien Wiertz

So first off, my father is a veteran software developer. A few years ago I posed a similar question like the one above (which programing language is the most useful to learn) to my father. I was trying to learn how to code to help me solve some more advanced problems at my job as a Data Analyst in digital advertising. The advice he gave me was very different than what I thought he would give me and might change your opinion on how to approach learning how to write computer programs. First off, he told me I was asking the wrong question because…

Learning programming languages is not as nearly as important as programming

This is the single most important lesson you can learn when you start learning how to code. If there is nothing else you take away from this blog post, take away this. Languages and platforms are interchangeable, fundamentals of computer programming however are not.

Think of computer programming like a construction project. Asking what computer language is the “most useful” to learn is like asking which building material is the “most useful” to use. It would probably depend on what you are building, right? The materials used to build a backyard deck would be drastically different that the ones used to build a 100 story skyscraper.

Programming is no different. Building a website is different than building an iPhone app. So, take a step back focus in on what you want your programs to be and what you want them to do. A website used for e-commerce is going to be built completely differently than a iPhone app used to take and share pictures.

Good programmers deeply understand the fundamentals of how to build software. Since they understand these fundamentals so well, it is actually pretty easy to pick up and learn a new language when you need to do learn one. Veteran programmers have probably used dozens of different programming languages and platforms over the course of their careers all for different reasons.

So, instead of “what languages should I learn”, in the second part of the series we will cover the question you should be asking yourself. Which is…

What programming fundamentals should I learn?

Do you have any programming experience? Share your thoughts in the comments!

Leave a Reply

Your email address will not be published. Required fields are marked *