Now I am doing PHP development. Although this is the best language in the world, I have recently fallen in love with Python. Is it worth it in the long run? Please analyze it from the perspective of learning curve and employment. Thank you very much!
Reply content:
To be honest, every time I see similar questions, I can't understand them. Why would a programmer use language as the division or boundary of his career? Shouldn't programmers be classified according to technical fields? You can say that you are an Android programmer, an iOS programmer, you can say that you are a backend programmer, a front-end programmer, you can say that you are an AI programmer, or a graphics programmer. But I can't imagine what the career of a C++ programmer or Java programmer is. Language is just a tool. Changing another language is nothing to worry about. If you find it difficult to switch a language, it only means that you have not yet mastered the knowledge of programming languages, or you have a bad memory as you get older=. =What you need to add is basic knowledge.
Here
There is a senior who started writing programs in 1997. He is a 40-year-old middle-aged and middle-aged programmer with a good reputation. Let's take a look at his career: His first job was writing ASP on a Pentium II server. The first programming language was VBScript (which many newbies today may not have heard of). I also write a little JavaScript on the front end. In the next 6776 days, the "technologies" used by this senior include VBScript, JavaScript, Linux, SQL, HTML, Makefiles, Node.js, CSS, XML, .NET, YAML, Podfiles, JSON, Markdown, PHP, Windows, Doxygen, C#, Visual Basic, Visual Basic.NET, Java, Socket.io, Ruby, unit tests, Python, shell scripts, C++, Objective-C, batch files, and most recently Swift. In 20 years, we have experienced numerous technology popular "trends":
In 1997 it was CORBA & RUP.
In 2000 it was SOAP & XML.
In 2003 it was Model Driven Architecture and Software Factories.
In 2006 it was Semantic Web and OLPC.
In 2009 it was Augmented Reality. (Yes, you read that right, augmented reality in 2009)
In 2012 it was Big Data.
In 2015… Virtual Reality? Bots?
What are the employment prospects? Can it be eaten? If you have this time, you might as well look at the history of technology. At the same time, what kind of programmer do you think this senior is? VBScript programmer? Or a Python programmer? He has worked in the Microsoft technology stack for 10 years and in Apple's technology stack for 9 years. It is roughly the route from Internet front-end to mobile development. If he had to struggle for a long time like you every time he came into contact with a new technology, his career would have ended long ago when VBScript was gone. There is something called technical reserve. If you are interested, just learn it. It may take some time, but in the long run, there is no harm. It's just a language, and it's not like I've been writing a game frontend for 10 years and suddenly have to switch to server-side distributed development. There's nothing to worry about.
From the perspective of short-term economic benefits, if you give up your job in PHP and switch to Python, although the starting salary may be higher, it is true that it will be harder to find a job. Secondly, the fields that currently use Python widely in China basically do not rely on Python itself to make money. PHP prefers to rely on PHP itself for coding.
From a practical point of view, Python’s simple syntax and self-consistent logical concepts allow you to work with it in just a few days if you have a foundation in any OO language. Combined with the Python positions mentioned earlier Most of them do not rely on Python knowledge, which makes the time cost for a basic person to switch to Python so low that it can be ignored.
So it’s good to learn Python. "Giving up" in order to learn Python... is not a big deal.
————————————————————————————————————
Then again, Py writes too much, I really don’t want to Touch PHP; I have written too much PHP, and I really want to resign...
If you can ask such a question, it’s better not to post it.
——Do you think it is difficult to learn another language?
1. I have seen many self-proclaimed Java programmers, C++, and PHP programmers who can’t figure out Python. The only reason is that they haven’t learned programming yet (they haven’t learned how to solve problems). Just learned a lot of grammar.
2. Language is just a tool, focus on solving problems.
3. Programmers always need to learn, and it is necessary to master multiple programming syntaxes. There are certainly benefits to learning.
4. Many people pay special attention to the results and not the process. If you put in the effort in the process, the results will come naturally.
I started learning Python at the age of 41, and gave up C and C# that I had used for more than ten years because I started a business and could not afford to support a large team. Languages are just tools for most programmers. Unfortunately, many programmers regard them as beliefs.
Life is too short…
Asking this at 27 years old. . . It’s better not to change languages, but to change careers.
Try whatever you like, anyway, you will find that it is the same in the end. The core of programming is never grammar. Just like if you want to be a writer, does it matter which language you use to write? It may be a little important, but it is definitely not the most important. If you ask a good writer to write in a foreign language, he will study for a period of time and read the dictionary and write better than a person who is used to this language but has poor literary accomplishment (although It may be a bit grammatical)
The essence of programming is similar to composing. As for whether you use piano or guitar (of course guitar is easier than piano, but the expressiveness is less), it is not that important.
For some reasons, a large part of the programmer talent market is divided by programming languages, and even prices vary. The programmer group itself is the supply side, and it is not yet strong enough to change this status quo.
But this is of little reference significance for the career planning of programmers themselves. What is more important for programmers are basic skills, domain knowledge, and further soft power. You cannot bind yourself to a certain programming language - even if you improve your abilities in programming languages, you will actually develop in the three directions I mentioned.
Of course, if you are a beginner, you should first become proficient in a programming language before talking about anything else.
Finally, I also hope that the market will improve and mature, and there will be more appropriate division rules for the programmer group, so that there will be fewer senior "certain language" senior engineers who have one year of experience and repeated eight years.
Every language in the 21st century must be mastered.
An excellent programmer should not take more than three days to become familiar with a new language.
This is the instinct that programmers should have in their genes.