Author: hoowa Source: AKA magazine
"How did Larry Wall invent a messy programming language-and then changed the Web landscape? "
Larrywall smiled and recalled the message that David Filo, the co-founder of Yahoo, sent to him a few years ago, shortly before Yahoo was publicly available. file wrote: "Without Perl, the general programming language invented by wall, Yahoo cannot begin. so, Larry, are you willing to buy some cheap, Yahoo's original stock (IPO "?
Back in the early 1996 s, it was at the absolute height of the crazy Silicon Valley Internet IPO, such a proposal is tantamount to asking if you accept the delivery of an automatic unloading truck loaded with solid gold products to the lawn in front of your door. but for wall, money is never the primary motive. despite being the author of the most valuable tool used by hackers, wall still lives quietly in a small town in Mountain View, remote California, and processes the old 1977 Hoda accord. perl has nothing to do with money. Wall invented this language only to solve a programming problem encountered in daily work, and from the very beginning He confirmed that Perl's source code was freely available. people always want to use Perl for patching-whether it is used to build an internet directory company with millions of US dollars or just do a survey on their own homepage.
Although wall may be frugal, He is not stupid. he accepted the offer and bought some Yahoo shares for his 14-year-old daughter-enough to pay for her university. a better example of the old gift economy rule on the internet is almost unimaginable-investing in networks allows you to make a profit.
Larry Wall liked to call Perl a "crude" language. with his gentle voice, he described Perl as follows: He is a obedient, Gentle servant, and only exists to "let him obey your needs. most of the Perl hackers crowded on the web are not gentle: They claim that Perl is an indispensable adhesive that makes the entire web closely linked-not just Yahoo, there are also Amazon and other millions of sites. perl supporters believe that without Perl and Larry Wall, the network is just a pale shadow.
Whether it is promoting the development of Web or the freesoftware/opensource movement that creates numerous Internet infrastructures, wall plays an important role. but even if he simultaneously honors him as the "extremely important leader and wise veteran" of freesoftware ", wall's leadership style is absolutely humble-this remarkable personality distinguishes him from other leaders of the movement.
As the son and grandson of the missionary, wall is a devout believer. according to his friend Tom Christiansen, a close partner of Perl, his task is to achieve his ideal-"to enable people to work together. he plans to do some mutually beneficial work for Perl with his selfless inner perception ". but he won't allow himself to get involved in the unimportant "faith" War, these wars are plaguing the world of programming-endless arguments such as whether a programming language or operating system is inherently better than another. this fierce debate is about the preferences of hackers who prefer to distinguish themselves from each other. They do not allow the existence of a small space, even if it is a small workspace, 0/1 and other digital problems, fuzzy belongs to the outside world.
However, wall and Perl are all in a narrow space, which is messy, unideal, and fuzzy creativity. after all, the value of transfer is not only that it solves a specific problem for you, but that it helps you complete a job. To some extent, Perl is not the first stream. but that's not what wall cares about. his modest goal is to help people do what they need-to implement programming languages and hardware platforms, the interconnection between multiple software fields and people working together in the same space.
If you think carefully, you will find that Perl is the whole network. Perl, first invented by wall more than a decade ago, began to spread explosively until the network grew up in 1994, not by accident. A network is a collection of hackers, and a messy fact already exists. It requires fast thinking and response times. Perl is the best friend of a network hacker.
How Larry Wall changed the entire computer culture.
"I tried to get a proper amount of flexibility and stability at the same time," says wall, a messy home in his mountai view. he is talking about Perl, but his attitude is integrated into the foundation of everyday life. wall has a caller ID (Caller ID) connected to the computer. In this way, he has commands for every incoming call to make the corresponding sound. what is callerid? Wall asked, if you have to go far to answer the phone to know who called it? Similarly, a set of conversations are also sent from a Wallace & Gromit clay puppet when he presses the doorbell. When his dryer (hidden in the garage) stops turning, a flute will sound throughout the room.
Wall is a system administrator rather than a software engineer. system Administrators tend to be utilitarian towards programming and technology-they focus on making the network work continuously, solving urgent problems, and programming quickly. as a programmer, wall has been used to solve this problem all his life-Perl is the most recent tool in his own crafts repository. A few years before he constructed Perl, he became a hacker and wrote "RN"-a program used to read Usenet newsgroups.
For software development, RN is an early prototype called freesoftware or opensource model-where programmers collaborate on each other through the network, so that everyone can obtain code to improve the product. wall writes RN, issues source code on the Internet, and then starts to upgrade the version, which contains suggestions and error fixes from other hackers in the initial network space.
However, back to the middle of 1980s, it is not easy to issue an upgraded version through the network. generally, people connect to the network through a-1200 baud rate modem. It is impossible to easily transmit the source code of the upstream MB back and forth, but now this situation is normal.
Therefore, wall writes a small program called "patch ". patch comes with a compressed new update source code and can be applied to previous source code. patch can improve the speed of updating old code, and even intelligently consider previous source code changes.
As a hacker, wall is a very careful person, but it does not mean that he is always modest. "patch has changed the computer culture," wall said.
"I have been believing that patch is one of his most important contributions to the opensource culture for many years, although he has never attracted the larger and more attractive engineering attention as Perl or RN has done. "Eric Raymond, one of the most famous leaders of the opensource movement, said.
"Patch may be the most successful job ever," Raymond said. "Larry created it effectively, at least it was key, the modern highly distributed development mode verified by Linux."
The patch is followed by Perl. on the surface, he is a completely different stuff, a highly complex "script" language, for those who need to write automatic tasks, connect incompatible programs and systems or solve insurmountable problems. perl originated in 1986, when wall was a system administrator of a subsidiary of Burroughs. at that time, he worked on Santa Monica and paoli, Pa. the synchronous exchange of information between computers is related to "a secret program of NSA", but NSA does not only want information synchronization-it also wants to generate reports about each exchange, however, none of Wall's existing tools can be used for this task. integrating all things requires an emergency solution, a programming job, and finally a Perl-Practical Extraction and Report Language (Practical Extraction and report language ).
"I realized that there was a huge gap between C and Unix shells," wall said, "c can handle complicated things-you can call it 'operation', but shells is good at processing things I call 'whipupgrade. but there is a large blank area that neither c nor shells can handle well. This is what I designed Perl."
Since then, wall has spent his spare time and energy exploring the need for a language that can connect to a large blank area in the computer field.
"People are always looking for gaps," wall said. "They are always looking for new ecological environments. the speed at which you enter these ecological environments is really important, because the first person who enters these environments is always the winner."
Perl is a winner. wall ensures Perl's particularly powerful capabilities-text processing, flexibility, and a collection of tools that are useful for solving fast/difficult problems-they allow programmers to immediately understand the essence of Perl: for example, David Filo and Jerry Yang, the undergraduates at Stanford University created Yahoo. they found Perl indispensable. they use Perl to generate Web pages, write code for their robots that execute web , and maintain the web address database.
"We rely heavily on it," Filo said. "Because it can be developed quickly, you can do these things quickly.
Yahoo's experience is not unique, said Tim O 'Reilly, CEO and founder of computer book publishing company O 'Reilly & Associates. not only does o'reilly publish the best-selling Perl computer book, but three years ago they hired wall as a full-time salesman of Perl.
"Perl is doing this well," o'reilly said. "Perl is much easier to understand than traditional programming languages, and I think it is a very important part for people to start constructing and imagining the web. he allows amateurs to enter ---- You don't have to be a professional programmer .... although Perl may be a little difficult and fuzzy, it is still available for what people want to do. you can quickly bind things together and solve problems quickly."
I just try to make the computer think more than a programmer.
What can Perl do? In terms of position, what is the difference between it and Sun's other computer languages-Java/Python/TCL?
Perl advocates say it is a "Swiss Army Knife"-a tool that can efficiently do anything. learning Perl doesn't have to be the programming genius that is proficient in Java/C ++, although Perl's flexibility makes it sometimes confusing-especially for programmers who are used to solving problems in only one way. but the biggest advantage of Perl is that it builds a bridge between other computer languages.
"Perl used to be and continues to be the original type of glue language," said Chip salzenberg, one of Perl's major code distributors. "According to the design, its evolution is driven by the real programmer's need to coordinate complex and non-cooperative systems in the face of daily challenges.
Larry Wall believes that this evolution reflects how the real world works.
Perl has done a lot of work, said wall, and has provided good feedback on what he thinks is your program's errors. So when you try to develop something quickly, it will improve very quickly. you try something, and then it goes wrong, and you can correct it. in this way, you let him grow and develop. this is how I write a program. this is how many people program and think about it.
Wall said Perl's reflection of real life-his human nature-is a profound philosophical structure built in the language. perl is the first post-modern computer language. Wall says that a person makes a natural language and simulates how Programmers think.
The profound structure of all languages is the main focus of wall. throughout his life as a system administrator and related hacking, he and his wife were students of the UC-kerkeley language system. wall said their plan was to become a missionary in the battlefield and to translate the Bible. they will work from a Bible without any written language, start from scratch, write it down, and then help translate the Bible into that language.
He and his wife gave up the task, but he switched to another job-to help others achieve similar goals-to connect with others to do something useful. when this thing turned into creating a programming language, rather than building something from scratch, wall -- get inspiration from his language training -- choose to build things to replicate real people's thoughts and actions.
First and most importantly, this means that there are many different ways to solve each possible problem-this leads to Perl's combat slogan, "there are more than one path to achieve ". "If you think people's language is an artistic media," wall says, "he has given you space for creativity. if you want to optimize things for different purposes-if you want to prescribe, write poetry, write newspaper, column, and magazine topics in the same language-he must be flexible. this is quite different from what people have learned in computer science. people are taught that if there is any redundancy, it is harmful and bad. from the perspective of natural language, I don't buy it (the teaching of computer science."
Perl evolved along the path of a real language and absorbed the advantages of other languages for a long time-Some UNIX, some C ++, some basic, one point, one point. if anyone else has something fresh and useful, Perl will include it. when wall calls these "post-modern" concepts, it refers to Perl's compromise, an inclusive approach-the ability to find a little truth in every place and in every crack-without having to surround itself with any big truth.
When he appeared, most computer languages tried to make Programmers think the same way about computers, "wall said." I tried to make computers think more than programmers and achieve a certain degree of success. the question is, who is the leader? This is all ".
Despite the popularity of Perl, this language is not without opponents. marcewing, Chief Technical Officer of RedHat, a major distributor of commercial Linux versions, prefers to use Python; infoseek, an Internet search engine company, for internal development using python. perhaps the most powerful criticism comes from Eric Raymond, who has long touted Perl as one of the most successful stories of the open source movement. "the design of this language shows his age and obvious bloat markup. Perl has never been a pretty or elegant language; his temptation lies in his direct availability. after a long term, in my opinion, the early choice of Larry's was to accumulate and enhance other advantages only a little faster than the accumulation of benefits."
"These problems have caused many people to lose from using Perl to other scripting languages," Raymond said. "I personally am part of this trend; I have completely switched from Perl to Python, A young language, a little like an application, but with a clearer design... I hope that the significance of Perl may decrease in the future, even if the base of a developer continues to grow in absolute numbers, because his competitors will grow much faster than Perl competitors ".
Perl has many advantages, but it is never clear-in fact, Perl hackers use "Chaos" as a compliment. but for Perl attackers and even Python supporters, chaos makes programming a big taboo.
One of the most complaints I recently heard from Perl users (Also Python users-but they do not always like Python) is-when you haven't touched Perl for a while, even your own Perl code is hard to understand-let alone others' Perl code ., "Guidovanrosun, the main author of Python, said," This is rarely a problem with past or unfamiliar Python code. when Perl supporters strongly advocate Perl users to Write clear code, and newer Perl versions contain some help features, Perl always has a problem of sticking to the value of "Chaos."
To a certain extent, the PERL/Python debate is just another example of endless competitions to reflect hacking features and compete for dominance. but the key difference is true-the difference between those pure queries and those that stick to the effectiveness of the tool. "supporters of pure languages always say Perl is ugly," o'reilly said, perl continues to solve more and more problems than other scripting languages ".
"We sell the best selling books about Perl and python. "... "and we continue to see the healthy growth of Perl usage, while the growth of python is common. perl is much higher than python, at least based on the sales of books."
"Perl has not experienced any large-scale user shunting," salzenberg said. "At most, you can say that while Perl continues to grow, others are also evolving. this is good for Perl. when many things need to be glued, a pasting language is the most useful... perl will continue to develop so that everything can be connected to anything else."
Wall allows others to counter Perl attacks. when I asked him how he reacted to Raymond's direct criticism, he sent me an online email that quoted him: "This is really strange, he wrote, beautiful is good. This illusion is so perfect! "
For wall, the good thing is to make a good connection, which is exactly the beauty of his own.
Perl not only connects the world of C programmers and the world of unixshell, but also connects the digital services in the computer world and the immature chaos of human reality. perl has also built a bridge between the two extremes of the Free Software world. One side is the commercial pragmatism represented by Raymond. They support free software because it has made the best software; one Party is a radical moral scientist led by Richard Stallman of the Free Software Fund. They believe that free software is absolutely good.
Those who wish to modify or change Perl can achieve this through two different license statements. they can operate under GPL-Stallman's FSF has a very strict license, to ensure that free software is always free. or they can choose wall's own "Art license"-a set of looser rules, says wall, which means "essentially, you can use Perl to do anything you want, just give me control of art."
It won't lead to any excessive dissatisfaction with FSF, wall said, but in fact art license is close to my feelings on this issue and I hope Perl can be used.
This is indeed the case. perl opens up a possibility in a place that seems dead-one of the main reasons why so many Perl hackers are asked why they love Perl, A simple answer is "fun" (interesting)
I asked larrywall why Perl is interesting. "He makes you creative," he said. "He gives you many choices. your commonly used computer language is like a kind of training. He will take you wherever he has been. perl is like a car that deviates from the road and will take you to the place you want to go, even if there is no formal road there."
When you can use the path search method, you will get a return from your efforts. larrywall, sitting in the mountainview's living room, stroked his kitten and listened to the mysterious music in the room, just like a very happy boy. he has made a valuable contribution to the Web, and the Web won't let him forget it.
"Almost every day, someone will write me a message saying that I like the one you invented," larrywall said. "It changed my life, I used to hate programming-now programming is a pleasure."