The 3 myths of learning programming languages

Ngoc Huynh

Myth 1: Programming Languages are the ‘Languages of Computers’

A quick Google search reveals that people are saying things like this…

“How do I get fluent in Python?”

These people apparently think that learning a language like Python means…

– learning to ‘speak to the computer’,
– learning to ‘think like a computer’, and
– becoming ‘fluent’ in a language not ‘native’ to them.

They’re wrong.

In fact, the vast majority of the time, programming languages are designed exclusively for people like you and me.

Here’s why…

In the context of computer science, there are low-level programming languages and high-level programming languages.

A low-level language like assembly language actually does speak to a computer directly – performing a long series of processor operations, one byte at a time.

But assembly language is only the 19th most used programming language in the world today. The vast majority of modern programmers write only in high-level languages like Python.

Here is the Collins English Dictionary definition of ‘high-level language’:

“a computer programming language that resembles natural language or mathematical notation…”

High-level languages resemble natural language, and use concepts like mathematics and logic, because they are designed to be easy for humans to understand, not computers.

Learning one of these high-level languages doesn’t mean learning to ‘speak to a computer’. The whole reason they exist is so that we don’t have to.

So if high-level languages are designed to be easy for us to understand, what does one actually look like? Continue reading to see an example…

Myth 2: Programming Languages are Foreign and Hard to Read

If you were to attempt to read some text written in a language foreign to you, you may be faced with…

– a different alphabet to the one you’re familiar with,
– unfamiliar grammar rules and syntax,
– and most dauntingly, a whole new set of words you’ve never seen.

But if you were to read some high-level programming language code, you’d be faced with none of those things.

Let me prove it to you…

Take a look at this code written in a programming language called SQL:

INSERT INTO Table
VALUES (‘1’, ‘SQL’, ‘Programming language’)

For the purpose of this example, let’s assume your primary tongue is English, and we’ll compare that to SQL.

Firstly, the alphabet is most certainly not foreign. All the characters used can be found on a standard Roman alphabet keyboard.

Secondly, look at the grammar rules and syntax. While there’s a bit of deviance, ‘insert into table’ is familiar and readable. As an English speaker, you’d have little trouble figuring out the meaning of the code.

Lastly, look at the words. Every word there is pre-existing in the English language. No foreign words, no difficult pronunciations, no scratching your head working out the meaning of each word.

Granted, programming languages do invent abbreviations – such as regex (regular expression) and varchar (variable character), just to name a few.

But at the end of the day, the full ‘lexicon’ of a programming language is derived entirely from a real-world language – whether that be English or any other tongue.

This is why programming languages aren’t languages at all. In fact, you could say programming languages are really more like dialects than languages.

Learning your first programming language now doesn’t seem so hard as learning a real-world language. And as you’ll see next, it doesn’t take as long either…

Myth 3: Programming Languages Take Years to Learn

To learn a foreign language, you need to learn…

– the vocabulary (so that you have the words to express your ideas),
– the grammar (to be able to string them together into sentences), and
– the ability to read, listen, pronounce and speak.

That’s a lot.

So it comes as no surprise that it can range from 23 weeks up to 1.7 years, and beyond, for an average native English speaker to pick up a new foreign language.

Learning a programming language would probably take just as long, if not longer – if they truly were designed with computers in mind, and were foreign and hard to read.

But we already know that’s not true…

Learning the commands and functions of a programming language (the equivalent of learning the vocabulary of a real-world language) is made a lot easier by the fact that programming languages use the same words as an existing language (almost always English).

Assuming you speak this language, that’s a huge chunk of learning time eliminated.

Similarly, learning to read the language is not such a big deal. All the words will be familiar to you, and as we’ve seen, deciphering programming language code is not that hard.

Learning the syntax of a programming language (the equivalent of learning the grammar of a real-world language) isn’t quite so easy – but remember that high-level programming languages are designed to be easily understood, so it’s not ridiculously hard either.

Finally, the challenges of learning how to listen, pronounce and speak are literally non-existent. I don’t know about you, but I’ve never heard anyone speak out loud in a programming language.

So as you can see, there’s not nearly as much to learn in a programming language as there is in a real-world language. And less to learn means less time needed to learn.

In fact, there are stories online of people who have learnt a programming language and achieved results in mere months, even as little as 12 weeks.

Share the news now

Source : https://www.sitepoint.com