A person. Perl creator Larry Wall - “a magnanimous life-long dictator”



    Today on Habré there was already a post devoted to the birthday of the creator of language Perl. Here I would like to talk more about the biography and views of Larry Wall, about his motivation for creating a programming language, as well as give a few fragments from a recent interview.

    Larry Wall is an American programmer, linguist and creator of the Perl programming language, one of the leaders in the movement for free access to software.

    First steps


    Larry was born on September 27, 1954 in Los Angeles into a family of hereditary Protestant pastors. The boy grew up in a small town Brementon in Washington state and dreamed of becoming a church minister. This desire did not come true, but Larry himself is considered one of the few religious people in the world of famous programmers.

    He studied at Larry Wall at a Christian educational institution - the University of the Pacific of Seattle. In 1976, he received a bachelor's degree in Linguistics. During the training, the inclinations of the future Perl author appeared. For three years, as a student, Larry worked at the university computer center.


    After graduation, Larry and his wife (Gloria Bourne) worked as Bible translators, and then both went to graduate school at the University of California at Berkeley. The young family of linguists still saw their future in the church field.

    But a turning point came, and Larry's work in the computer center was one of the reasons that, despite a linguistic education, he decided to take up computer technology. Larry considered this a more promising occupation.

    He joined Unisys and the NASA Jet Propulsion Laboratory (JPL). The future guru spent his free time developing programs for UNIX.

    Perl: not for fame, not for pay


    In 1987, Larry Wall created the Perl programming language. He then worked as a system programmer at the American company Unisys. The goals that Larry pursued in developing a new programming language are reflected in his name - PERL, which later became deciphered as Practical Extraction and Report Language, that is, "a practical language for extracting data and creating reports."



    From 1995 to 2002, Larry Wall worked for O'Reilly & Associates, the publisher of his books. The departure was related to receiving a grant from the Perl Foundation.

    In 2004, Larry took up the position of senior researcher, and in fact the "chief programmer" at NetLabs.

    Now Larry Wall continues to develop the Perl language under the patronage of O'Reilly and lives with his wife, writer, and four children in Mountain View, California.

    The goal of the Perl author was never to make money. On the contrary, he made a significant contribution to the “culture” of free distribution of programs with their source codes. Wall developed the new programming language in order to solve the problems that he, as a programmer, had to deal with during the working day.

    When the first version of the language was published, Larry Wall provided open access to the source code of the program itself. Anyone can download and use Perl for free, regardless of whether he needs it to improve his own page or to create a multi-million dollar Internet project.

    Despite the fact that the Unix operating system for which Perl was created already had numerous and diverse tools for processing textual information (awk, csh, grep, sed, and others), a huge number of system administrators and programmers fell in love with the new language. It was easy to learn and use: the syntax is similar to C, Perl programs did not need to be precompiled, the source code was easy to modify. And most importantly, it was a really very practical language: with its help, most of everyday tasks, from the simplest to the most complex, were easily solved.

    Actively using the Perl language, programmers from different countries sent Larry Wall proposals to add new features to it or improve existing ones. Perl gradually evolved from a Unix word processing tool to a powerful, universal programming system. In the mid-1990s, as the Internet evolved, Perl became a favorite tool for webmasters to create dynamic sites and Internet programming.

    Thanks to the Perl language, Yahoo started, with its help Amazon and millions of other sites were created.

    On December 24, 2015, a congratulatory entry appeared on the official Perl 6 development news blog. The developers congratulated everyone on the upcoming Catholic Christmas, and with the fact that the long-awaited growth of language has finally taken place. In fact, the language is ready for use in work projects, and the developers promise not to change anything significantly.

    Almost 29 years have passed since the release of the first version of Perl; more than 20 years have passed since the release of the most popular version of Perl 5 at the moment. As Larry Wall, the creator of the language and the leader in its development, jokes, the 6th version may someday replace the 5th - in about 40 years.

    The version of Perl 6 was announced over 10 years ago - you can still buy a book on Amazon about this “soon coming out” language, published in 2004, on Amazon. And although some argue that 6 differs from 5 no more than C ++ from C, nevertheless, the ideology in Perl 6 has evolved enough to call it a more modern language.

    Larry Wall hopes that teachers at institutes will be able, finally, using the same language, to teach students different styles of programming - functional, procedural and object.



    The Perl 6 logo chose a butterfly. As (half-jokingly) Wall explained at a conference in October this year, this was done specifically to make the language attractive to 7-year-old girls.

    Any questions?


    Larry Wall recently gave an interview to Slashdot. Here are a few fragments from the conversation.

    Which computer do you use? Which applications do you prefer?

    For a year or two I've been using the Lenovo X1 Carbon2 with a 4-core processor. With the exception of the disgusting keyboard layout and the almost useless capacitive touch strip, it is almost perfect for designing, communicating, and conducting presentations. It has the Linux Mint operating system installed.

    As for the editors ... I use different ones. I do not have any specific preferences.

    I use the Firefox browser on the computer, and Chrome is on my ancient google phone.
    In work, I could not do without IRC or Git.

    What are the most important things to consider when developing a new programming language?

    Everything is important. If you are not developing DSL (Domain Specific Language), but a general-purpose language, you need to make a choice: impose your paradigm on the world or implement support for several paradigms. Personally, we prefer the latter.

    Even if you can foresee everything, in the process you will still find something that you could do better. After all, there is no perfect programming language. When developing Perl, we used 50-60 different principles, but the most important principle is: "There is no most important principle."

    On the other hand, if you focus only on a few important things, only they will be well done in your language. And this is not bad either. It’s bad when people confuse the concepts of “general purpose language” and “language with turing completeness.”

    Can you name effective project management methods besides the “Generous lifelong dictator” model?
    "Generous lifelong dictator" (eng. Benevolent Dictator For Life, abbr. BDFL) - in the context of the development of free software, semi-humorous term, denoting the head or founder of the project, which reserves the right to make final decisions. For the first time, the term was used to refer to Guido van Rossum, the creator of the Python language.
    I know some successful projects with democratic principles. But most people are not ready to learn enough so that their opinions can be listened to.

    In the Perl community, I am known as BDFL, but in my case “B” prevails over “D”. However, I act more like a supreme judge than as a CEO.

    IRC Chat serves as a congress: proposes and discusses new ideas. I delegate many decisions to other developers and intervene only when I see options that others do not see. I have a veto, but I try to use it as little as possible. As Queen Elizabeth would say, I try to rule, not rule.

    How do you feel about the dominance of English in the IT industry? Would something change if the place of English were taken by a language that was not related to nationality? Esperanto for example?

    If Japanese became such a language, we would switch to reverse Polish notation - such a principle is implemented in Forth and PostScript. I did not know that there are people who think on the principle of POLIZ, until I began to study Japanese.

    On the other hand, I am glad that this place is occupied by English. In my opinion, Esperanto is still more of a European language than Asian.

    In any case, people want to learn English to watch Hollywood movies. As native English speakers, the best we can do is be more attentive to the needs of other language groups.

    So, in Perl 6, we consider each grapheme in the code (from languages ​​of other nations) as an initially defined symbol, regardless of whether the Unicode-concortium uses it. The runtime of our row indexing algorithm is O (1).

    As far as I know, Swift also supports native languages. However, there the execution time of the algorithm is estimated only in O (n). So, in Perl 6 it works faster.

    If you need Chinese characters in identifier names - no problem. The names of the modules in Tamil - no problem. We will process all the characters that your file system supports. Want to announce a new cameraman with a fun cat emoji? No problem.



    This is Unicode, baby!


    Also popular now: