325 Larry Wall Quotes
Larry Wall delivers witty, tongue-in-cheek musings about programming, Perl quirks, and communication.
Larry Wall quotes
-
Although the Perl Slogan is There's More Than One Way to Do It, I hesitate to make 10 ways to do something. :-)
Permalink to quote #1 -
And don't tell me there isn't one bit of difference between null and space, because that's exactly how much difference there is. :-)
Permalink to quote #2 -
Besides, REAL computers have a rename() system call. :-)
Permalink to quote #3 -
Chip Salzenberg sent me a complete patch to add System V IPC (msg, sem and shm calls), so I added them. If that bothers you, you can always undefine them in config.sh. :-)
Permalink to quote #4 -
I don't know if it's what you want, but it's what you get. :-)
Permalink to quote #5 -
I dunno, I dream in Perl sometimes...
Permalink to quote #6 -
Piet van Oostrum: I find this a nice feature but it is not according to the documentation. Or is it a BUG? Larry Wall: Let's call it an accidental feature. :-)
Permalink to quote #7 -
(To someone at New York University) If you consistently take an antagonistic approach, however, people are going to start thinking you're from New York. :-)
Permalink to quote #8 -
If you want to program in C, program in C. It's a nice language. I use it occasionally... :-)
Permalink to quote #9 -
I know it's weird, but it does make it easier to write poetry in perl. :-)
Permalink to quote #10 -
I'm sure that that could be indented more readably, but I'm scared of the awk parser.
Permalink to quote #11 -
It is, of course, written in Perl. Translation to C is left as an exercise for the reader. :-)
Permalink to quote #12 -
It's all magic. :-)
Permalink to quote #13 -
It's documented in The Book, somewhere...
Permalink to quote #14 -
It won't be covered in the book. The source code has to be useful for something, after all... :-)
Permalink to quote #15 -
Dan Smith: I've tried (in vi) 'g/[a-z] [a-z]/s//_/'...but that doesn't cut it. Any ideas? (I take it that it may be a two-pass sort of solution). Larry Wall: In the first pass, install perl. :-)
Permalink to quote #16 -
Let's say the docs present a simplified view of reality... :-)
Permalink to quote #17 -
Let us be charitable, and call it a misleading feature :-)
Permalink to quote #18 -
Perl programming is an *empirical* science!
Permalink to quote #19 -
Randal said it would be tough to do in sed. He didn't say he didn't understand sed. Randal understands sed quite well. Which is why he uses Perl. :-)
Permalink to quote #20 -
Real programmers can write assembly code in any language. :-)
Permalink to quote #21 -
The only disadvantage I see is that it would force everyone to get Perl. Horrors. :-)
Permalink to quote #22 -
There are probably better ways to do that, but it would make the parser more complex. I do, occasionally, struggle feebly against complexity... :-)
Permalink to quote #23 -
There are still some other things to do, so don't think if I didn't fix your favorite bug that your bug report is in the bit bucket. (It may be, but don't think it. :-)
Permalink to quote #24 -
Though I'll admit readability suffers slightly...
Permalink to quote #25 -
What about WRITING it first and rationalizing it afterwards? :-)
Permalink to quote #26 -
You want it in one line? Does it have to fit in 80 columns? :-)
Permalink to quote #27 -
All language designers are arrogant. Goes with the territory... :-)
Permalink to quote #28 -
Besides, including <std_ice_cubes.h> is a fatal error on machines that don't have it yet. Bad language design, there... :-)
Permalink to quote #29 -
Besides, it's good to force C programmers to use the toolbox occasionally. :-)
Permalink to quote #30 -
Hey, I had to let awk be better at *something*... :-)
Permalink to quote #31 -
If I allowed 'next $label' then I'd also have to allow 'goto $label', and I don't think you really want that... :-)
Permalink to quote #32 -
In general, if you think something isn't in Perl, try it out, because it usually is. :-)
Permalink to quote #33 -
I think it's a new feature. Don't tell anyone it was an accident. :-)
Permalink to quote #34 -
It's there as a sop to former Ada programmers. :-)
Permalink to quote #35 -
I won't mention any names, because I don't want to get sun4's into trouble... :-)
Permalink to quote #36 -
Just don't create a file called -rf. :-)
Permalink to quote #37 -
last|perl -pe '$_ x=/(..:..)...(.*)/&&$1ge$1&&$1lt$2' That's gonna be tough for Randal to beat... :-)
Permalink to quote #38 -
No, I'm not going to explain it. If you can't figure it out, you didn't want to know anyway... :-)
Permalink to quote #39 -
Perl itself is usually pretty good about telling you what you shouldn't do. :-)
Permalink to quote #40 -
Sorry. My testing organization is either too small, or too large, depending on how you look at it. :-)
Permalink to quote #41 -
There are many times when you want it to ignore the rest of the string just like atof() does. Oddly enough, Perl calls atof(). How convenient. :-)
Permalink to quote #42 -
We all agree on the necessity of compromise. We just can't agree on when it's necessary to compromise.
Permalink to quote #43 -
... an initial underscore already conveys strong feelings of magicalness to a C programmer.
Permalink to quote #44 -
And I don't like doing silly things (except on purpose).
Permalink to quote #45 -
: And it goes against the grain of building small tools. Innocent, Your Honor. Perl users build small tools all day long.
Permalink to quote #46 -
But you have to allow a little for the desire to evangelize when you think you have good news.
Permalink to quote #47 -
Down that path lies madness. On the other hand, the road to hell is paved with melting snowballs.
Permalink to quote #48 -
If I don't document something, it's usually either for a good reason, or a bad reason. In this case it's a good reason. :-)
Permalink to quote #49 -
If you want to see useful Perl examples, we can certainly arrange to have comp.lang.misc flooded with them, but I don't think that would help the advance of civilization. :-)
Permalink to quote #50 -
> (It's sorta like sed, but not. It's sorta like awk, but not. etc.) Guilty as charged. Perl is happily ugly, and happily derivative.
Permalink to quote #51 -
Just don't compare it with a real language, or you'll be unhappy... :-)
Permalink to quote #52 -
Lispers are among the best grads of the Sweep-It-Under-Someone-Else's-Carpet School of Simulated Simplicity. [Was that sufficiently incendiary? :-)]
Permalink to quote #53 -
There ain't nothin' in this world that's worth being a snot over.
Permalink to quote #54 -
...this does not mean that some of us should not want, in a rather dispassionate sort of way, to put a bullet through csh's head.
Permalink to quote #55 -
Unix is like a toll road on which you have to stop every 50 feet to pay another nickel. But hey! You only feel 5 cents poorer each time.
Permalink to quote #56 -
What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against?
Permalink to quote #57 -
You have to admit that it's difficult to misplace the Perl sources. :-)
Permalink to quote #58 -
Doing linear scans over an associative array is like trying to club someone to death with a loaded Uzi.
Permalink to quote #59 -
Well, enough clowning around. Perl is, in intent, a cleaned up and summarized version of that wonderful semi-natural language known as 'Unix'.
Permalink to quote #60 -
Anyway, there's plenty of room for doubt. It might seem easy enough, but computer language design is just like a stroll in the park. Jurassic Park, that is.
Permalink to quote #61 -
Lisp has all the visual appeal of oatmeal with fingernail clippings mixed in.
Permalink to quote #62 -
I don't like your I-can-use-anything-as-an-adjective attitude.
Permalink to quote #63 -
I want to see people using Perl to glue things together creatively, not just technically but also socially.
Permalink to quote #64 -
The whole history of computers is rampant with cheerleading at best and bigotry at worst.
Permalink to quote #65 -
If someone stinks, view it as a reason to help them, not a reason to avoid them.
Permalink to quote #66 -
As usual, I'm overstating the case to knock a few neurons loose, but the truth is usually somewhere in the muddle, uh, middle.
Permalink to quote #67 -
Odd that we think definitions are definitive. :-)
Permalink to quote #68 -
: But for some things, Perl just isn't the optimal choice. (yet) :-)
Permalink to quote #69 -
I don't like this official/unofficial distinction. It sound, er, officious.
Permalink to quote #70 -
If you write something wrong enough, I'll be glad to make up a new witticism just for you.
Permalink to quote #71 -
So far we've managed to avoid turning Perl into APL. :-)
Permalink to quote #72 -
Not that I have anything much against redundancy. But I said that already.
Permalink to quote #73 -
They can always run stderr through uniq. :-)
Permalink to quote #74 -
I'd put my money where my mouth is, but my mouth keeps moving.
Permalink to quote #75 -
Of course, I reserve the right to make wholly stupid changes to Perl if I think they improve the language. :-)
Permalink to quote #76 -
Call me bored, but don't call me boring.
Permalink to quote #77 -
I think $[ is more like a coelacanth than a mastadon.
Permalink to quote #78 -
We question most of the mantras around here periodically, in case you hadn't noticed. :-)
Permalink to quote #79 -
That could certainly be done, but I don't want to fall into the Forth trap, where every running Forth implementation is really a different language.
Permalink to quote #80 -
Tcl long ago fell into the Forth trap, and is now trying desperately to extricate itself (with some help from Sun's marketing department).
Permalink to quote #81 -
The whole intent of Perl 5's module system was to encourage the growth of Perl culture rather than the Perl core.
Permalink to quote #82 -
Randal can write one-liners again. Everyone is happy, and peace spreads over the whole Earth.
Permalink to quote #83 -
Life gets boring, someone invents another necessity, and once again we turn the crank on the screwjack of progress hoping that nobody gets screwed.
Permalink to quote #84 -
No prisoner's dilemma here. Over the long term, symbiosis is more useful than parasitism. More fun, too. Ask any mitochondria.
Permalink to quote #85 -
P.S. Perl's master plan (or what passes for one) is to take over the world like English did. Er, *as* English did...
Permalink to quote #86 -
You can prove anything by mentioning another computer language. :-)
Permalink to quote #87 -
I think you didn't get a reply because you used the terms 'correct' and 'proper', neither of which has much meaning in Perl culture. :-)
Permalink to quote #88 -
I'm sure a mathematician would claim that 0 and 1 are both very interesting numbers. :-)
Permalink to quote #89 -
True, it returns ' ' for false, but ' ' is an even more interesting number than 0.
Permalink to quote #90 -
Any false value is gonna be fairly boring in Perl, mathematicians notwithstanding.
Permalink to quote #91 -
We didn't put in ^^ because then we'd have to keep telling people what it means, and then we'd have to keep telling them why it doesn't short circuit. :-/
Permalink to quote #92 -
Anybody want a binary telemetry frame editor written in Perl?
Permalink to quote #93 -
Perhaps I'm missing the gene for making enemies. :-)
Permalink to quote #94 -
Perl has a long tradition of working around compilers.
Permalink to quote #95 -
Personally, I like to defiantly split my infinitives. :-)
Permalink to quote #96 -
Real theology is always rather shocking to people who already think they know what they think. I'm still shocked myself. :-)
Permalink to quote #97 -
The computer should be doing the hard work. That's what it's paid to do, after all.
Permalink to quote #98 -
The following two statements are usually both true: There's not enough documentation. There's too much documentation.
Permalink to quote #99 -
Of course, this being Perl, we could always take both approaches. :-)
Permalink to quote #100 -
The random quantum fluctuations of my brain are historical accidents that happen to have decided that the concepts of dynamic scoping and lexical scoping are orthogonal and should remain that way.
Permalink to quote #101 -
At many levels, Perl is a 'diagonal' language.
Permalink to quote #102 -
I'm serious about thinking through all the possibilities before we settle on anything. All things have the advantages of their disadvantages, and vice versa.
Permalink to quote #103 -
Part of language design is perturbing the proposed feature in various directions to see how it might generalize in the future.
Permalink to quote #104 -
Sometimes we choose the generalization. Sometimes we don't.
Permalink to quote #105 -
I wouldn't ever write the full sentence myself, but then, I never use goto either.
Permalink to quote #106 -
It's appositival, if it's there. And it doesn't have to be there. And it's really obvious that it's there when it's there.
Permalink to quote #107 -
Oh, get ahold of yourself. Nobody's proposing that we parse English.
Permalink to quote #108 -
As with all the other proposals, it's basically just a list of words. You can deal with that... :-)
Permalink to quote #109 -
I hope I'm not getting so famous that I can't think out load [sic] anymore.
Permalink to quote #110 -
It would be possible to optimize some forms of goto, but I haven't bothered.
Permalink to quote #111 -
A 'goto' in Perl falls into the category of hard things that should be possible, not easy things that should be easy.
Permalink to quote #112 -
How do Crays and Alphas handle the POSIX problem?
Permalink to quote #113 -
Well, that's more-or-less what I was saying, though obviously addition is a little more cosmic than the bitwise operators.
Permalink to quote #114 -
You tell it that it's indicative by appending $!. That's why we made $! such a short variable name, after all. :-)
Permalink to quote #115 -
The choice of approaches could be made the responsibility of the programmer.
Permalink to quote #116 -
As someone pointed out, you could have an attribute that says 'optimize the heck out of this routine', and your definition of heck would be a parameter to the optimizer.
Permalink to quote #117 -
If you're going to define a shortcut, then make it the base [sic] darn shortcut you can.
Permalink to quote #118 -
It is my job in life to travel all roads, so that some may take the road less travelled, and others the road more travelled, and all have a pleasant day.
Permalink to quote #119 -
It's getting harder and harder to think out loud. One of these days someone's gonna go off and kill Thomas a'Becket for me...
Permalink to quote #120 -
I was about to say, 'Avoid fame like the plague,' but you know, they can cure the plague with penicillin these days.
Permalink to quote #121 -
But the possibility of abuse may be a good reason for leaving capabilities out of other computer languages, it's not a good reason for leaving capabilities out of Perl.
Permalink to quote #122 -
Oh, wait, that was Randal...nevermind...
Permalink to quote #123 -
P.S. I suppose I really should be nicer to people today, considering I'll be singing in Billy Graham's choir tonight... :-)
Permalink to quote #124 -
Magically turning people's old scalar contexts into list contexts is a recipe for several kinds of disaster.
Permalink to quote #125 -
And we can always supply them with a program that makes identical files into links to a single file.
Permalink to quote #126 -
I wasn't recommending that we make the links for them, only provide them with the tools to do so if they want to take the gamble (or the gambol).
Permalink to quote #127 -
This has been planned for some time. I guess we'll just have to find someone with an exceptionally round tuit.
Permalink to quote #128 -
switch (ref $@) { OverflowError => warn 'Dam needs to be drained'; DomainError => warn 'King needs to be trained'; NuclearWarError => die; }
Permalink to quote #129 -
I surely do hope that's a syntax error.
Permalink to quote #130 -
Anyway, my money is still on use strict vars . . .
Permalink to quote #131 -
If you remove stricture from a large Perl program currently, you're just installing delayed bugs, whereas with this feature, you're installing an instant bug that's easily fixed. Whoopee.
Permalink to quote #132 -
I don't think it's worth washing hogs over.
Permalink to quote #133 -
It's certainly easy to calculate the average attendance for Perl conferences.
Permalink to quote #134 -
Tcl tends to get ported to weird places like routers.
Permalink to quote #135 -
Historically Tcl has always stored all intermediate results as strings. (With 8.0 they're rethinking that. Of course, Perl rethought that from the start.)
Permalink to quote #136 -
Just don't make the '9' format pack/unpack numbers... :-)
Permalink to quote #137 -
I think that's easier to read. Pardon me. Less difficult to read.
Permalink to quote #138 -
To ordinary folks, conversion is not always automatic. It's something that may or may not require explicit assistance. See Billy Graham. :-)
Permalink to quote #139 -
Well, you can implement a Perl peek() with unpack('P',...). Once you have that, there's only security through obscurity. :-)
Permalink to quote #140 -
It may be possible to get this condition from within Perl if a signal handler runs at just the wrong moment. Another point for Chip... :-)
Permalink to quote #141 -
As pointed out in a followup, Real Perl Programmers prefer things to be visually distinct.
Permalink to quote #142 -
The Harvard Law states: Under controlled conditions of light, temperature, humidity, and nutrition, the organism will do as it damn well pleases.
Permalink to quote #143 -
That should probably be written: no !@#$%^&*:@!semicolon
Permalink to quote #144 -
That gets us out of deciding how to spell Reg[eE]xp?|RE . . . Of course, then we have to decide what ref $re returns... :-)
Permalink to quote #145 -
'Course, that doesn't work when 'a' contains parentheses.
Permalink to quote #146 -
I was trying not to mention backtracking. Which, of course, means that yours is 'righter' than mine, in a theoretical sense.
Permalink to quote #147 -
Not that I'm against sneaking some notions into people's heads upon occasion. (Or blasting them in outright.)
Permalink to quote #148 -
(To the extent that anyone but a Prolog programmer can understand X totally. (And to the extent that a Prolog programmer can understand 'cut'. :-))
Permalink to quote #149 -
Wow, I'm being shot at from both sides. That means I *must* be right. :-)
Permalink to quote #150 -
You don't have to wait--you can have it in 5.004_54 or so. :-)
Permalink to quote #151 -
There's something to be said for returning the whole syntax tree.
Permalink to quote #152 -
It's not really a rule--it's more like a trend.
Permalink to quote #153 -
Double *sigh*. _04 is going onto thousands of CDs even as we speak, so to speak.
Permalink to quote #154 -
The code also assumes that it's difficult to misspell 'a' or 'b'. :-)
Permalink to quote #155 -
Well, hey, let's just make everything into a closure, and then we'll have our general garbage collector, installed by 'use less memory'.
Permalink to quote #156 -
People who understand context would be steamed to have someone else dictating how they can call it.
Permalink to quote #157 -
For the sake of argument I'll ignore all your fighting words.
Permalink to quote #158 -
Think of prototypes as a funny markup language--the interpretation is left up to the rendering engine.
Permalink to quote #159 -
The way these things go, there are probably 6 or 8 kludgey ways to do it, and a better way that involves rethinking something that hasn't been rethunk yet.
Permalink to quote #160 -
Beauty? What's that?
Permalink to quote #161 -
I'm afraid my gut level reaction is basically, proceed is cute, but cute doesn't cut it in the emergency room.
Permalink to quote #162 -
I suppose one could claim that an undocumented feature has no semantics. :-(
Permalink to quote #163 -
Yes, we have consensus that we need 64 bit support. :-)
Permalink to quote #164 -
: - cut in regexps I don't think we reached consensus on that. We're still backtracking...
Permalink to quote #165 -
Boss: You forgot to assign the result of your map! Hacker: Dang, I'm always forgetting my assignations... Boss: And what's that 'goto' doing there?!? Hacker: Er, I guess my finger slipped when I was typing 'getservbyport'... Boss: Ah well, accidents will happen. Maybe we should have picked APL.
Permalink to quote #166 -
Perhaps they will have to outlaw sending random lists of words. fee fie foe foo
Permalink to quote #167 -
Hey, if pi == 3, and three == 0, does that make pi == 0? :-)
Permalink to quote #168 -
(Never thought I'd be telling Malcolm and Ilya the same thing... :-)
Permalink to quote #169 -
And other operators aren't so special syntactically, but weird in other ways, like 'scalar', and 'goto'.
Permalink to quote #170 -
Portability should be the default.
Permalink to quote #171 -
If this were Ada, I suppose we'd just constant fold 1/0 into die 'Illegal division by zero
Permalink to quote #172 -
Are you perchance running on a 64-bit machine?
Permalink to quote #173 -
Almost nothing in Perl serves a single purpose.
Permalink to quote #174 -
There's some entertainment value in watching people juggle nitroglycerin.
Permalink to quote #175 -
Reserve your abuse for your true friends.
Permalink to quote #176 -
Er, Tom, I hate to be the one to point this out, but your fix list is starting to resemble a feature list. You must be human or something.
Permalink to quote #177 -
It's hard to tune heavily tuned code. :-)
Permalink to quote #178 -
Perl will always provide the null.
Permalink to quote #179 -
It's easy to solve the halting problem with a shotgun. :-)
Permalink to quote #180 -
Well, I think Perl should run faster than C. :-)
Permalink to quote #181 -
To Perl, or not to Perl, that is the kvetching.
Permalink to quote #182 -
I suppose you could switch grammars once you've seen 'use strict subs'. :-)
Permalink to quote #183 -
Well, you know, Hubbard had a bunch of people sworn to commit suicide when he died. So of course he never officially died...
Permalink to quote #184 -
Even the White House has a press agent. :-)
Permalink to quote #185 -
That's a valid argument. I just don't think it's valid enough. :-)
Permalink to quote #186 -
Perl should remain fast and intuitive (to the extent that it is :-)
Permalink to quote #187 -
I would estimate that the number of programs it breaks in the world will be less than 10. As long as one of those 10 isn't CGI.pm, we're probably okay.
Permalink to quote #188 -
Just put in another goto, and then it'll be readable. :-)
Permalink to quote #189 -
I'm reminded of the day my daughter came in, looked over my shoulder at some Perl 4 code, and said, 'What is that, swearing?
Permalink to quote #190 -
Y'know, there are other possibilities if we assume that filenames are UTF-8...yikes...wait, put down that meat cleaver! Aieeee!!!
Permalink to quote #191 -
print rand rand rand 1, ' '; # interesting distribution
Permalink to quote #192 -
: I could understand principles of Perl source in 2-3 days [. . .] Gee, it took me about eleven years. :-)
Permalink to quote #193 -
There's often more than one correct thing. There's often more than one right thing. There's often more than one obvious thing.
Permalink to quote #194 -
I don't believe I've ever cuddled my elses.
Permalink to quote #195 -
I've always maintained a cordial dislike for indent, because it's usually right.
Permalink to quote #196 -
I'd make people say 'use Fork;' if I thought I could get away with it.
Permalink to quote #197 -
The way I see it, if you declare something portable, you'll always be wrong, and if you declare it non-portable, you'll always be right. :-)
Permalink to quote #198 -
Perhaps you should compile your Perl with long doubles one of these megaseconds.
Permalink to quote #199 -
: Why Bible quotes exclusively? What happened to the Eastern religions?<BR> I'm still working on the Unicode mods.
Permalink to quote #200 -
Maybe we should take a clue from FTP and put in an option like 'print hash marks on every 1024 iterations'. :-)
Permalink to quote #201 -
And besides, if Perl really takes off in the Windows space, I think the rest of us would just as soon have a double-agent within ActiveState. :-)
Permalink to quote #202 -
The court finds everyone to be in contempt (including himself :-), and orders everyone sentenced to five years hard labor. (Working on Perl, of course.)
Permalink to quote #203 -
I note that the Python folks still think they like JPython. I wonder how long that will last?
Permalink to quote #204 -
I view the JVM as just another architecture that Perl ought to be ported to. (That, and the Underwood typewriter...)
Permalink to quote #205 -
So please don't think I have a 'down' on the MVS people. I'm just pulling off their arms to beat other people over the head with.
Permalink to quote #206 -
It's, uh, pseudo code. Yeah, that's the ticket... [...] And 'unicode' is pseudo code for $encoding. :-)
Permalink to quote #207 -
: What do people think? What, do people think? :-)
Permalink to quote #208 -
Well, sure, I explicitly mentioned 'vtables' last time I brought this up. But a single pointer is fairly paltry, as tables go. :-)
Permalink to quote #209 -
I dunno. Perhaps you should be happy that I have a policy of refraining from grumbling about handicapped operating systems. :-)
Permalink to quote #210 -
Perl did not get where it is by ignoring psychological factors.
Permalink to quote #211 -
On the plus side, it's a lot easier in general to find /usr/include than cpp.
Permalink to quote #212 -
Psychotics are consistently inconsistent. The essence of sanity is to be inconsistently inconsistent.
Permalink to quote #213 -
That which hits the fan tends to get flung in all directions.
Permalink to quote #214 -
If this were Ada, we'd simply doc it as 'erroneous'.
Permalink to quote #215 -
So I'm thinking about ??, or !!, or //, or \, or whatever. But I think I like ?? the best so far. Or the least worst.
Permalink to quote #216 -
One operator is no big deal. That can be fixed in a jiffy.
Permalink to quote #217 -
In Clintonese, that would be 'You are free to infer that I was saying that.' :-)
Permalink to quote #218 -
Would you trust the linguistic intuitions of someone who has been studying Latin or Greek for three days?
Permalink to quote #219 -
But I know what's important to me, and what isn't. And I think I know what people can get used to, and what they can even learn to like. (It just takes some people longer than others. :-)
Permalink to quote #220 -
My arthritic pinkies are already starting to ache just thinking about ||||=.
Permalink to quote #221 -
Orthogonality for orthogonality's sake is not something I'm keen on.
Permalink to quote #222 -
Must be a different Larry Wall. There are at least 137 of us in the U.S.
Permalink to quote #223 -
Symmetry is overrated. Overrated is symmetry.
Permalink to quote #224 -
That is a known bug in 5.00550. Either an upgrade or a downgrade will fix it.
Permalink to quote #225 -
That being said, I think we should immediately deprecate any string concatenation that combines '19' with '99'. :-)
Permalink to quote #226 -
The Golden Gate wasn't our fault either, but we still put a bridge across it.
Permalink to quote #227 -
It should be illegal to yell 'Y2K' in a crowded economy. :-)
Permalink to quote #228 -
One thing I do understand is that people get scared when I start thinking out loud. :-)
Permalink to quote #229 -
: No comment, since this is still hovering (see Larry's reply). Flutter, flutter.
Permalink to quote #230 -
We don't have enough parallel universes to allow all uses of all junction types--in the absence of quantum computing the combinatorics are not in our favor...
Permalink to quote #231 -
Accidental stacks considered harmful.
Permalink to quote #232 -
I try not to confuse roles and traits in my own life. Being the Perl god is a role. Being a stubborn cuss is a trait. :-)
Permalink to quote #233 -
And in the limiting case where the optimizer is completely broken because it's not implemented yet, we get to work around that too. Optionally...
Permalink to quote #234 -
I think I'm happier with that. $rubyometer += 0.3 or so. :-)
Permalink to quote #235 -
double value; /* or your money back! */ short changed; /* so triple your money back! */
Permalink to quote #236 -
/* now make a new head in the exact same spot */
Permalink to quote #237 -
#define NULL 0 /* silly thing is, we don't even use this */
Permalink to quote #238 -
#define SIGILL 6 /* blech */
Permalink to quote #239 -
if (rsfp = mypopen('/bin/mail root','w')) { /* heh, heh */
Permalink to quote #240 -
/* And you'll never guess what the dog had */ /* in its mouth... */
Permalink to quote #241 -
break; /* don't do magic till later */
Permalink to quote #242 -
stab_val(stab)->str_nok = 1; /* what a wonderful hack! */
Permalink to quote #243 -
tmps_base = tmps_max; /* protect our mortal string */
Permalink to quote #244 -
pos += screamnext[pos] /* does this goof up anywhere? */
Permalink to quote #245 -
str->str_pok |= SP_FBM; /* deep magic */ s = (unsigned char*)(str->str_ptr); /* deeper magic */
Permalink to quote #246 -
echo 'Congratulations. You aren't running Eunice.
Permalink to quote #247 -
echo 'Hmmm...you don't have Berkeley networking in libc.a...' echo 'but the Wollongong group seems to have hacked it in.
Permalink to quote #248 -
echo 'ICK, NOTHING WORKED!!! You may have to diddle the includes.';;
Permalink to quote #249 -
echo $package has manual pages available in source form. echo 'However, you don't have nroff, so they're probably useless to you.
Permalink to quote #250 -
echo 'Your stdio isn't very std.'
Permalink to quote #251 -
[End of diatribe. We now return you to your regularly scheduled programming...]
Permalink to quote #252 -
OOPS! You naughty creature! You didn't run Configure with sh! I will attempt to remedy the situation by running sh for you...
Permalink to quote #253 -
That means I'll have to use $ans to suppress newlines now. Life is ridiculous.
Permalink to quote #254 -
There is, however, a strange, musty smell in the air that reminds me of something...hmm...yes...I've got it...there's a VMS nearby, or I'm a Blit.
Permalink to quote #255 -
You can't have filenames longer than 14 chars. You can't even think about them!
Permalink to quote #256 -
Your csh still thinks true is false. Write to your vendor today and tell them that next year Configure ought to 'rm /bin/csh' unless they fix their blasted shell. :-)
Permalink to quote #257 -
/* we have tried to make this normal case as abnormal as possible */
Permalink to quote #258 -
s = (char*)(long)retval; /* ouch */
Permalink to quote #259 -
signal(i, SIG_DFL); /* crunch, crunch, crunch */
Permalink to quote #260 -
if (instr(buf,sys_errlist[errno])) /* you don't see this */
Permalink to quote #261 -
/* dbmrefcnt--; */ /* doesn't work, rats */
Permalink to quote #262 -
#else /* !STDSTDIO */ /* The big, slow, and stupid way */
Permalink to quote #263 -
/* This bit of chicanery makes a unary function followed by a parenthesis into a function with one argument, highest precedence. */
Permalink to quote #264 -
Be consistent.
Permalink to quote #265 -
Does the same as the system call of that name. If you don't know what it does, don't worry about it.
Permalink to quote #266 -
Even if you aren't in doubt, consider the mental welfare of the person who has to maintain the code after you, and who will probably put parens in the wrong place.
Permalink to quote #267 -
Help save the world!
Permalink to quote #268 -
If you want your program to be readable, consider supplying the argument.
Permalink to quote #269 -
In general, they do what you want, unless you want consistency.
Permalink to quote #270 -
Okay, that's definitely enough hype.
Permalink to quote #271 -
Perl is designed to give you several ways to do anything, so consider picking the most readable one.
Permalink to quote #272 -
Remember though that THERE IS NO GENERAL RULE FOR CONVERTING A LIST INTO A SCALAR.
Permalink to quote #273 -
The autodecrement is not magical.
Permalink to quote #274 -
*** The previous line contains the naughty word '$&'. if /(ibm|apple|awk)/; # :-)
Permalink to quote #275 -
When in doubt, parenthesize. At the very least it will let some poor schmuck bounce on the % key in vi.
Permalink to quote #276 -
But I'm not here to talk about postmodernism. I tried to do that last spring, and afterwards I was thoroughly deconstructed by the deconstructionists for attempting to deconstruct deconstructionism. At least, that's the construction I put on their construction of it. I was talking about postmodern culture, and they thought I was talking about postmodern literature. Not at all the same thing!
Permalink to quote #277 -
And C was good at something I like to call manipulexity, that is the manipulation of complex things. While shell was good at something else which I call whipuptitude, the aptitude for whipping things up.
Permalink to quote #278 -
So... Perhaps the Perl 6 slogan should be 'All Your Paradigms Are Belong To Us'. We'll get to that.
Permalink to quote #279 -
I simultaneously believe that languages are wonderful and awful. You have to hold both of those. Ugly things can be beautiful. And beautiful can get ugly very fast. You know, take Lisp. You know, it's the most beautiful language in the world. At least up until Haskell came along. (laughter) But, you know, every program in Lisp is just ugly. I don't figure how that works.
Permalink to quote #280 -
Now, I'm not the only language designer with irrationalities. You can think of some languages to go with some of these things.
Permalink to quote #281 -
How do you type it? With your keyboard.
Permalink to quote #282 -
If there's a particular problem that Perl is trying to solve, it's the basic fact that all programming languages suck. Sort of the concept of original sin, applied to programming languages.
Permalink to quote #283 -
There are a lotta computer languages out there doing drugs.
Permalink to quote #284 -
In computer science, it is said that premature optimization is the root of all evil.
Permalink to quote #285 -
[Boxed] Multiple bouncing balls in a box are a metaphor for community. Notice how the escaping balls explode. This is what happens to people who move from Perl to Ruby.
Permalink to quote #286 -
...Then you start building things like the Berlin wall to keep people inside your community. In anthropological terms, that's tribalism. A tribal Perl programmer might say, 'If you leave the Perl tribe to go and join the Python tribe, we will hunt you down, cook you, and eat you.' Or if you join the Ruby tribe, you will explode. By and large, I am not in favor of tribalism. Except for my tribe, of course.
Permalink to quote #287 -
The three chief virtues of a programmer are: Laziness, Impatience and Hubris.
Permalink to quote #288 -
The problem with being consistent is that there are lots of ways to be consistent, and they're all inconsistent with each other.
Permalink to quote #289 -
There's really no way to fix this and still keep Perl pathologically eclectic.
Permalink to quote #290 -
:I also discovered Larry's First Law of Language Redesign: Everyone wants the colon.
Permalink to quote #291 -
Larry's 2nd Law of Language Redesign: Larry gets the colon.
Permalink to quote #292 -
When's the last time you used duct tape on a duct?
Permalink to quote #293 -
Jesse Vincent: My dog is Web 2.0. Prove me wrong. Larry: Does your dog have a long tail? Damian Conway: If you enjoyed these practices, find 245 more like this in this book. Larry: Does your dog have a long tail?
Permalink to quote #294 -
Q. Why is this so clumsy? A. The trick is to use Perl's strengths rather than its weaknesses.
Permalink to quote #295 -
I already have too much problem with people thinking the efficiency of a perl construct is related to its length. On the other hand, I'm perfectly capable of changing my mind next week... :-)
Permalink to quote #296 -
I'll say it again for the logic impaired.
Permalink to quote #297 -
I might be able to shoehorn a reference count in on top of the numeric value by disallowing multiple references on scalars with a numeric value, but it wouldn't be as clean. I do occasionally worry about that.
Permalink to quote #298 -
Interestingly enough, since subroutine declarations can come anywhere, you wouldn't have to put BEGIN {} at the beginning, nor END {} at the end. Interesting, no? I wonder if Henry would like it. :-)
Permalink to quote #299 -
It is easier to port a shell than a shell script.
Permalink to quote #300 -
: I've heard that there is a shell (bourne or csh) to perl filter, does : anyone know of this or where I can get it? Yeah, you filter it through Tom Christiansen. :-)
Permalink to quote #301 -
Tactical? TACTICAL!?!? Hey, buddy, we went from kilotons to megatons several minutes ago. We don't need no stinkin' tactical nukes. (By the way, do you have change for 10 million people?)
Permalink to quote #302 -
> This made me wonder, suddenly: can telnet be written in perl? Of course it can be written in Perl. Now if you'd said nroff, that would be more challenging...
Permalink to quote #303 -
: 1. What is the possibility of this being added in the future? In the near future, the probability is close to zero. In the distant future, I'll be dead, and posterity can do whatever they like... :-)
Permalink to quote #304 -
(Presuming for the sake of argument that it's even *possible* to design better code in Perl than in C. :-)
Permalink to quote #305 -
Obviously I was either onto something, or on something.
Permalink to quote #306 -
It's the Magic that counts.
Permalink to quote #307 -
May you do Good Magic with Perl.
Permalink to quote #308 -
I knew I'd hate COBOL the moment I saw they'd used 'perform' instead of 'do'.
Permalink to quote #309 -
But we can both blame it all on Henry.
Permalink to quote #310 -
Hmm, doubtful. The source code generally wasn't there when I needed it.
Permalink to quote #311 -
If ease of use was the highest goal, we'd all be driving golf carts.
Permalink to quote #312 -
Many computer scientists have fallen into the trap of trying to define languages like George Orwell's Newspeak, in which it is impossible to think bad thoughts. What they end up doing is killing the creativity of programming.
Permalink to quote #313 -
What you'll need most is courage. It is not an easy path that you've set your foot upon.
Permalink to quote #314 -
Optimizations always bust things, because all optimizations are, in the long haul, a form of cheating, and cheaters eventually get caught.
Permalink to quote #315
Also attributed
While I have historically been a late worker, you know, sometimes I even like to get up early and see what's happened in the few hours of the night and then I often take a nap in the middle of the day just to sort of make up for stretching my day out.
We can debug relationships, but it's always good policy to consider the people themselves to be features. People get annoyed when you try to debug them.
Perl is worse than Python because people wanted it worse.
As a linguist, I don't think of Ada as a big language. Now, English and Japanese, those are big languages. Ada is just a medium-sized language.
I was raised a musician and I played classic music, violin, in orchestras and music comedy theaters, I have music running around in my head all the time, and if I hear music that's too interesting, I have to pay attention to it.
We're really serious about reinventing everything that needs reinventing.
Never put off till tomorrow what you can put off till the day after tomorrow. Like a variant of the song, Tomorrow, only it's more of the idea, the Mexican idea of mañana, you know, [singing] mañana, mañana, I love you, mañana, you're always a day away.
I'm just paid to do whatever I want to do. Some of the time it's development, and some of the time it's just goofing off.
Human languages tend to be much more ambiguous than computer languages because humans are much smarter about interpreting the context.
Perl was designed to work more like a natural language. It's a little more complicated but there are more shortcuts, and once you learned the language, it's more expressive.