01 Python

Painted difficulty:

★★★★ ★★★

Founded in: 1991

What you can do after learning: Web development, application development, big data, data mining, scientific computing, machine learning, artificial intelligence, operation and maintenance, natural language processing, etc.

Employment salary:

Advantages of Python:

• easy to learn: as someone said in the forums, you can write Python in a few days after working on Java or C++ for a few years. But that’s not a bad thing, starting from simple to difficult, or from difficult to simple, is a good choice.

• Libraries: Libraries are free, and there are many libraries and functions that make programming much easier.

• Internet of Things: Python is probably going to be the most popular language in the Internet of Things, and we all know that new platforms like Raspberry PI are built on Python.

Disadvantages of Python:

• speed: the development speed is fast, such as java100 lines of code python20 lines. However, interpreted languages are much slower than compiled languages.

• Mobile: Python is weak in mobile computing and very few smartphone applications are developed in Python

• Design: Python is a dynamic language that requires more testing and error only at run time.

02 JAVA

Difficulty: ★ ★ ★

★ ★ ★ ★ ★

Founded in: 1995

** What Java can do: ** Android and IOS app development, video game development, desktop GUI, software development, and more;

Employment salary:

Java is an old language, but due to a large number of developers in the market, the competition is fierce, and salaries tend to be stable.

Advantages of Java:

• Java developers are in high demand: this is based on statistics. JAVA is the most in demand among many languages;

• Evolved languages: First, C++ is optimized based on C, while Java is optimized. And in this platform is added a lot of functions, lambda and other functions

• Android app development: Google’s Android Mobile platform is the number one mobile platform in the world, and Java is the primary language used by Android app developers;

Disadvantages of Java:

• use a lot of memory: Java uses more memory than C++ so it takes up more memory

• Learning curve: While Java isn’t the easiest language to get started with, it isn’t the hardest either

• Slow startup times: Anyone who has written an Android app in Java knows this. The same code is a very slow thing to start in the emulator.

03 GO language

Painted difficulty:

★★★★ ★★★

Founded in: 2007

Go language difficulty, relatively speaking, go language is not difficult.

However, GO language learning materials are relatively few other languages, so learning is not as convenient as other languages;

A lot of people say GO is more popular in China, statistically speaking, yes. Because China has a large population and a large base. Actually, GO is even more popular abroad. For now, GO is actually here to stay. Whether it’s Google’s aura or its practical application. Go has found its own space.

Employment salary:

Golang still has fewer job openings than other languages.

Advantages of GO:

• fast compile time: GO can write the largest microservices in about 6 seconds, which is a major efficiency advantage over the sluggish compile speeds of Java and C++.

• Concurrency and channels: The logo of GO, as you can see, aims to keep things simple, which means fast. It doesn’t really introduce a lot of new concepts. Is to create a simple language that is fast to use. To run a minimal boilerplate code for a function on a Goroutine, we simply add the function call using the keyword go:

• The ecosystem is also powerful: there are many stable libraries for Redis, RabbitMQ, Template, etc. There is great tool support.

Disadvantages of GO:

• Lack of framework: GO does not have a major framework. But many people don’t think you should start with the use of frameworks. You can also learn about this issue from community discussions.

• Error handling: In error handling, it is easy to lose the error scope, so it is difficult to provide meaningful error information to the user during programming.

• Package management: By default, there is no way to build builds that depend on a particular release or create builds that can be copied.

Finally, I want to say that there is no best programming language, only the most suitable, each language has its own strengths, find the most suitable for their own is the best.