No one can predict the
. Even the computer scientist Brian Kernighan haven’t been able to do it. He is the first book about C language in the world, co-author of the home page books, the book is still in print today. Language itself is Kernighan another co-author Dennis Ritchie invented, but he has passed away in 2011.
“I vaguely remember the dialogue at an early stage and editing, I told them that we will sell about 5000 copies of books.” Kernighan said in a recent interview. “We can do better, I don’t think the students of the textbooks used in the future version is still 2014 version.”.
in particular is the C language persistence obstacle appeared, Google has developed a new language, is called the Go, it can be not loss under the situation of application performance to reduce the complexity of the code. Google chief software engineer Rob Pike (Rob Pike) said: the reason we Go, because in the past 10 years of software development difficulty is frustrating. The language to be able to get a more effective and professional to C now need to solve the problem. Kernighan, however, it is hard to imagine the Go to eradicate C, no matter how good the language.
he said: “the most number of programming languages no death, or at least the number of recipients once they reach a certain extent, they will not die. Relative to other C language still can very good solve some problems, so it is still strong alive.”
programming community “habit is a second nature”
why some computer language become more successful than other computer language? This is because there are a lot of developers choose to use them. This seems logical (or even the feeling of some nonsense), but when you want to find out why so many developers choose the language as the language they use, this problem becomes a bit tricky.
Ari Rabkin and Leo Meyerovich are respectively from Princeton university and the university of California, Berkeley, researchers. They committed to answer those questions in the last two years, they published a paper called “Programming Language use situation confirmed and Analysis, Empirical Analysis of Programming Language Adoption), the paper mainly describes their by analyzing more than 200000 original version of the program and polling for more than 13000 programmers.
so, what is their main found? Most of the time, programmers to choose their programming language of reason is that they know the language.
“we use the Language that’s because the people around me and I have been using this Language” Rabkin explains, “for example, astronomers use the IDE in history (Interactive Data Language), Interactive Data Language as their computer programming Language, not because of the Language of space galaxy has a special function, but because people use it has a large inertia. Programmers used to use this language to write a good program, they just want to keep the advantages on this kind of feeling down.”
in other words, thanks in part to profile, is that it makes the language remain immortal vitality. Awareness, of course, the effect of strong, but that doesn’t mean that the popular programming language status it will never change. Rabkin, points out that we now use the C language is no longer like that year Kernighan first write, if do not improve, it may not be fully compatible with modern C compilers.
“there is an ancient, and programming language related to cold jokes, there is a engineer was asked, what language the people will continue to use 30 years? After he returned to the way: I don’t know, but its name will be a Fortran (formula translation) “. Rabkin said. “we’re seeing a long service life of the language is no longer in the 70 s or 80 s were designed. People in most of the time is added to the need of optimizing the language function rather than delete existing things, this is in order not to break backwards compatibility program, but no matter how to change, some features are fixed forever.”
what is the program backward compatibility, this means that programmers can continue to use the language not only update their programs, and they don’t need to return to rewrite the program for the past is very old. Is the comparison with the old “legacy” let the language survived for a long time. This is just a price. As long as it is, people will exist for a language beliefs.
PHP: a case of a long life language
legacy code refers to the process or part of the program is written by outdated source code. Consider, for example, in business or engineering projects on the core of program written in a kind of exotic language functions, but the language no place is compatible with it. These legacy code still keeps the original objective function, and it is hard to use modern code to write, even can also requires huge manpower and financial resources. In view of this, they can only in circles, forcing programmers continue to struggle to use it.
any language has experienced a few years later will encounter some legacy code, PHP is no exception. PHP is a very interesting examples, it is because of its legacy code and the modern code is very different now. Can be said to be a huge change. Its supporters and opponents acknowledge that this change is a great progress. PHP unique syntax created a mixture of C, Java, Perl, and PHP syntax. It can more quickly than CGI or Perl perform dynamic web pages. Use PHP to make dynamic pages compared with other programming languages, PHP is embedded in the HTML document will program to execute, execution efficiency is much higher than the complete generated HTML tags CGI. PHP can also execute the compiled code, compiler can achieve encryption and optimize the code to run, make the code run faster.
Andi Gutmans is one of the joint inventor of Zend Engine, its compiler mainstream compiler, PHP4 is popular. Gutmans said he and his partners originally just want to improve your.php3, because PHP since invention is very successful. Rasmus Lerdorf later joined their project, so eventually accomplished PHP4 compiler, and later the PHP5 also continue to use the compiler.
so, today we can see the PHP language is and its ancestors – compared to the original version of the PHP language has been very different. In Gutmans view, however, he has been based on the old version of the PHP language biased legacy code, PHP is a language that is full of all kinds of security holes, it cannot afford to “scale” to deal with large computing tasks.
he also pointed out that the criticism of PHP people often criticize it was in 1998. Are these people don’t understand of the PHP language today, today’s the PHP language is a very mature ecology.
today, Gutmans said, as a “housekeeper”, he is the most important thing is to encourage people to keep update, update to the latest version. He said, “PHP is a large enough community, and you have plenty of legacy code base. But overall, in our community, and is using the lowest.php3.”
the problem is, any language users are never complete upgrade their application to the latest version, that is why now, still have a lot of users are still in use as early as 2000 has issued Python2, rather than in Python3 announced in 2008. Six years on, now a lot of users, such as Google, are reluctant to upgrade their language. There are a variety of reasons, this makes a lot of developers to update language cautious on this matter.
“will never die.” Rabkin said, “any language has a legacy code will continue to use for a long time, because rewrite them is very expensive, if it is no big problem will never go to repair it.”
decided language life is not the language itself superiority
of course, the developer will not choose these retain only what the language of the legacy code. Rabkin and Meyerovich preferences when they talk about language, the language is just a simple digital age. Rabkin also revealed:
things really make us feel shocked, we think that is very important, will people into several groups according to age, and asked how much they know about programming languages. Our intuition is that the number of the answer is sure to increase as the growth of the time and experience; But in fact is not such, 25 and 45, surveyed all know that the same number of programming languages. After a couple of questions the answer is the same, so you will know that a given language doesn’t increase with the growth of the age.
in other words, not just the developers always adhere to the classic language, studies have found that young programmers using the programming language is also the old language for the first time. This may be because some of these languages have valuable library or some can attract people to use its features. Or because the developer’s most people have adopted the language of a group as a team in the first language.
“in the world there will always be a fixed number of programmers focus on the language,” said Rabkin, “if a kind of language can provide enough its unique value, then people will learn and use the language. If people to share with you another language, code and transmit information through the language exchange, are you sure you will be happy to learn this language. For example, as long as most of the library is a Python library as well as groups are Python’s professional experience, so there is no doubt that Python this language will do well.
there are, researchers found the language of the operation process, the use of the language group is very important. Although not between high-level language is not very obvious difference, like between Python and Ruby. Programmers, for example, can easily by developing a feel the superiority of one language, but another language also has its own superiority.
Rabkin also said: “the Rails and no use Ruby, but because it is proved that the decision of the programming language is affected by social factors. For example to the revival of Objective – C the language of the booster is apple engineering team stressed: “let’s use it!” , but in fact they did not go to pick up the language.
by social influence and legacy code, we are the oldest and most popular computer language has the same strong inertia. Then Go beyond C likely? Then look have the right people, or powerful company says it is “ok”, to guide developers to use the language, so this problem of answer could be yes.
Rabkin concluded: “the rise and fall of a language, who can be attributed to better able to promote the language.”