The programming learning path of most people starts from the Google search round at night.
Usually "Learn _______"
But how do we decide which language to look for?
“I often hear jokes about Java in Silicom Valley. Maybe I should learn this. ”
"Haskell. This is very hot recently. Haskell. ”
"The Go mouse is so cute, it's too much."
And then most of us, probably have also searched for questions:
"What programming language should I learn before?"
Not all questions are searched so much that there must be an answer infographic. This is one of them:
Deciding on the first programming language is always an interesting experience – like the personality test questions "Which character in the Game of Throne?"
Before you jump quickly into Ruby because when she was interested in playing with Play-Doh, I wanted to remind you: the risk of giving up is very high.
You will spend hundreds of hours learning to be "roughly" proficient with your first programming language.
So you need to consider the following factors:
- Language is easy to learn or not
- You can build any type of project in the learning process (and share with friends to maintain motivation)
Every year new languages appear, and accompanying them, are new academic materials, and new web comics. Really. New month ago:
When you have to choose the first programming language, you will never be short of choices. To narrow it down, here are the most popular searches on Google related to programming in the last 12 years:
Python gradually grew and became the most popular choice.
Before talking about these programming languages, I need to make it clear:
- I am not saying that this language (objectively) is better than another language.
- I agree that previous programmers should learn more than one language.
First of all, find out why this language is so widely taught.
Computer Science 101
Many universities have been teaching programming under the name of computer science, this subject itself is a branch of mathematics, or somewhat attached to electrical engineers.
Of course, you've probably heard:
“Teaching computer science cannot turn anyone into a programming expert; It's like learning about brushes and colors that don't turn that person into a super artist. ”- Eric S. Raymond
By 2016, many universities still teach programming as if they were computer science, and computer science is no different from mathematics.
Because of that, many beginner programming courses often focus on low-level abstract languages like C, or computationally important languages like MATLAB.
Most of these rankings will see very little change though … 10 years have passed.
But the change is still happening, in or out of academia.
In 2014, Python occupied the throne of Java to become the most popular teaching language in the leading Computer Science programs in the United States.
And another change obviously … sooner or later … will also happen.
Because if you look at the languages actually used by workers, this is a completely different picture:
Good people # 1: The job market
If you are learning programming just because of curiosity, just skip this section. But if you – like most people who learn programming – want to use this skill to find a job, this is a good consideration.
Up to 2.7 programmers scramble for a position Java is recruiting. The situation of competition with PHP and iOS is no better than how much.
Factor # 2: Long-term direction
This type of multi-company link is difficult to find in Java. Oracle (Java owner after acquiring from Sun Microsystems) often sues companies trying to expand on it.
Factor # 3: Difficult to learn
Although universities still teach languages like Java and C ++ as the first language, they are more difficult to learn.
Factor # 4: Projects you can build with Java
And over time, Atwood's Law is more and more authenticated.
Java has also made a promise to run everywhere. You probably still remember Java Applets . Oracle has officially killed this new tool this year.
Python is also suffering from similar problems:
“How did I bring the new game to my friend? Moreover, I put this game on my phone and show it to kids but can't install it? ”- James Hague in Retiring Python as a Teaching Language
In contrast, here are some applications built on the browser in CodePen. You can click and run right on your browser:
Learn for a good language in advance. Then learn the second one.
If you keep jumping from one language to another, you won't go far .
To get past the basics, you need to learn a language well first. Then the second language will become much easier.
From here, you can branch, develop into a more comprehensive programmer through learning multiple languages:
- C is the language that helps you understand how computers work, especially memory management, and is very useful in high-performance calculations.
- C ++ is suitable for game programming
- Python is perfect for science and statistics
- Java is important if you want to work at large technology companies.
Okay, now I will try to try the unbelievable thing — I will try and predict the objection under the comment section.
The language is also nearly as fast as super high performance languages like C ++, Java, and Go.
The following is the result of a recent multi-language benchmark table:
exampleArray as an array. I set its value, then check the length — that is, the number of elements it contains.
exampleArray = [1, 2]
-> [1, 2]
But then I casually assign it to a string.
exampleArray = "text"
Errors like these happen all the time in dynamic typed languages. Most programmers just stop checking, and write test correspondingly.
Objection # 3: But I really want to create a mobile application
- To create a focal point for your mobile application, you will need the appropriate backend, which requires a suitable web programming framework, such as Node.js + Express.js.
Moreover, it should be noted
First of all, although many people use such mobile applications, nearly half of the programming work requires web programming. Compared to the insignificant 8% figure of the number of jobs related to mobile application programming.
Career data for 49,525 developers, based on 2016 Stack Overflow survey.
The period of the vision "To do anything must also be applied" long time ago. Instead, most mobile users do n't want to download new applications .
Of course— They still use the application. Most are Facebook, Google Maps, and many other convenient applications. Therefore, the demand for app programming is only concentrated in some big employers.
ITZone via medium