Lesson 1 - What Even Is a Programming Language?

You want to learn programming, but what is it all about? What are programming languages, and why are they important?

In order to dive deep into communicating with computers, we must recognize a few things. First, computers are binary machines that communicate using machine language (which is not to be confused with assembly language). Second, programming can be extremely difficult. However, with the right dedication and commitment, understanding programming languages can open doors to an incredible world of possibility.

Think of computer programming as learning a language. Assuming that you are reading this as an English-speaker, you may have tried to learn another language, such as Spanish or French or Italian. What we know about these languages is that these are Latin-based languages, meaning they share the same root and, therefore, have similar-sounding words with the same meanings.

In Spanish, you can count "one, two, three" using the words "uno, dos, tres." Similarly, in French and Italian, you use the words "un, deux, trois" and "uno, due, tre," respectively. The counting systems share strikingly similar spellings to each other.

So why think of programming as a language? For starters, programming comes in a variety of styles. We know about Java, because that's what we're reading here. But there are so many more languages out there, including Python, SQL, C#, C++, JavaScript, Swift, Ruby, R, and so many more. Each with it's own grammar, syntax, punctuation, and dialect. Some are similar to each other, while others are vastly different.

The exciting part about this fact is that many programming languages are adapted from the C family of languages. While not all languages share this characteristic, this still creates an ability to flexibly learn multiple languages, which is why it is so common for companies seeking new hires in computer science fields to search for those with expertise in many different programming languages. Many job postings require, or at least recommend, a familiarity or skill in at minimum three languages.

So, without further ado, let's get into it.

Next Topic: Lesson 2 - JDK and IDEs

Table of Contents: Table of Contents