In the last article, I told you about a couple of different ways you can classify coding languages.  If you have the luxury of selecting your next language, those points should be taken into account.  Often we don't get to pick, so the selection of a language is mandated for us.

In this article we'll continue exploring the general and common elements found in all coding languages, and understanding this forms the basis for the 10 steps.

The first step in learning any new language regardless of whether it is a compute language or a human language is to establish an understanding of the basic rules of expression used by that language.

In English, our sentences start with a capital letter and end with a period, question mark, or exclamation point!  Generally, we have a noun, the subject of the sentence up front, a verb to define the action, and then some modifiers to describe the subject and action.  We have rules like “Never end a sentence with a preposition.”  And “I before e except after c or sounded as in ay as in neighbor and weigh.”

These rules collectively refer to and describe a language’s syntax.

Contrast this with Latin.  Every Latin student translates Julius Caesar in their second year of study.  Caesar wrote in the vulgate.  He was an aristocrat, but he understood his audience and the political power he could wield by appealing to the senate and people of Rome, rather than pandering to the senate alone.  He wrote the way most people speak in daily life.

When you read Caesar in Latin, there is no punctuation.  All letters are capital.  The subject of the sentence is at the end, preceded by the verb, which is preceded by modifiers.  The order is backwards kind of like the way Yoda speaks in the Star Wars movies.  Over time you learn to scan the sentence until you find the noun, then work your way backwards to the end of the last sentence.

Each coding language has it’s own syntax rules for expressing your ideas as code.

The other thing all languages have are words.  Words are what make up the language where the syntax defines how they can be combined to form meaning.

Programming languages have words reserved to the language called keywords.  Human languages require you to learn many hundreds of words to be considered fluent.  Thankfully, programming languages are typically comprised of between 20 and 50 keywords.  This tiny number of expressions can be used to devise software capable of simply adding two whole numbers together, to launching a satellite into orbit, automatically flying an aircraft, or decoding and displaying digital signals from outer space.

Programming languages are themselves a form of expression, and you’ll hear programmers talk about the expressiveness of a language.  Some are very expressive, sort of like being able to write non-fiction as easily as you might write poetry.  Others are more rigid, though these tend to be specialized languages.

An important first step in learning a new language is to spend some time reading example code written in your new language.  You’ll be able to glean the syntax rules as you go.

For example, most C based languages terminate every line with a semicolon.  They use curly braces { } to block off sections of code.  They also use a remarkably similar set of keywords most of the time.

Python uses spaces to define blocks of code and there are no semicolons to be found.  The end of the line is the end of the line.

You don’t need to master the rules of syntax up front.  This comes with time and practice.  But you can and should review the basics of the language’s syntax as a step in selecting your next programming language.

Tooling

The last point I’d like you to consider when picking any new language is to find out what tools exist to make working with the language a productive experience.

Established languages generally have a set of tools, such as an Integrated Development Environment (IDE) or at least some syntax coloring tools in an enhanced text editor.

Gauge how often during the development cycle you need to leave your editor to perform some other task required by your language.

If you find a language with robust tooling, as you’d find with any language produced by the “Big Three” (Microsoft, Apple, and Google), you can bet there is a demand for the language, and usually for good reason.

What's Next?

We're finally ready to take the first step on our ten step journey.  We'll cover a topic you might think of skipping, but if you only know one language, resist the temptation.  We're going to cover variables!  Easy peasy?  We'll see.