Chapter 5: Intro to Programming Languages
Chapter 5: Intro to Programming Languages#
How do you know what Programming Language to learn? Do you need to learn more than one Programming Language, and if so in what order should you learn them?
While I can't answer these questions for you, I can give you the resources and some guidance so you can answer those questions for yourself.
In this chapter, we will discuss the state of Programming Languages, which ones are the most heavily used, and what they are used for. We will look at recent job postings for programmers, going through the requirements to decipher what Programming Languages the job might require.
All of the Exercises in this chapter use different websites to glean more information. Unlike the Exercises in the previous chapters, which have asked you to open HTML files or the DevTools, the Exercises in this chapter are more about introducing you to online tools. I hope to show you how to use these tools. Then, depending on your level of curiosity on the subject, you can use these tools to answer questions specific to your interests or needs.
What is a Programming Language?#
Put very simply, a Programming Language is a language that is used to write a set of instructions. These instructions are written to produce some output. A programmer is someone who writes these instructions.
You might be wondering, but aren't HTML and CSS just a set of instructions telling the browser how to build a web page? This is a natural point of confusion, while there might be some theoretical debate here; HTML and CSS are not considered "Programming Languages."
How do I know what Programming Language to learn?#
You can approach this question a couple of different ways. One is to look at the most popular Programming Languages. Several helpful resources collect information about Programming Language popularity. We will look at two: Stack Overflow's Developer Survey Results, and GitHub's Octoverse survey.
Stack Overflow includes non-programming languages, like HTML, CSS, and SQL. Also, Stack Overflow looks at the last year, 2019 at the time of writing. GitHub looks at the last 4 years and only includes Programming Languages.
Java and Python are also growing in popularity. Python, in particular, has gotten lots of buzz recently.
Ruby's popularity seems to be going down, and the new kid on the block is something called TypeScript.
To get an even better picture of what's happening, let's use Google Trends, which tracks Google searches. In Google Trends, you can define the search term, period, and location. We will play around with these options, investigating and comparing different programming languages in the next exercise.
Exercise 1 of 3: Looking at Programming Languages on Google Trends#
1. Open the Google Trends website.
2. If you haven't played with Google Trends, get ready to have some fun. For someone who likes data, Google Trends is one of my favorite websites.
Let's start by comparing Python on a US level - see chart here.
I am using the default search settings, which has me looking at the US in the last 12 months.
It's impossible to explain these differences completely. But it's a good guess that Python is "growing" in popularity, and the rate at which it's growing varies depending on where in the World you are.
Now let's look at PHP, in the US, over the last 5 years - see chart here. GitHub and Stack Overflow show that PHP isn't growing, but it is not obvious if PHP's "popularity" is decreasing.
Google Trends gives a little more insight into what's going on with PHP. Depending on how much weight you give searches of the term "PHP," it might be a reasonable guess that PHP's popularity is decreasing. Or, at least there's some evidence that suggests it is.