preface

Many of you have seen the TIOBE list of programming weapons released in May. Python overtook Java at number 2 with a 2.75% growth trend, and many “strong” people even predicted that Python would be the number 1 programming language this year. But to Longsha, this is all normal. Every time the list of programming languages changes, people like to make predictions about the future.

I just can’t stand it when people who have other agendas or don’t know anything about it say things like “Python is the best language in the world” or “People should learn Python to program”…

In my opinion, this is a very misleading statement, and I’m going to say the same thing when I posted a post last November, when Python accomplished the miracle of “catching Java for the first time” that hasn’t happened in more than a decade.

I still object to those who say “Python is the best programming language” and “I advise everyone to learn Python”!

Why should I object? The reasons are as follows.


1. someone is in love with

For our programmers, the process of developing a software, you might want to use several languages to solve your problem, that is to say, a programmer he may have to master a to many languages, but most programmers are familiar with the language, he must have been used in the current YiMenEr, then on this basis, the introduction of the advantages of some other language, To enhance some of the performance of their software.

So many programmers fall into the trap of saying, “PHP is the most awesome language in the world.”The notion that he loves his own language and then comments on the merits of programming languages is misleading.


Second, to overgeneralize

When we write programs in a language, it’s impossible to write programs that run in air. We write programs that must run in some environment.

So it’s not just the language that determines the performance of software, it’s the system.

Separate discussion programming language which, like you to compare the formula one racing with chery QQ speed of the two, you might say F1 certainly cow force, chery QQ affirmation is too weak, but the problem is that if I put the two cars drive to Beijing five rings, traffic to the water, then it both velocity is about the same?

Therefore, problems should be viewed as a system and a whole, and those who do not seek the overall situation are not enough to seek a domain. It’s rare to see an architect come out and talk about one of the pros and cons of language“Basically all you see is programmers talking about which language is better and which language is worse. Some people say JAVA is the best language in the world. Some people say PHP is the best language in the world. Some people say Python is the best language in the world.

For us programmers, languages are just tools. Our job is to solve problems, not to find out who has the best tools. Everyone’s tools are awesome, and everyone’s tools are not so awesome.


Three, high building

Programming language learning it is a set of systems.

The first layer is that you first have to understand the computer hardware, like the CPU, the memory, the hard disk, and how they generally work. The second layer is on top of the hardware. You have to understand what the operating system is and how it generally works. The third layer is to develop applications on top of the operating system, where you need to master one or two programming languages.

** But I see most people’s analysis is directly on the third floor, for the white is no different from building a building from a high altitude, ** it default you already know the computer hardware and operating system, that is, software platform is what, and then to compare the advantages and disadvantages of the language level.If you’ve got into Internet development, this is. You can listen to the pros and cons of a programming language, because you already have a foundation, and then you can go to the third level and listen to the pros and cons of the language, and it makes some sense to you.

But if you’re not in the world of Internet development, and you don’t even know what the platform of software is, then the linguistic comparison is meaningless.

Because the first thing you’re going to have to do is get your foot in the door, and getting in is the most important thing.

For the small white, you should always keep in mind that what you learn is programming, is to solve problems, followed by the choice of appropriate programming language, your thinking logic translation down, this sequence must be clear.

If you start with the assumption that you are a programmer in the industry and you choose the right tools for yourself, it is very foolish, because you don’t know what problems you are going to run into, you don’t even know what programming is.

So my advice, if you are really interested in the IT field, is how to learn programming quickly and advance into the field, that is the most important.


4. Review Python

While Python is not as comprehensive as you might think, there are some aspects that are positive, and there is nothing wrong with learning Python if you feel that these aspects are what you want.

1. Quick learning time

If you want to quickly implement your own programming logic in a language, Python is definitely a good choice.

You learn Python for a month and you can start writing programs right away, which is very user-friendly, so you should choose a program that you can get up to speed on, learn what the program is, and then discuss whether you should choose Python or something else.

Instead of choosing a heavy language first, then lingering at the entry level for a long time and not being able to learn to write programs, and eventually giving up because of your lack of perseverance, it’s better to choose an easy to learn programming language.

2. By analogy

Take myself as an example. I first learned C language, and then taught myself Java in college. After more than ten years of working, I have learned PHP and Python successively.

Because it’s important to keep in mind that you’re learning to program, and when you do, it’s very easy to switch from one language to another.

Of course, it’s hard to learn all of this language in depth. Why? Because language is a tool, further study is not in the study of tools, is to find how to effectively solve the problem.

To put it bluntly, you may encounter a variety of problems, one language will not be able to solve all your problems, you may need multiple languages to solve your problems, so we often say that a qualified programmer should be able to master at least two languages.

If you are a graduate of Computer science and you have a solid basic knowledge of computer science, or you are confident in your willpower and learning ability, I think you can enter the field of Internet development in whatever language you choose first.

If it is notIn fact, I recommend that he use python as an easy to use tool to get a quick grasp of programming, and then move horizontally to other tools.

3. Workplace differentiation

There is no doubt that Java programmers are the most popular in the market right now. For young programmers entering the workforce, you may be competing with older programmers with four or five or more years of development experience. In the past, for example, I used to give technical departments “experience first.”

So for the vast majority of newcomers, there seems to be no advantage other than energy and a lot of hair.

In fact, in terms of technology, it can be differentiated. The entry-level salary of Python is generally higher than that of Java, which is the big data of recruitment platform. At present, there are not so many programmers who have mastered Python. Python is also a great way to differentiate yourself in the workplace.

As for the people who said they couldn’t find a job with Python, I don’t know what to say. There are also many people who couldn’t find a job with Java, C or C++. Please don’t blame it on the language, especially a language that has always been in the forefront. Does your knowledge meet the needs of the organization? From a business perspective, can you create more value than you ask for?

4. The hype?

I have heard a lot of people say that “Python is heated up by domestic education and training institutions”. After listening to this, I have no answer. I even admire the brains of the people who say this.

First of all, LET me make it clear that I don’t take any money from anyone, and I don’t want to do any whitewashing for any institution. I just want to be fair to Python.

Let me ask you two questions.

The first question is, are programmers all over the world fooled by our domestic training institutions?

Second question, you may say, I have been talking about the world ranking, maybe Python is only used more in foreign countries, but less in China.

Then tell me, which programming language of yours has not first become popular abroad and then copied in our country? There is a calculate a, Java is not the first fire from abroad? Is it C? C++, right?

To put it bluntly, the origin of these programming languages are foreign countries, are first used from abroad, and then promoted to the domestic, Python’s world share is so large, the world is widely used, do you think the domestic will not be widely used next?

No matter what happens in the future, at present, more foreign countries are influencing our domestic technology.

There is no doubt that the introduction of any new technology will inevitably impact on the old foundation. But as a technician, if you don’t have a little foresight, then why do you walk in front of others? I hope that people can get objective answers through data, instead of subjectively concluding that “I don’t think A is good, B is not used much” and “C’s fire in the world is promoted by training institutions” from their own narrow standpoint.

Training institutions have always been followers, not creators, of technological trends. So please jump out of your subjective assumptions, you only represent yourself, you can not control the world ranking, you can not represent the world share. Hopefully, those of you who have read this, you have to have your own scientific analysis, not just listen to what you want to hear.

You will feel more comfortable and at ease with action than with advice to learn or not to learn.