
Laziness, impatience and conceit are the three main virtues of a programmer. Happy Birthday, Larry Wall
"I think I sometimes dream about Perl`e"
- Larry Wall

Larry’s compact biography looks like this ( Geek-code ): GC / CS / E / H / IT / L / M / MU / PA / P / S / SS / TW / O d (+++)> + s: a + > ++> +++ $ C ++++ $ UBAHS * ++++ $ P +++++ (-) $ L! E? W +> ++ N +++ @ K +++> ++++++ @ w $! O M -> + V - () PS + (-) PE (++) Y + PGP -> + t + () 5 X? R> * tv @ b ++> +++ DI +++ D? G (-) e ++> +++ @ h ---- () r +++ y ++++ ( decryption )
Larry, as a hereditary pastor, dreamed of becoming a church minister as a child. But I had to go to IT. As a student, he worked for 3 years at the computer center of the university. After the university, together with his wife, they worked as Bible translators, studied linguistics, hoping that somewhere in Africa a tribe would be found with its own language, but without written language, and they would develop written language for that language and gifted the natives. In the role of natives, years later, programmers were.
Due to the money, Larry managed to work at Unisys, NASA (JPL) and O'Reilly.
Because of laziness, impatience, and self-conceit, Larry wrote rn (a popular client for Usenet) and the patch utility (for UNIX). To become a lifelong generous dictator, he wrote Perl.
Larry believes in the Myers-Briggs typology (INFP ), and he is also a two-time world champion in tangled code in C.

“There's More Than One Way To Do It” is the motto of Perl. This principle was from the very beginning meant when creating this programming language. In accordance with this idea, the syntax of the language provides the programmer with many options for writing the same algorithm, allowing you to choose the one that seems most convenient and effective in this particular case. On the one hand, this simplifies the writing of code - you only need to know one way out of many, on the other hand, it complicates the reading of other people's code, because To do this, you need to know all the ways that can occur.
The Perl 6 logo chose a fun butterfly. As (half-jokingly) Wall explained at a conference in October 2015, this was done specifically to make the language attractive to 7-year-old girls.
“The journey of a thousand miles continues with the second step.”
“Real programmers can write assembler code in any language.”
“Now the main priority will be fixing bugs that might accidentally be mistaken for new features.” (about Perl 6.0.0)
“And there is a meta-meta, meta-meta-meta target. This, of course, enjoy life. When you are young, to enjoy life means "I enjoy life." When you get a little older, like me, you start to enjoy helping other people enjoy life. Well, there is a balance. ”
“True greatness is measured in the amount of freedom that you give others, and not in the number of people who are forced to do what you want.”
“We all agree on the need for compromise. We simply cannot agree to a compromise when necessary. ”
“International C code obfuscation contest” is a programming contest in which the task of the participants is to write the most confusing code in C.
Larry’s won twice.

UPD
One congratulation was not enough, here's another after . There is a cool quote:
- Larry Wall
- Larry is always, by definition, right about how Perl should behave. This means that he has the final veto over basic functionality.
- Larry is allowed to change his mind on any issue after some time, regardless of whether he used Rule 1.

Larry’s compact biography looks like this ( Geek-code ): GC / CS / E / H / IT / L / M / MU / PA / P / S / SS / TW / O d (+++)> + s: a + > ++> +++ $ C ++++ $ UBAHS * ++++ $ P +++++ (-) $ L! E? W +> ++ N +++ @ K +++> ++++++ @ w $! O M -> + V - () PS + (-) PE (++) Y + PGP -> + t + () 5 X? R> * tv @ b ++> +++ DI +++ D? G (-) e ++> +++ @ h ---- () r +++ y ++++ ( decryption )
Larry, as a hereditary pastor, dreamed of becoming a church minister as a child. But I had to go to IT. As a student, he worked for 3 years at the computer center of the university. After the university, together with his wife, they worked as Bible translators, studied linguistics, hoping that somewhere in Africa a tribe would be found with its own language, but without written language, and they would develop written language for that language and gifted the natives. In the role of natives, years later, programmers were.
Due to the money, Larry managed to work at Unisys, NASA (JPL) and O'Reilly.
Because of laziness, impatience, and self-conceit, Larry wrote rn (a popular client for Usenet) and the patch utility (for UNIX). To become a lifelong generous dictator, he wrote Perl.
Larry believes in the Myers-Briggs typology (INFP ), and he is also a two-time world champion in tangled code in C.

Perl
“Most of learning Perl is learning how Larry (the author of the language) thinks. Therefore, as soon as you can think in the same way that Larry does, you will know what Perl should do in each case. But while you are studying, you should sometimes look at the documentation. ”
“There's More Than One Way To Do It” is the motto of Perl. This principle was from the very beginning meant when creating this programming language. In accordance with this idea, the syntax of the language provides the programmer with many options for writing the same algorithm, allowing you to choose the one that seems most convenient and effective in this particular case. On the one hand, this simplifies the writing of code - you only need to know one way out of many, on the other hand, it complicates the reading of other people's code, because To do this, you need to know all the ways that can occur.

A little pearl from Larry
“The journey of a thousand miles continues with the second step.”
“Real programmers can write assembler code in any language.”
“Now the main priority will be fixing bugs that might accidentally be mistaken for new features.” (about Perl 6.0.0)
“And there is a meta-meta, meta-meta-meta target. This, of course, enjoy life. When you are young, to enjoy life means "I enjoy life." When you get a little older, like me, you start to enjoy helping other people enjoy life. Well, there is a balance. ”
“True greatness is measured in the amount of freedom that you give others, and not in the number of people who are forced to do what you want.”
“We all agree on the need for compromise. We simply cannot agree to a compromise when necessary. ”
International Obfuscated C Code Contest (IOCCC)
If you want to program in C, program in C. It's a nice language. I use it occasionally ...
“International C code obfuscation contest” is a programming contest in which the task of the participants is to write the most confusing code in C.
Larry’s won twice.
- Grand prize in most well-rounded in confusion (1986 / wall / wall.c)
- Most Useful Obfuscation (1987 / wall / wall.c)
1986
}
#define _c(C)_ (C)&('|'+3):c_()(C)>>('\n'-3) __; /**/
#define C char*
#define keyboard ",,B3-u;.(&*5., /(b*(1\036!a%\031m,,,,,\r\n"
#define main(o,oo)oo(o){
#define _ ;case
C
#define c_(cc)c cc=
#define C_(sand)_O(sand)witch
o=keyboard;
#define __ ;break;
C
ccc(
cc)
C
cc;
{
C
cccc=
cc;int
#ifndef lint
#define keyboard "dijs QH.soav Vdtnsaoh DmfpaksoQz;kkt oa, -dijs"
#endif
c;
main(;c_(=(*cc);*cc++)c,for);
#define _O(s)s
main(0xb+(c>>5),C_(s))
_'\v'
:__ _'\f':
main(c,C_(s));
_c(8098)_c(6055)_c(14779)_c(10682)
#define O_(O)_O(O)stem(ccc(
_c(15276)_c(11196)_c(15150)
#define _C ;return
_c(11070)_c(15663)_c(11583)
}
__
default
:c_(+)o[c&__LINE__-007];
main(c_(-)'-'-1,C_(s))_
0214
:_
0216
:c_(+)025 _
0207
:c_(-)4 _
0233
:c_(+)' '-1;
}}c_(&)'z'+5;
}_C cccc;
}main(,cc)
C
#define O write(1,
c="O";
O_(sy) keyboard));
main(;;,for);
read(0,
c,1);*
c_(&)'~'+1
;O ccc(
c),
'\0');
main(*c,
C_(s));_
4
:O_(sy)";kkt -oa, dijszdijs QQ"))_C
_
13
:O o+' ',
3
)
#undef main
__ _ 127:O"\b \b",3)__
default
:O
c,1)
__}}}main(){
cc();
# The grand prize in most well-rounded in confusion
Larry Wall
System Development Corporation
Santa Monica
California
US of A
## Judges' comments:
The original version did not have a ';' character in the first line.
This caused a number of System V C pre-preprocessors to gripe about a
syntax error.
This program is a masterpiece of obfuscation and humor. Larry Wall
(the hacker who gave us rn and patch) asks you to compile and consider
the warning message generated by the C compiler. Then execute the
program and type charters into its standard input. You will see why
the compiler documents the program.
Copyright (c) 1986, Landon Curt Noll & Larry Bassel.
All Rights Reserved. Permission for personal, educational or non-profit use is
granted provided this this copyright and notice are included in its entirety
and remains unaltered. All other uses must receive prior permission in writing
from both Landon Curt Noll and Larry Bassel.
}
1987
#define iv 4
#define v ;(void
#define XI(xi)int xi[iv*'V'];
#define L(c,l,i)c(){d(l);m(i);}
#include
int*cc,c,i,ix='\t',exit(),X='\n'*'\d';XI(VI)XI(xi)extern(*vi[])(),(*
signal())();char*V,cm,D['x'],M='\n',I,*gets();L(MV,V,(c+='d',ix))m(x){v)
signal(X/'I',vi[x]);}d(x)char*x;{v)write(i,x,i);}L(MC,V,M+I)xv(){c>=i?m(
c/M/M+M):(d(&M),m(cm));}L(mi,V+cm,M)L(md,V,M)MM(){c=c*M%X;V-=cm;m(ix);}
LXX(){gets(D)||(vi[iv])();c=atoi(D);while(c>=X){c-=X;d("m");}V="ivxlcdm"
+iv;m(ix);}LV(){c-=c;while((i=cc[*D=getchar()])>-I)i?(c?(c>I;cc[-I]-=ix v)close(*VI);cc[M]-=M;}main(){
(*vi)();for(;v)write(VI[I],V,M));}l(xl,lx)char*lx;{v)printf(lx,xl)v)
fflush(stdout);}L(xx,V+I,(c-=X/cm,ix))int(*vi[])()={ii,li,LXX,LV,exit,l,
d,l,d,xv,MM,md,MC,ml,MV,xx,xx,xx,xx,MV,mi};
# Most Useful Obfuscation
Larry Wall
Unisys - System Development Group Santa Monica
9132 Kester Ave
Panorama City, CA 91402 USA
## Judges' comments:
### Try:
lwall | bc | lwall
input: x*x
input: c^2
### Also try:
lwall | bc and lwall | cat
What we found amazing was how the flow of control was transferred
between subroutines. Careful inspection will show that the array of
pointers to functions named 'vi' refers to functions which seem to not
be directly called. Even so, these pointers to functions are being
used as an argument to signal. Can you determine why this is being
done and how it is being exploited?
Some compilers complained about this file, so we changed: '=++I' to '= ++I'.
Copyright (c) 1987, Landon Curt Noll & Larry Bassel.
All Rights Reserved. Permission for personal, educational or non-profit use is
granted provided this this copyright and notice are included in its entirety
and remains unaltered. All other uses must receive prior permission in writing
from both Landon Curt Noll and Larry Bassel.
Additional materials
- An article on Habré - "History of programming languages: Perl is an unusual language created by a linguist for programmers . "
- Larry's article - “Perl, the first postmodern computer language” .
- Larry's diary after corneal transplantation.
Decoded Geek Code
GEEK TYPE CODE [GC / CS / E / H / IT / L / M / MU / PA / P / S / SS / TW / O]
Geek of Classics, Geek of Computer Science, Geek of Engineering, Geek of Humanities, Geek of Information Technology, Geek of Literature, Geek of Math, Geek of Music, Geek of Performing Arts, Geek of Philosophy, Geek of Science (Physics, Chemistry, Biology, etc.), Geek of Social Science (Psychology, Sociology, etc. ), Geek of Technical Writing, Geek of Other.
GEEK DRESS CODE [d (+++)> +]
My tendencies on this issue range from: "I dress a lot like those found in catalog ads. Bland, boring, without life or meaning. ”, To:“ I tend to wear conservative dress such as a business suit or worse, a tie. Good leisure-wear. Slacks, button-shirt, etc. No jeans, tennis shoes, or t-shirts. ” But someday I'd like to say: “Good leisure-wear. Slacks, button-shirt, etc. No jeans, tennis shoes, or t-shirts. ”
GEEK SHAPE CODE [s:]
I'm an average geek.
GEEK AGE CODE [a +> ++> +++ $]
My age is 40-49. But someday I'd like to say: “My age is 50-59.” But someday I'd like to say: “My age is 60 and up. Getting paid for it! "
GEEK COMPUTERS CODE [C ++++ $]
I'll be first in line to get the new cybernetic interface installed into my skull. Getting paid for it!
GEEK UNIX CODE [UBAHS * ++++ $]
I use BSD, AIX, HPUX, SunOS / Solaris and some other (s) not listed. I am the sysadmin. If you try and crack my machine don't be surprised if the municipal works department gets an "accidental" computer- generated order to put start a new landfill on your front lawn or your quota is reduced to 4K. Getting paid for it!
GEEK PERL CODE [P +++++ (-) $]
My tendencies on this issue range from: "I am Larry Wall, Tom Christiansen, or Randal Schwartz.", To: "Perl users are sick, twisted programmers who are just showing off. " Getting paid for it!
GEEK LINUX CODE [L]
I know what Linux is, but that's about all.
GEEK EMACS CODE [! E?]
I refuse to categorize myself on Emacs. Emacs I don't even know what that is ...
GEEK WORLD WIDE WEB CODE [W +> ++]
I have the latest version of Netscape, and wander the web only when there's something specific I'm looking for. But someday I'd like to say: “I have a homepage. I surf daily. My homepage is advertised in my .signature. ”
GEEK USENET CODE [N +++ @]
I read so many news groups that the next batch of news comes in before I finish reading the last batch, and I have to read for about 2 hours straight before I'm caught up on the morning's news. Then there's the afternoon ... But that varies ...
GEEK KIBO CODE [K +++> ++++++ @]
I've gotten mail from Kibo. But someday I'd like to say: “I am Kibo. But that varies ... »
GEEK MICROSOFT WINDOWS CODE [w $]
Getting paid for it!
GEEK OS / 2 CODE [! O]
I refuse to categorize myself on OS / 2.
GEEK MACINTOSH CODE [M -> +]
Macs suck. All real geeks have a character prompt. But someday I'd like to say: “A Mac has it's uses and I use it quite often.”
GEEK VMS CODE [V - ()]
My tendencies on this issue range from: "I would rather smash my head repeatedly into a brick wall than suffer the agony of working with VMS. It's reminiscent of a dead and decaying pile of moose droppings. Unix rules the universe. ", To:" I've used VMS. "
GEEK POLITICS & SOCIAL ISSUES CODE [PS + (-)]
My tendencies on this issue range from: "My whole concept of liberalism is that nobody has the right to tell anybody else what to do, on either side of the political fence. If you don't like it, turn the bloody channel. ", To:" Label records! Keep dirty stuff off the TV and the Internet. ”
GEEK POLITICS & ECONOMIC ISSUES CODE [PE (++)]
My tendencies on this issue range from: "Distrust both government and business.", To: "Keep the government off the backs of businesses. Deregulate as much as possible. ”
GEEK CYPHERPUNKS CODE [Y +]
I have an interest and concern in privacy issues, but in reality I am not really all that active or vocal.
GEEK PGP CODE [PGP -> +]
I don't have anything to hide. But someday I'd like to say: "" Finger me for my public key "."
GEEK STAR TREK CODE [t + ()]
My tendencies on this issue range from: "It's a damn fine TV show and is one of the only things good on television any more.", To: "It's just another TV show."
GEEK BABYLON 5 CODE [5]
I've seen it, I am pretty indifferent to it.
GEEK X FILES CODE [X?]
X Files? I don't even know what that is ...
GEEK ROLE-PLAYING CODE [R> *]
Role-Playing? That's just something to do to kill a Saturday afternoon. But someday I'd like to say: “I thought life WAS role- playing?”
GEEK TELEVISION CODE [tv @]
I watch only the shows that are actually worthwhile, such as those found on PBS. But that varies ...
GEEK BOOKS CODE [b ++> +++]
I find the time to get through at least one new book a month. But someday I'd like to say: “I consume a few books a week as part of a staple diet.”
GEEK DILBERT CODE [DI +++]
I am a Dilbert prototype.
GEEK DOOM CODE [D?]
Doom? I don't even know what that is ...
THE GEEK CODE [G (-)]
My tendencies on this issue range from: "I know what the geek code is and even did up this code.", To: "What a tremendous waste of time this Geek Code is. "
GEEK EDUCATION CODE [e ++> +++ @]
Got a Baccalaureate degree. But someday I'd like to say: “Got a Masters degree. But that varies ... "
GEEK HOUSING CODE [h ---- ()]
My tendencies on this issue range from: "Married with children - Al Bundy can sympathize.", To: "Friends come over to visit every once in a while to talk about Geek things. There is a place for them to sit. ”
GEEK RELATIONSHIPS CODE [r +++]
Found someone, dated, and am now married.
GEEK SEX CODE [y ++++]
Male. I have a few little rug rats to prove I've been there. Besides, with kids around, who has time for sex?
[ more about the code here ]
Geek of Classics, Geek of Computer Science, Geek of Engineering, Geek of Humanities, Geek of Information Technology, Geek of Literature, Geek of Math, Geek of Music, Geek of Performing Arts, Geek of Philosophy, Geek of Science (Physics, Chemistry, Biology, etc.), Geek of Social Science (Psychology, Sociology, etc. ), Geek of Technical Writing, Geek of Other.
GEEK DRESS CODE [d (+++)> +]
My tendencies on this issue range from: "I dress a lot like those found in catalog ads. Bland, boring, without life or meaning. ”, To:“ I tend to wear conservative dress such as a business suit or worse, a tie. Good leisure-wear. Slacks, button-shirt, etc. No jeans, tennis shoes, or t-shirts. ” But someday I'd like to say: “Good leisure-wear. Slacks, button-shirt, etc. No jeans, tennis shoes, or t-shirts. ”
GEEK SHAPE CODE [s:]
I'm an average geek.
GEEK AGE CODE [a +> ++> +++ $]
My age is 40-49. But someday I'd like to say: “My age is 50-59.” But someday I'd like to say: “My age is 60 and up. Getting paid for it! "
GEEK COMPUTERS CODE [C ++++ $]
I'll be first in line to get the new cybernetic interface installed into my skull. Getting paid for it!
GEEK UNIX CODE [UBAHS * ++++ $]
I use BSD, AIX, HPUX, SunOS / Solaris and some other (s) not listed. I am the sysadmin. If you try and crack my machine don't be surprised if the municipal works department gets an "accidental" computer- generated order to put start a new landfill on your front lawn or your quota is reduced to 4K. Getting paid for it!
GEEK PERL CODE [P +++++ (-) $]
My tendencies on this issue range from: "I am Larry Wall, Tom Christiansen, or Randal Schwartz.", To: "Perl users are sick, twisted programmers who are just showing off. " Getting paid for it!
GEEK LINUX CODE [L]
I know what Linux is, but that's about all.
GEEK EMACS CODE [! E?]
I refuse to categorize myself on Emacs. Emacs I don't even know what that is ...
GEEK WORLD WIDE WEB CODE [W +> ++]
I have the latest version of Netscape, and wander the web only when there's something specific I'm looking for. But someday I'd like to say: “I have a homepage. I surf daily. My homepage is advertised in my .signature. ”
GEEK USENET CODE [N +++ @]
I read so many news groups that the next batch of news comes in before I finish reading the last batch, and I have to read for about 2 hours straight before I'm caught up on the morning's news. Then there's the afternoon ... But that varies ...
GEEK KIBO CODE [K +++> ++++++ @]
I've gotten mail from Kibo. But someday I'd like to say: “I am Kibo. But that varies ... »
GEEK MICROSOFT WINDOWS CODE [w $]
Getting paid for it!
GEEK OS / 2 CODE [! O]
I refuse to categorize myself on OS / 2.
GEEK MACINTOSH CODE [M -> +]
Macs suck. All real geeks have a character prompt. But someday I'd like to say: “A Mac has it's uses and I use it quite often.”
GEEK VMS CODE [V - ()]
My tendencies on this issue range from: "I would rather smash my head repeatedly into a brick wall than suffer the agony of working with VMS. It's reminiscent of a dead and decaying pile of moose droppings. Unix rules the universe. ", To:" I've used VMS. "
GEEK POLITICS & SOCIAL ISSUES CODE [PS + (-)]
My tendencies on this issue range from: "My whole concept of liberalism is that nobody has the right to tell anybody else what to do, on either side of the political fence. If you don't like it, turn the bloody channel. ", To:" Label records! Keep dirty stuff off the TV and the Internet. ”
GEEK POLITICS & ECONOMIC ISSUES CODE [PE (++)]
My tendencies on this issue range from: "Distrust both government and business.", To: "Keep the government off the backs of businesses. Deregulate as much as possible. ”
GEEK CYPHERPUNKS CODE [Y +]
I have an interest and concern in privacy issues, but in reality I am not really all that active or vocal.
GEEK PGP CODE [PGP -> +]
I don't have anything to hide. But someday I'd like to say: "" Finger me for my public key "."
GEEK STAR TREK CODE [t + ()]
My tendencies on this issue range from: "It's a damn fine TV show and is one of the only things good on television any more.", To: "It's just another TV show."
GEEK BABYLON 5 CODE [5]
I've seen it, I am pretty indifferent to it.
GEEK X FILES CODE [X?]
X Files? I don't even know what that is ...
GEEK ROLE-PLAYING CODE [R> *]
Role-Playing? That's just something to do to kill a Saturday afternoon. But someday I'd like to say: “I thought life WAS role- playing?”
GEEK TELEVISION CODE [tv @]
I watch only the shows that are actually worthwhile, such as those found on PBS. But that varies ...
GEEK BOOKS CODE [b ++> +++]
I find the time to get through at least one new book a month. But someday I'd like to say: “I consume a few books a week as part of a staple diet.”
GEEK DILBERT CODE [DI +++]
I am a Dilbert prototype.
GEEK DOOM CODE [D?]
Doom? I don't even know what that is ...
THE GEEK CODE [G (-)]
My tendencies on this issue range from: "I know what the geek code is and even did up this code.", To: "What a tremendous waste of time this Geek Code is. "
GEEK EDUCATION CODE [e ++> +++ @]
Got a Baccalaureate degree. But someday I'd like to say: “Got a Masters degree. But that varies ... "
GEEK HOUSING CODE [h ---- ()]
My tendencies on this issue range from: "Married with children - Al Bundy can sympathize.", To: "Friends come over to visit every once in a while to talk about Geek things. There is a place for them to sit. ”
GEEK RELATIONSHIPS CODE [r +++]
Found someone, dated, and am now married.
GEEK SEX CODE [y ++++]
Male. I have a few little rug rats to prove I've been there. Besides, with kids around, who has time for sex?
[ more about the code here ]

Happy Birthday, Larry!
The developers of Edison (which has developed hundreds of website parsers and a push notification service for the bank ) join in the congratulation.UPD
One congratulation was not enough, here's another after . There is a cool quote:
“I know some successful projects with democratic principles. But most people are not ready to learn enough to listen to their opinions. ”