Home>Article> When programming languages are in the hands of enterprises, is it a chance of survival or a crisis?

When programming languages are in the hands of enterprises, is it a chance of survival or a crisis?

藏色散人
藏色散人 forward
2019-04-03 10:29:11 3352browse

In April 2019, the Java 8 charging era has arrived! In January 2019, Oracle announced that it would stop free support for Java 8 updates, and future Java updates would only be available to paid license holders. Recently, Oracle sent an email to inform users that Java 8’s first, paid quarterly major patch update will be released on April 16.

When programming languages ​​are in the hands of enterprises, is it a chance of survival or a crisis?

Industry analysis company Redmonk recently released the programming language rankings for the first quarter of 2019. The top ten are JavaScript, Java , Python, PHP, C#, C, CSS, Ruby, C and Objective-C. The RedMonk programming language rankings are published twice a year. They are mainly based on the code usage and number of discussions of programming languages on GitHub and Stack Overflow. After statistical analysis, the rankings are sorted to determine the future adoption trends of programming languages.

I believe many people will have a little doubt when they see RedMonk's rankings. This is a bit different from the programming language rankings released by TIOBE. The Top 10 programming languages released by TIOBE in March are: Java, C, Python, Visual Basic .NET, C#, JavaScript, PHP, SQL and Objective-C.

When programming languages ​​are in the hands of enterprises, is it a chance of survival or a crisis?

#When programming languages are in the hands of enterprises, is it life or crisis?

However, if you carefully compare the two programming language rankings, you will find that 7 of the top 10 programming languages are the same, but the rankings are slightly different. In fact, the competition for the top programming languages has always been relatively stable. RedMonk’s top five players, JavaScript, Java, PHP, Python and C#, have not changed since 2014, and even the ranking order has only appeared a few times. Small changes.

Excluding the top players and expanding the scope of observation to the Top 20 programming languages, you will find a more interesting phenomenon, that is, the programming languages that are rising rapidly are supported by companies. Taking the RedMonk list as an example, let's take a look at these "background" programming languages:

• Objecr-C, ranked 10th: Objective-C was originally developed by Brad Cox and Tom Love , but was later "acquired" by Apple.

• Swift ranked 11th: Swift is a new development language released by Apple in 2014. It is easy to learn and use.

• TypeScript ranked 12th: TypeScript was originally an internal project of Microsoft. In 2014, Microsoft officially released the language.

• Go:Go, ranked 15th, was developed in 2007 by Google employees Robert Griesemer, Rob Pike and Ken Thompson. It was open sourced in 2009 and quickly became the core language for building cloud applications.

• Kotlin at No. 20: Kotlin was originally developed by JetBrains and was “acquired” by Google in 2017 for Android development.

In fact, early Web languages were basically written by individual hackers. For example, PHP was written by Rasmus Lerdorf, and Python was written by Guido Van Rossum. The late 1990s was the golden age of Internet development. A large number of grassroots projects and small projects emerged at that time, which later developed into large-scale projects. Take programming languages as an example. At that time, people no longer used C language to build CGI web applications, but were actively adopting other languages such as PHP and JavaScript.

"Father of C" Bjarne Stroustrup began to study C when he was studying for his PhD. However, it was not until 1983 that he used C at AT&T. When he recalled this experience, he said:

When I was developing C, AT&T was actually facing a dilemma. The systems AT&T built were more complex and had higher reliability requirements than most organizations, so we had to influence the market ourselves and develop standards that met our own needs. , otherwise we would not have the tools to build the system. Before I developed C, Ken Thompson and Dennis Ritchie had developed Unix and C. AT&T is probably the largest "civilian user" of software tools in the world, and we use them on a much wider range of systems: from the smallest embedded processors to the largest supercomputers and data processing systems. Therefore, our idea at the time was that this language should be applicable to as many of these technical cultures and platforms as possible. Versatility is critical, and proprietary features can be seen as limiting platform and vendor choices. Therefore, AT&T was, and still is, a major supporter of formal standards (e.g., ISO C, ISO C). In other words, AT&T pushed C to become an industry standard, and C became an industry norm through AT&T from the whim of a PhD student.

But when time travels to the 21st century, this situation has changed. If the "Internet" benefited the people in the early days, then when the next wave of mobile applications arrived, the leaders became enterprises. Language rules are dominated by Google, Apple, and Microsoft.

Many emerging languages are sponsored by companies from the beginning, such as Microsoft's CNo. These new programming languages learn from past experiences and lessons. By default, each new language is open source and will not Yet another case of a company trying to build a proprietary program in a proprietary language. Of course, there are also languages that were originally developed by hackers that have been "adopted" by companies, such as Objective-C.

During this period, much of the future of the web and apps was built on corporate cash rather than community momentum. So, is this situation good or bad?

It is not difficult to see from the above that a large part of the popular programming languages are backed by corporate investment. The advantage of corporate investment is that there is sufficient funds, and the programming language can develop continuously and steadily without sudden death. But there are also drawbacks, that is, companies may make profits from it. For example, Swift takes 30% of the fee for every application built using Swift.

What’s even more frightening is that enterprise-dominated programming languages may lead to ecosystem lock-in, and open source programming languages are an important part of forming this lock-in. Once an enterprise's ecosystem and applications rely heavily on a certain programming language and cannot be easily replaced, it is likely to be led by the company behind the programming language, just like Oracle's previous "vendors" in the database field. Lock-in” and IBM’s “vendor lock-in” in the mainframe field.

The "vendor lock-in" of programming languages is not far away. In the near future, the Java 8 update will start to be charged! In January 2019, Oracle announced that it would stop free support for Java 8 updates. Future Java updates will only be available to paid license holders. Users without valid licenses cannot use Java 8 security updates for commercial purposes.

When programming languages are in the hands of enterprises, is it life or crisis?

When programming languages ​​are in the hands of enterprises, is it a chance of survival or a crisis?

(Picture source network, a reminder email sent by Oracle to users about Java 8 charges)

Starting from April 2019, Oracle Major patch updates to Java 8 will be released quarterly, and the first non-public major patch update will be released on April 16. In many enterprise applications, Java 8 is still the main force. I believe Oracle's charging move will have an impact on many enterprises.

Statement:
This article is reproduced at:toutiao.com. If there is any infringement, please contact admin@php.cn delete