The current status of software engineering in 2020: Python may become the largest programming language, and China's open source has the most rapid growth

Yunqi Information: [ Click to view more industry information ]
Here you can find the first-hand Shangyun information in different industries, what are you waiting for, come soon!

 

image

Now, it's time to talk about the state of software engineering in 2020 and beyond. This article is based on GitHub Octoverse data, plus my experience and observations as a software engineer with ten years of experience. I will also discuss the topics listed below.

Software engineering has achieved explosive growth in the past 20 years, and this momentum seems to be maintained. According to data from Fortune, the total revenue of the top 15 technology companies in the world reached a record $ 1.67 trillion in 2019, a 2% increase from 2018. There are more software companies today than ever before.

 

image

In addition, existing non-software companies have introduced more software components into their products, from cars to washing machines. The future is the world of software, but not all software is created equal. Identifying the most promising and fastest-growing areas of software can help you achieve career and project take-off. Investing in a developing field can help you find a job more easily and get a higher salary, helping you raise funds for the project. Then, gossip less, go straight to the topic.

Programming development

In 2019, 10 million new developers have entered GitHub. I guess most new users are from outside the United States, but even so, this is still a huge number. Thanks to GitHub, I can extend the scale to such a degree without any problems. I pay tribute to GitHub.

 

image

These new developers have contributed to more than 44 million warehouses from around the world. 80% of code submissions come from countries and regions outside the United States. Similarly, in countries and regions outside the United States, the technology industry is also developing rapidly, and GitHub data also shows this. Perhaps within a few decades, there will be multiple competitors in Silicon Valley competing for the top spot in the world's software engineering center.

One more thing to note, GitHub data does not represent the entire world, but it can reflect the general trend well because it is the world's largest code hosting provider.

Last year, nearly 70% of global Fortune 50 companies contributed to open source. The figure of 70% is huge, according to GitHub data, this number is still growing. Not only that, there were 2.9 million organizations on GitHub last year, and this number sounds ridiculously large, but as more and more companies introduce software components into their processes, even the largest number will become commonplace. .

 

image

Open source development

On average, every open source project on GitHub has contributors from 41 different countries and regions. This again shows the growth rate of countries and regions outside the United States.

 

image

Following the United States, the use of open source has accelerated in China, India and Germany. Chinese developers' fork and clone projects have grown by 48% over last year. I think no one will be surprised by the growth of Chinese software. The question is not whether China will surpass the United States, but when it will surpass the United States.

 

image

 

Open source usage

If we look at the continent, Asia is already ahead of the United States and Europe. However, seeing South America and Africa lag far behind, the contribution of Europe alone is less than a third, and the total population of these three continents is 1.6 billion. Surprised.

 

image

Tip: I wrote an article on how to properly use GitHub for software development. In this article, I provide a complete GitHub workflow, and at the same time completed some actual work on my android-docker open source project. At the same time, I also provide some useful comments and tips on using GitHub efficiently. If you want to read it, link to the resource section above.

Top library

In the top 50 open source packages of each programming language, including JavaScript, Python, Ruby, etc., there are a large number of dependent projects. For example, even though there are less than 40 direct contributors on average, the popular npm package may be a dependency of millions of other repositories. It is not surprising that the top-level dependency packages are Java, Python, and JavaScript. They are currently the top three programming languages, and I don't think this situation will change soon.

 

image

Popular items

As the open source movement is surging, people are contributing more and more to open source. I strongly recommend everyone to contribute to the open source project. This is a great opportunity to enter the open source community and gain valuable experience. In addition, you can also list the projects you created and contributed in your resume, which is a big plus.

As you can see in the table, the project that contributed the most last year is also one of the most useful. For example, Visual Studio Code is one of the best programming text editors. The same is true of TensorFlow, React Native and Kubernetes. They have become priceless tools, and it's no surprise that people like them and want to use their contributions to improve them.

 

image

Top programming language

Now, it's time to analyze the programming language. It is not difficult to see that as the main supporting language of the Web, JavaScript is still ranked first, which is not shocking. I expect Python to surpass JavaScript at some point, but we have to wait and see when exactly. In fact, outside of GitHub, Python may already be the number one programming language. As always, Java is keeping pace with PHP and C ++.

 

image

What surprised me was the rapid rise of TypeScript. I once predicted that once all the good features of TypeScript finally appear in JavaScript itself, it will be discarded like CoffeeScript and many other things. Instead, only a few TypeScript features end up in JavaScript, including private fields / static fields, optional links, and null merging. TypeScript retains its unique characteristics and continues to gain popularity in the market. However, I still think that using simple, modern JavaScript will make TypeScript stand out in a simple and clean way. TypeScript adds a lot of complexity, including tools and dependencies (that is, a third-party type set package), which I think is not worth it. On the other hand, I am not a prophet, so we can only wait and see to see if it has the same fate as CoffeeScript.

Data Science and Machine Learning

2019 is a year of data science and machine learning. I fully expect that it will continue on the same trajectory for almost the entire decade. Analyzing and understanding massive data is of great value. Especially combined with machine learning, the value generated by these two may exceed all other branches of computer science. What I want to say is that the only thing that can put data science and machine learning behind the scenes is quantum computing breakthroughs. Otherwise, it is a good idea to invest some time in the hottest branch of computer science. As I often say, if you invest in a developing technology, you can grow with it.

 

image

Machine learning has applications in every aspect of life. Using machine learning to predict shopping behavior and provide customized recommendations is a good example. Virtual personal assistants like Siri and Alexa, automated translation services like Google and Microsoft Teanslate, spam filters, automated customer support, etc., are increasingly based on machine learning.

 

image

Cloud computing, DevOps and security

The complexity and scale of software systems are increasing. In addition, specific tasks like machine learning require unconventional server hardware, such as TPU, or Tensor processing units, which is a custom-designed hardware used to accelerate machine learning tasks. This has led to a lot of work within the enterprise to house the servers and maintain them manually. The most sensible way to solve this problem is to use DevOps tools to automate server deployment and maintenance. It is also reasonable to migrate these servers to cloud computing vendors, so you do n’t have to look at other bare metal servers.

As the demand for cloud hosting and DevOps increases, these skills are increasingly favored in the market. If you have a desire to work in hardware and networking, then it is a good investment to try cloud service providers and DevOps tools. Most cloud service providers offer generous free packages, so you can create a free account with Google Cloud, Amazon Web Services, Azure, or any other smaller cloud service provider and start experimenting and learning immediately.

 

image

Obviously, moving all your data to the cloud will bring major security risks. This increases the need for security awareness for anyone involved in DevOps or the cloud. In addition, this has increased the demand for dedicated software and network security engineers. Investing time to understand the security impact of cloud computing and DevOps decisions is critical. If you plan to interview for a job in DevOps or any infrastructure, you should place a strong emphasis on security.

 

image

to sum up

The development of software is like a rush at the time of prosperity. It is being integrated into all other industry sectors. Since software is an evolving field, learning programming and improving your software engineering skills will have huge rewards in the future. In addition, identifying the fastest-growing areas of software and investing time in them will allow you to achieve better development.

Continuously study and strive to find all the opportunities that can be used, or find products that can serve the niche in the continuously developing software field. When this niche becomes mainstream, you can finally control a successful product in your In your hands, this may become your future success. If it fails, it will be a huge experience on the road to becoming a product expert.

[Yunqi Online Classroom] Every day, product technology experts share!
Course address: https://yqh.aliyun.com/zhibo

Join the community now, face-to-face with experts, and keep abreast of the latest developments in the course!
【Yunqi Online Classroom Community】https://c.tb.cn/F3.Z8gvnK

Original Published: 2020-04-08
author: QuanticDev
article from: " AI No. frontline public " for information may concern " AI Frontline "

If you find that there is suspected plagiarism in this community, please send an email to: [email protected] to report and provide relevant evidence. Once verified, the community will immediately delete the suspected infringing content.

Original link
This article is the original content of the Yunqi community and may not be reproduced without permission.

Published 2315 original articles · 2062 thumbs up · 1.58 million views

Guess you like

Origin blog.csdn.net/yunqiinsight/article/details/105441132