Abstract: Looking back at the rise and fall of programming languages over the past few decades, it seems to reflect the changes and demise of the entire information industry. If you want to advance bravely in the torrent of technology, it is even more important to find and master one or two programming languages. It’s important.
Recently, TIOBE updated its programming language list for July. C, Java and Python, which have always dominated the list, still remain in the top three. What I never expected was that the R language actually rushed to eighth place, setting the best record in history. And with the subsequent increase in demand for data statistics and mining in the industry, the popularity of R language is quite unstoppable.
However, as a tool for programmers to eat, programming languages have also formed a certain chain of contempt. There is an atmosphere of tension in the major forums, and it is difficult to reconcile the opinions. It’s no wonder that many beginners have doubts, why are there so many programming languages, and which language should I learn?
Looking back at the rise and fall of programming languages over the past few decades, it seems to reflect the changes and demise of the entire information industry. If you want to advance bravely in the torrent of technology, it is even more important to find and master one or two programming languages. .
The Golden Age of Programming Languages
“Some people didn’t like curly braces and developed Python; someone designed Javascript in a weekend; someone was too bored at work, so they invented the C language.” There are many anecdotes about programming languages, but in the final analysis, the birth of a programming language must be driven by demand.
From machine-oriented languages, process-oriented languages to object-oriented languages, the history of programming languages has also gone from complex to simple. The rise of the Internet in the 1990s was undoubtedly the golden age of programming languages.
To paraphrase Wikipedia’s summary, “No major innovations were seen in the 1990s, and most were reorganizations or changes of previous ideas.”
But it was such an era that was the beginning of various programming languages to shine.
The most mainstream programming language at that time was the C/C++ language invented by two big guys from Bell Labs. The computer infrastructure that is the carrier of the Internet was all written in this language, including the Linux operating system, database, compiler and so on.
This also establishes the status of C language in the IT field. As long as computers exist, C/C++ will definitely have their place.
But the story of latecomers taking over is also happening at any time. The protagonists here are the old giants Netscape and Sun that have ended.
In 1994, Netscape released Navigator, a real web browser. However, due to technical limitations at the time, Navigator was more like a local display page without any interactive functions. Coincidentally, Sun officially launched Java (Oak language) developed by them to the market in 1995, which was characterized by “write once, run anywhere”. Netscape took a fancy to this potential stock and chose to form an alliance with Sun.
At that time, Java could be embedded into web pages as scripts to implement interactive functions, which were known as Java Applets. However, Netscape believed that Java was still too complex as a web script. Programmer Brendan Eich gathered the strengths of hundreds of experts and developed Javascript within 10 days. Now all browser front-end libraries need to be implemented based on Javascript.
With the popularization of computers, the rise of the Internet, the emergence of Web applications, languages such as Ruby and PHP have also appeared.
As Zhihu author “Qiang Ge Xuetang” said, “Although no programming language was created during this period, due to the participation of a large number of companies, programming language has achieved unprecedented development, forming the basic form of today’s programming language. It also makes software development more and more standardized and large-scale.”
At the same time, there are also some “niche” programming languages that are gaining momentum, waiting for the opportunity to “explode”.
Apple’s disruption, ecology is key
When iPhone 4 came out in 2010, Steve Jobs used smartphones to rewrite the subsequent development trajectory of the Internet. The smartphone market supported by iOS and Android has made mobile Internet the absolute protagonist.
Apple has created a new ecosystem. As the application development language for iOS, Objective-C, which began in 1984, has gone from being unknown to becoming famous. Relying on the development of various iPhone and iPad applications, Objective-C has It once reached the Top 3 of TIOBE rankings.
However, Apple launched a new programming language, Swift, at WWDC in 2014, which supports the writing of software applications for macOS/OS X, iOS, iPadOS, watchOS and tvOS, and announced open source and support for Linux the following year.
Since then, Objective-C’s market share has decreased year by year, from 12% in 2014 to 1% in 2016. It can also be seen from the figure below that the new language Swift started from 0 and has been growing steadily in the past few years. In January this year, it also rushed to the ninth place on the TIOBE list.
Although a computer language cannot be developed overnight from compiler, grammar, basic library to popularity among programmers, Apple still single-handedly integrates Objective-C and Swift.It has entered the mainstream market of programming languages. It can be seen that programming languages are closely related to the ecological scale of a product.
The same is true for the relationship between Microsoft and Visual Basic. Before the mobile Internet era, VB once relied on the visual development environment to become the most popular desktop development tool, and once had 3 million developers. And with the help of the Windows operating system market advantage, VB has always maintained a high popularity (unfortunately, Microsoft has stated that it does not plan to continue to evolve Visual Basic).
Back in the mobile Internet era, Android on the other side chose Java. As the Android camp grew larger and larger, Java has always been number one on the TIOBE list, and even the worst score can be ranked second.
For a programming language to thrive, in addition to its own advantages, the construction of its ecosystem is also crucial. After all, the more people use it, the more it can become its own school. This is reflected in the popularity of Python. Reflected vividly.
In the era of big data + AI, Python is unparalleled
When the slogan that you should learn Python from a young age became popular, the programming language entered the public circle from the IT circle.
In the era of big data and AI, Python can be said to be unparalleled. Everything from data analysis, machine learning, web development to crawler development can be solved very easily with the help of Python.
Statistical analysts can use Python to solve the problem of data crawling and analysis, and college students can use Python to solve the problem of renting a house…
The most important thing is that the learning threshold of Python is lower than that of C++ and Java. With its concise syntax and mature third-party libraries, even non-programmers can learn it in a short time.
The same is true for the R language used for statistical analysis, graphics, and data mining. It has caught up with the trend of data application analysis and can naturally stand out from many programming languages.
In response to the record-breaking performance of R language on the list in July this year, TIOBE CEO Paul Jansen clearly stated that two major trends play a key role: First, the era of commercial statistical languages and software packages (such as SAS, Stata and SPSS) Already over, universities and research institutions are adopting Python and R for statistical analysis; second, COVID-19-related research requires a lot of statistics and data mining, so statistical programming languages that are easy to learn and use are becoming more popular.
Another example is the Rust language, which was born in 2010 and was developed by Mozilla. It places more emphasis on features such as security, memory configuration, and concurrent processing. Libra, the blockchain project launched by Facebook last year, chose the Rust language to build because it is secure enough.
Rust’s ranking also jumped from 200 in 2012 to the Top 20 in the latest TIOBE list.
We take the rise of the Internet as the dividing line, and we can see that the ebb and flow of various programming languages will inevitably be accompanied by new products and technologies. Programming languages that adapt to the development of new technologies can regain their luster even after decades. And as the open source community grows, an excellent programming language can learn from the strengths of others and grow into a rising star.
Conclusion
If you want to make a living with a programming language, it is recommended that you learn Java first, then Python and C++, because these three programming languages can basically solve most of the problems we encounter in our work.
Finally, as Anders Hejlsberg, the father of C#, once concluded: If I want to summarize what programming languages will become in the next ten years, first of all, I think programming languages should become more “declarative”, and we need to find ways to provide language support. Introduce some capabilities such as metaprogramming and functional programming, and you may also want to find ways for users to extend the syntax so that they can construct domain-specific languages, etc. But generally speaking, what I want to emphasize is that for programming languages, the new paradigm is “multi-paradigm” programming languages.
Part of this article is based on the following articles:
1. “30 Years of Turbulence in the IT Industry -> History of Changes in Programming Languages”
https://zhuanlan.zhihu.com/p/106808045
2. “The Development History of Computers and Programming Languages”
https://blog.csdn.net/abc6368765/article/details/83990756
This concludes this article about C, C++, Java to Python, which language is better to learn for beginners of programming. For more information about C, C++, Java, Python, and which language is better to learn, please search previous articles. Or continue browsing the related articles below. I hope you will support me in the future!