ACME-QuoteDB
view release on metacpan or search on metacpan
t/data/python_quotes.txt view on Meta::CPAN
We will perhaps eventually be writing only small modules which are identified
by name as they are used to build larger ones, so that devices like
indentation, rather than delimiters, might become feasible for expressing local
structure in the source language.
-- Donald E. Knuth, "Structured Programming with goto Statements",
Computing Surveys, Vol 6 No 4, Dec. 1974
Python's syntax succeeds in combining the mistakes of Lisp and Fortran. I do
not construe that as progress.
-- Larry Wall, May 12 2004
Some rejected alternate names for "Monty Python's Flying Circus":
1 2 3 / It's Them! / Arthur Megapode's Flying Circus / The Horrible Earnest
Megapode / The Panic Show / The Plastic Mac Show / Ow! It's Colin Plint! /
Vaseline Review / Vaseline Parade / The Keen Show / Brian's Flying Circus / The
Year of the Stoat / Cynthia Fellatio's Flying Circus / Owl Stretching Time /
The Whizzo Easishow! (Guaranteed to last 1/2 hour! Money back if not!)
-- From Kim "Howard" Johnson's _Life Before and After Monty Python_.
It's interesting to contemplate what Python would have been called
if one of these names had been chosen.
Anybody else on the list got an opinion? Should I change the language or not?
-- Guido van Rossum, 28 Dec 1991
in-any-case-the-best-christmas-present-i-got-today!-ly y'rs - tim
-- Tim Peters, 29 Dec 1991 [First occurrence of Tim Peters's long-
phrase-ly idiom.]
but-i'm-not-even-motivated-enough-to-finish-this-sig-
-- Tim Peters, 20 Dec 2000
Ha -- you have done me the favor of underestimating my ignorance <smile>.
-- Tim Peters, 30 Dec 1991
I prefer (all things being equal) regularity/orthogonality and logical
syntax/semantics in a language because there is less to have to remember. (Of
course I *know* all things are NEVER really equal!)
-- Guido van Rossum, 6 Dec 1991
The details of that silly code are irrelevant.
-- Tim Peters, 4 Mar 1992
Frankly, I'd rather not try to compete with Perl in the areas where Perl is
best -- it's a battle that's impossible to win, and I don't think it is a good
idea to strive for the number of obscure options and shortcuts that Perl has
acquired through the years.
-- Guido van Rossum, 7 Jul 1992
Python is a truly wonderful language. When somebody comes up with a good idea
it takes about 1 minute and five lines to program something that almost does
what you want. Then it takes only an hour to extend the script to 300 lines,
after which it still does almost what you want.
-- Jack Jansen, 8 Jul 1992
If you have a browser from CERN's WWW project (World-Wide Web, a distributed
hypertext system) you can browse a WWW hypertext version of the manual...
-- Guido van Rossum, 19 Nov 1992 [First mention of the Web on python-
list.]
Just a success note for Guido and the list: Python 0.9.9, stdwin, readline,
gmp, and md5 all go up on linux 0.99 pl11 without much problems.
-- Allan Bailey, 2 Aug 1993 [First mention of Linux on python-list.]
Rule: "You shouldn't have to open up a black box and take it apart to find out
you've been pushing the wrong buttons!" Corollary: "Every black box should have
at least TWO blinking lights: "Paper Jam" and "Service Required" (or
equivalent)."
-- Steven D. Majewski, 9 Sep 1993
We've been through a couple of syntax changes, but I have sort of assumed that
by the time we get to version 1.0 release, the language, (if not the
implementation) will essentially be stable.
-- Steven D. Majewski, 14 Sep 1993
"Python tricks" is a tough one, cuz the language is so clean. E.g., C makes an
art of confusing pointers with arrays and strings, which leads to lotsa neat
pointer tricks; APL mistakes everything for an array, leading to neat
one-liners; and Perl confuses everything period, making each line a joyous
adventure <wink>.
-- Tim Peters, 16 Sep 1993
I've seen Python criticized as "ugly" precisely because it *doesn't* have a
trick-based view of the world. In many ways, it's a dull language, borrowing
solid old concepts from many other languages & styles: boring syntax,
unsurprising semantics, few automatic coercions, etc etc. But that's one of the
things I like about it.
-- Tim Peters, 16 Sep 1993
One of the things that makes it interesting, is exactly how much Guido has
managed to exploit that *one* implementation trick of 'namespaces'.
-- Steven D. Majewski, 17 Sep 1993
Anyone familiar with Modula-3 should appreciate the difference between a
layered approach, with generic Rd/Wr types, and the Python 'C with foam
padding' approach.
-- John Redford, 24 Nov 1993
People simply will not agree on what should and shouldn't be "an error", and
once exception-handling mechanisms are introduced to give people a choice, they
will far less agree on what to do with them.
-- Tim Peters, 17 Dec 1993
Note that because of its semantics, 'del' *can't* be a function: "del a"
deletes 'a' from the current namespace. A function can't delete something from
the calling namespace (except when written by Steve Majewski :-).
-- Guido van Rossum, 1 Aug 1994
I don't know a lot about this artificial life stuff -- but I'm suspicious
of anything Newsweek gets goofy about -- and I suspect its primary use is as
another money extraction tool to be applied by ai labs to the department of
defense (and more power to 'em).
Nevertheless in wondering why free software is so good these days it
occurred to me that the propagation of free software is one gigantic artificial
life evolution experiment, but the metaphor isn't perfect.
Programs are thrown out into the harsh environment, and the bad ones die.
The good ones adapt rapidly and become very robust in short order.
The only problem with the metaphor is that the process isn't random at all.
Python *chooses* to include Tk's genes; Linux decides to make itself more
suitable for symbiosis with X, etcetera.
Free software is artificial life, but better.
-- Aaron Watters, 29 Sep 1994
I claim complete innocence and ignorance! It must have been Tim. I wouldn't
know a Trondheim Hammer if it fell on my foot!
-- Steve Majewski, 10 Jan 1995
(Aieee! Yet another thing on my TODO pile!)
-- A.M. Kuchling, 10 Jan 1995
[After someone wrote "...assignment capability, a la djikstra"] Ehh, the poor
old man's name is Dijkstra. I should know, "ij" is a well known digraph in the
Dutch language. And before someone asks the obvious: his famous "P and V" names
for semaphores are derived for the Dutch words "Passeer" and "Verlaat", or
"Pass" and "Leave". And no, I haven't met him (although he did work at CWI back
in the fifties when it was called, as it should still be today, Mathematical
Centre). he currently lives in Austin, Texas I believe. (While we're at it...
does anybody remember the Dijkstra font for Macintoshes? It was a scanned
version of his handwriting. I believe Luca Cardelli scanned it -- the author of
Obliq, a somewhat Python-like distributed language built on Modula-3. I could
go on forever... :-)
-- Guido van Rossum, 19 Jan 1995
As always, I'll leave it to a volunteer to experiment with this.
-- Guido van Rossum, 20 Jan 1995
Non-masochists, please delete this article NOW.
-- Aaron Watters, 20 Jan 1995
If Perl weren't around, I'd probably be using Python right now.
-- Tom Christiansen in comp.lang.perl, 2 Jun 1995
GUI stuff is *supposed* to be hard. It builds character.
-- Jim Ahlstrom, at one of the early Python workshops
>VERY cool mod, Peter. I'll be curious to see GvR's reaction to your
syntax.
Hm.
-- Nick Seidenman and Guido van Rossum, 1 Aug 1996
Python is an experiment in how much freedom programmers need. Too much freedom
and nobody can read another's code; too little and expressiveness is
endangered.
-- Guido van Rossum, 13 Aug 1996
[On regression testing] Another approach is to renounce all worldly goods and
retreat to a primitive cabin in Montana, where you can live a life of purity,
unpolluted by technological change. But now and then you can send out little
packages....
-- Aaron Watters
Ah, you're a recent victim of forceful evangelization. Write your own assert
module, use it, and come back in a few months to tell me whether it really
caught 90% of your bugs.
-- Guido van Rossum, 7 Feb 1997
The larger scientific computing centers generally have a "theory" division and
a "actually uses the computer" <wink> division. The theory division generally
boasts some excellent theoreticians and designers, while the other division
generally boasts some excellent physical scientists who simply want to get
their work done. In most labs I've seen, the two divisions hate each others'
guts (or, rarely, blissfully ignore each other), & the politics is so thick you
float on it even after they embed your feet in cement blocks (hence even the
simple relief of death is denied you <wink>).
-- Tim Peters, 25 Mar 1997
In one particular way the conflict is fundamental & eternal: the "working
scientists" generally understand the hardware du jour perfectly, and
passionately resent any attempt to prevent them from fiddling with it directly
-- while the theory folks are forever inventing new ways to hide the hardware
du jour. That two groups can both be so right and so wrong at the same time is
my seventh proof for the existence of God ...
-- Tim Peters, 25 Mar 1997
You're going to be in a minority - you're coming to Python programming from a
language which offers you a lot more in the way of comfortable operations than
Python, instead of coming from medieval torture chambers like C or Fortran,
which offer so much less.
-- Andrew Mullhaupt, 26 Jun 1997
...although Python uses an obsolete approach to memory management, it is a
*good* implementation of that approach, as opposed to S, which uses a
combination of bad implementation and demented design decisions to arrive at
what may very well be the worst memory behavior of any actually useful program.
-- Andrew Mullhaupt, 26 Jun 1997
I suggested holding a "Python Object Oriented Programming Seminar", but the
acronym was unpopular.
-- Joseph Strout, 28 Feb 1997
Strangely enough I saw just such a beast at the grocery store last night.
Starbucks sells Javachip. (It's ice cream, but that shouldn't be an obstacle
for the Java marketing people.)
-- Jeremy Hylton, 29 Apr 1997
A little girl goes into a pet show and asks for a wabbit. The shop keeper
looks down at her, smiles and says:
"Would you like a lovely fluffy little white rabbit, or a cutesy wootesly
little brown rabbit?"
"Actually", says the little girl, "I don't think my python would notice."
-- Told by Nick Leaton, 4 Dec 1996
When I originally designed Perl 5's OO, I thought about a lot of this stuff,
and chose the explicit object model of Python as being the least confusing. So
far I haven't seen a good reason to change my mind on that.
-- Larry Wall, 27 Feb 1997 on perl5-porters
PSA 1996 Budget
---------------
Income:
$1,093,276.54 'Guido for President'
Campaign Contributions(1)
$ 3.12 Milk Money Extortion Program
$ 2,934.07 PSA Memberships
-------------
$1,096,213.73 Total Income
Expenses:
$ 652,362.55 Monty Python Licencing Fees (2)
$ 10,876.45 Pre-Release 2 Week Vacations (3)
$ 369,841.59 Post-Release 2 Week Vacations (3)
$ 15.01 Alien Abduction Insurance
$ 62,541.72 Python Web Site Maintenance
$ 554.65 Great Comfort Cream
-------------
$1,096,191.97 Total Expenses
$ (21.76) Total Profit (Loss)
Notes:
(1) Many of you many not be aware of the fabulously successful 'Guido for
President' Campaign. While Guido has no interest in being the president, the
PSA thought it would be a cool way to collect money. The centerpiece of the
campaign featured an attractive offer to spend the night in Guido's spare
bedroom in exchange for a $50,000.00 contribution. (Mark Lutz stayed TWICE!)
(2) Since the proliferation of Monty Python related names (Python, Monty,
Grail, Eric-the-Half-a-Compiler, et al.) has increased over the past year, the
PSA felt it would be wise to licencing the Python name to forestall any
lawsuits. An added benefit is that John Cleese is teaching Guido how to walk
funny.
(3) Pre-Release vacations are spent in the Catskills. Post-Release
vacations are spent in the Bahamas. Guido is currently working on a system
which will allow him to make more releases of Python; thus octupling the number
of vacations he takes in a year.
-- Matthew Lewis Carroll Smith, 4 Apr 1997
I mean, just take a look at Joe Strout's brilliant little "python for
beginners" page. Replace all print-statements with sys.stdout.write(
string.join(map(str, args)) + "\n") and you surely won't get any new beginners.
And That Would Be A Very Bad Thing.
-- Fredrik Lundh, 27 Aug 1996
Ya, ya, ya, except ... if I were built out of KSR chips, I'd be running at 25
or 50 MHz, and would be wrong about ALMOST EVERYTHING almost ALL THE TIME just
due to being a computer! Think about it -- when's the last time you spent 20
hours straight debugging your son/wife/friend/neighbor/dog/ferret/snake? And
they *still* fell over anyway? Except in a direction you've never seen before
each time you try it? The easiest way to tell you're dealing with a computer is
when the other side keeps making the same moronic misteakes over and misteakes
over and misteakes over and misteakes over and misteakes over and misteakes
CTRL-C again.
-- Tim Peters, 30 Apr 1997
BTW, a member of the ANSI C committee once told me that the only thing rand is
used for in C code is to decide whether to pick up the axe or throw the dwarf,
and if that's true I guess "the typical libc rand" is adequate for all but the
most fanatic of gamers <wink>.
-- Tim Peters, 21 June 1997.
Things in Python are very clear, but are harder to find than the secrets of
wizards. Things in Perl are easy to find, but look like arcane spells to invoke
magic.
-- Mike Meyer, 6 Nov 1997
Indeed, as Palin has come to understand, being part of Python means never
really knowing what may lurk around the corner.
"We've never really followed any rules at all with Python," he said. "We're
a spontaneous lot. It's more fun that way."
-- Michael Palin, quoted from a Reuters/Variety news item titled
"Rare Python Reunion", Jan 15 1998.
Python is an excellent language for learning object orientation. (It also
happens to be my favorite OO scripting language.)
-- Sriram Srinivasan, _Advanced Perl Programming_
The point is that newbies almost always read more into the semantics of release
than are specified, so it's worthwile to be explicit about how little is being
said <wink>.
-- Tim Peters, 12 Feb 1998
Ah! "Never mind" to a bunch of what I said before (this editor can't move
backwards <wink>).
-- Tim Peters, 12 Feb 1998
After 1.5 years of Python, I'm still discovering richness (and still unable to
t/data/python_quotes.txt view on Meta::CPAN
whole lot.
-- Tim Peters, 5 Jun 1998
I've had a DBA tell me that what I wanted to do "could not" be done because his
silly $5000 tool couldn't model it. Proving him wrong simply increased his
conviction that what I was doing was immoral and perverse. Which, come to think
of it, it probably was. Hee hee.
-- Gordon McMillan, 8 Jun 1998
The majority of programmers aren't really looking for flexibility. Most
languages that enjoy huge success seem to do so not because they're flexible,
but because they do one particular thing *extremely* well. Like Fortran for
fast number-crunching in its day, or Perl for regexps, or C++ for compatibility
with C, or C for ... well, C's the exception that proves the rule.
-- Tim Peters, 11 Jun 1998
It has also been referred to as the "Don Beaudry *hack*," but that's a
misnomer. There's nothing hackish about it -- in fact, it is rather elegant and
deep, even though there's something dark to it.
-- Guido van Rossum, _Metaclass Programming in Python 1.5_
Just point your web browser at http://www.python.org/search/ and look for
"program", "doesn't", "work", or "my". Whenever you find someone else whose
program didn't work, don't do what they did. Repeat as needed.
-- Tim Peters, on python-help, 16 Jun 1998
Now some people see unchecked raw power and flee from perceived danger, while
others rush toward perceived opportunity. That's up to them. But I think it's
enormously *clarifying* in either case to see just *how* raw this particular
gimmick can get.
-- Tim Peters, 16 Jun 1998
Every language has its partisans, usually among folks deeply immersed in their
particular theology, triumphant in having divined the inner meaning of some
esoteric operations, like a medieval Jesuit hot on the trail of the final
ontological proof, whose conciseness in solving a single problem makes them
almost swoon with ecstacy at the expected savings of many keystrokes, as if
those very keystrokes represented a lot of heavy lifting and hauling on their
part.
-- John Holmgren, 18 Jun 1998
> In general, the situation sucks.
mind-if-i-use-that-as-my-epitaph<wink>?-ly y'rs - tim
-- Timothy J. Grant and Tim Peters, 22 Jun 1998
> Just for the record, on AIX, the following C program:
Oh no you don't! I followed AIX threads for the first year it came out, but
eventually decided there was no future in investing time in baffling
discussions that usually ended with "oh, never mind -- turns out it's a bug"
<0.9 wink>.
-- Vladimir Marangozov and Tim Peters, 23 Jun 1998
Python - why settle for snake oil when you can have the *whole* snake?
-- Mark Jackson, 26 Jun 1998
The problem I have with "SETL sets" in Python is the same I have with every
other language's "killer core" in Python: SETL is much more than just "a set
type", Eiffel is much more than just fancy pre- and post- conditions, Perl's
approach to regexps is much more than just its isolated regexp syntax, Scheme
is much more than just first-class functions & lexical closures, and so on.
Good languages aren't random collections of interchangeable features: they have
a philosophy and internal coherence that's never profitably confused with their
surface features.
-- Tim Peters, 10 Jul 1998
"Since I'm so close to the pickle module, I just look at the pickles
directly, as I'm pretty good at reading pickles."
"As you all can imagine, this trick goes over really well at parties."
-- Jim Fulton and Paul Everitt on the Bobo list, 17 Jul 1998
My theory is that the churning of old threads and reminiscences (Continuations,
Icon influences, old-T-shirts, the pre news-group mailing list archive,
whitespace, closures, .... ) has brought some old messages to the surface, via
some mechanism similar to the way plankton and other nutrients are cycled in
the ocean.
-- Steven D. Majewski, 23 Jul 1998
In general, Our Guido flees from schemes that merely change *which* foot gets
blown off <0.45 caliber wink>. Schemes that remove the firing pin entirely have
a much better, um, shot <wink>.
-- Tim Peters, 25 Jul 1998
I don't know what "invert the control structure" means -- but if it's anything
like turning a hamster inside-out, I would *expect* it to be messy <wink>.
-- Tim Peters, 25 Jul 1998
This makes it possible to pass complex object hierarchies to a C coder who
thinks computer science has made no worthwhile advancements since the invention
of the pointer.
-- Gordon McMillan, 30 Jul 1998
The nice thing about list comprehensions is that their most useful forms could
be implemented directly as light sugar for ordinary Python loops, leaving
lambdas out of it entirely. You end up with a subtly different beast, but so
far it appears to be a beast that's compatible with cuddly pythons.
-- Tim Peters, 6 Aug 1998
I wonder what Guido thinks he might do in Python2 (assuming, of course, that he
doesn't hire a bus to run over him before then <wink>).
-- Tim Peters, 26 Aug 1998
After writing CGI scripts the traditional way for a few years, it is taking
awhile to reshape my thinking. No sledgehammer to the head yet, but lots of
small sculpting hammers...
-- John Eikenberry on the Bobo list, 27 Aug 1998
I believe sometimes numbers creep into my programs as strings, so '4'/2 needs
to also be 2. Other languages do this. Since this is due in part to user input,
I guess 'four'/2, 'quattro/2', 'iv/2' etc. need to be 2 as well; don't know any
other language that does so, but Python could take the lead here in software
reliability. Any white space should be ignored, including between my ears. I
don't have time to write any useful software, so I've decided to devote myself
to proposing various changes to the Python interpreter.
-- Donn Cave uses sarcasm with devastating effect, 28 Aug 1998
then-again-if-history-were-important-god-wouldn't-have-hid- it-in-the- past-ly
y'rs
-- Tim Peters, 28 Aug 1998
> >( float ( / 1 3 ))
> 0.33333333333333331
Now *that* one is impressive: it's the best possible 17-digit decimal
representation of the best possible 53-bit fp binary representation of 1/3, and
17 is the minimum number of decimal digits you need in general so that a 53-bit
binary fp value can be exactly reconstructed by a best-possible atof.
-- Tim Peters, 2 Sep 1998
This is not a technical issue so much as a human issue; we are limited and so
is our time. (Is this a bug or a feature of time? Careful; trick question!)
-- Fred Drake on the Documentation SIG, 9 Sep 1998
There are also some surprises [in the late Miocene Australia] some small
mammals totally unknown and not obviously related to any known marsupial
(appropriately awarded names such as _Thingodonta_ and _Weirdodonta_) and a
giant python immortalized as _Montypythonoides_.
-- _The Book of Life_, found by Aaron Watters
Can the denizens of this group enlighten me about what the advantages of
Python are, versus Perl ?
"python" is more likely to pass unharmed through your spelling checker than
"perl".
-- An unknown poster and Fredrik Lundh, 11 Sep 1998
I have to say that the Dragon book is good when you consider the alternatives,
but compared with the Platonic ideal it leaves much to be desired. In
particular the algorithm descriptions are described at such a low level it's
difficult to understand how they work -- and at a higher conceptual level
involving graph theoretical transforms of automata (which I got thanks to Jean
Gallier by word of mouth and effort of chalk) is nearly invisible for the
trees.
-- Aaron Watters, 17 Sep 1998
... and at a higher conceptual level involving graph theoretical transforms of
automata (which I got thanks to Jean Gallier by word of mouth and effort of
chalk) ...
-- Aaron Watters, 17 Sep 1998
Every clarity vanished? :-)
-- Christian Tismer after answering a poster's question, 17 Sep 1998
Take the "public" modifier off Joseph's interface, or leave it there but
nest the interface inside class "closure", or even move the interface to its
own printer.java file, and it compiles and runs without incident. Most of the
big boys I hang with aren't paralyzed by self-explanatory compiler msgs <wink>.
not-to-mention-the-girls-ly y'rs
-- Tim Peters, 24 Sep 1998
<shakes head ruefully> You kids today, with your piercings and your big pants
and your purple-and-green hair and your X-Files and your Paula Cole and your
espresso coffee and your Seattle grunge rock and your virtual machines and your
acid-washed jeans and your Ernest Hemingway and your object-oriented languages
and your fax machines and your hula hoops and your zoot suits and your strange
slang phrases like "That's so bogus" or "What a shocking bad hat" and those
t/data/python_quotes.txt view on Meta::CPAN
The secret to good performance is to prototype and prototype, then code the
bottlenecks in a faster language. The secret to large systems is to prototype
and prototype, until you've got clean separation of the system into managable
pieces, then code in whatever language most suits the need of each piece.
-- Gordon McMillan, 15 Dec 1999
When Jim [Fulton] says "tricky" it means your brain could explode.
-- Michel Pelletier, 15 Dec 1999
You have start-tags, attributes, end-tags and character data. We have all seen
"XML applications" and "XML parsers" which handle this gang- of-four concepts.
... Now we can peer over the parapet and shout "your parser smells of
elderberries" or "I wave my mixed content at your ankles", as long as we like
but the simple gang-of-four base apps will not go away.
-- Sean McGrath, 19 Dec 1999
Abstraction is one of those notions that Python tosses out the window, yet
expresses very well.
-- Gordon McMillan, 6 Jan 2000
The set of naming conventions has a cardinality equal to the number of Python
users.
-- Gordon McMillan, 6 Jan 2000
The way to build large Python applications is to componentize and
loosely-couple the hell out of everything.
-- Aahz Maruch, 6 Jan 2000
It's not the mail volume that bothers me -- I can ignore 100s of messages a day
very quickly. It's the time it takes to respond to all of them.
-- Guido van Rossum, 20 Jan 2000
This is the way of Haskell or Design by Contract of Eiffel. This one is like
wearing a XV century armor, you walk very safely but in a very tiring way.
-- Manuel Gutierrez Algaba, 26 Jan 2000
Life's better without braces.
-- Unofficial motto of IPC8, coined by Bruce Eckel
"Aggressive" means "sometimes wrong".
-- John Aycock at IPC8, during his "Agressive Type Inferencing" talk
Do I do everything in C++ and teach a course in advanced swearing?
-- David Beazley at IPC8, on choosing a language for teaching
Alice is 3D Logo on steroids.
-- Randy Pausch at IPC8
I was willing to grant this one at once, but, now that I look back at it all --
the loyalty oaths, the relentless self-criticism sessions, the midnight visits
from the Ministry of Love -- I'm afraid what we really have here is unspeakably
more sinister.
-- Tim Peters after a reference to "Python's cult-like following", 2
Feb 2000
Guido (like us!) is a bit schizophrenic here: he wants to be a benevolent
dictator, but also wants to treat people like grownups. This probably worked
better before Python got a large American audience <0.9 wink>.
-- Tim Peters, 10 Feb 2000
I have formal proofs that any change of the indentation rules results in 35%
increase of the page faults for only 63.7% of the cache misses. The net effect
is an overall slowdown of 10%.
-- Vladimir Marangozov after Yet Another indentation flamewar, 16 Feb
2000
... let me just say that my least-favourite Python error message is
"SyntaxError: invalid syntax", which somehow manages to be both overly terse
and redundant at the same time.
-- Greg Ward, 15 Feb 2000
See, functional programmers are an insular lot. You rarely see them in
public, except at parades when they all have antler- hats and silly shoes on.
So they completely missed the infamous "goto considered harmful" thread and
didn't even realize they were doing anything wrong.
Now, let's pretend you're writing a 'bot that can pass as a functional
programmer. There's a complex protocol here. When two functional programmers
see each other on the street, they recognize each other by the antler hats. But
in certain parts of the Midwest, regular people wear antler hats, too. So
there's a protocol. First a <wink wink>. Then the secret handshake. Then you
sniff each other's armpits and stamp your foot 3 times.
OK, so you've written a bot, and it works fine on the street. Now you send
it to a cocktail party. It sees a potential functional programmer and gives the
<wink wink>. Now it tries to move into position to do the secret handshake, but
discovers that it's antler-hat is entangled with someone else's. Oops. <wink
wink> at the new guy. Handshake. But before it can sniff, the first one has
moved up for his handshake. Ay yi yi. Your bot crashes and is exposed.
So now you rewrite your bot to use a finite state machine so it can handle
multiple sessions. That means throwing out all the code that worked on the
street. But if you'd used continuations, it would be a relatively minor
adjustment of that code. 'Course you wouldn't have had to write the bot to
begin with.
-- Gordon McMillan, 18 Feb 2000
IIRC, Guido went to CNRI to work on bots and agents or something similar. Could
the timbot and the effbot be an offshoot of that? Next, he's going to start a
company with timbot and effbot as the main products. Van Rossum's Universal
Robots?
-- Bernhard Herzog, 21 Feb 2000
So those are the extremes: Boehm-Demers-Weiser avoids blame by refusing to do
anything. Java avoids blame by exposing an impossibly baroque
implementation-driven finalization model. Scheme avoids blame by refusing to do
anything "by magic", but helps you to shoot yourself with the weapon of your
choice. The bad news is that I don't know of a scheme *not* at an extreme!
-- Tim Peters on the knotty problem of finalizers and cycles, 3 Mar
2000
It's extremely un-Pythonic to let things leak (despite that it has let things
leak for a decade <wink>), but also extremely un-Pythonic to make some wild-ass
guess.
-- Tim Peters on garbage collection, 3 Mar 2000
IOW, the only people who lose under this scheme are the ones begging to lose,
and their "loss" consists of taking responsibility.
-- Tim Peters, 3 Mar 2000
An axiom is accepted without proof: we have plenty of proof that there's no
thoroughly good answer (i.e., every language that has ever addressed this issue
-- along with every language that ever will <wink>).
-- Tim Peters on garbage collection, 3 Mar 2000
t/data/python_quotes.txt view on Meta::CPAN
In arts, compromises yield mediocre results. The personality and vision of the
artist has to go through. I like to see Python as a piece of art. I just hope
the artist will not get too tainted by usability studies.
-- François Pinard, 22 May 2000
In fact, I've never seen an argument about which I cared less. I'm completely
case insensitivity insensitive.
-- William Tanksley, 23 May 2000
They boo-ed when Dylan went electric. But for me its about the instincts of a
designer, and the faith of a fan. Not science. So much the better.
-- Arthur Siegel, 23 May 2000
Burroughs did something very odd with COBOL at one point (and no, it wasn't The
Naked Lunch).
-- Will Rose, 27 May 2000
Code generators are hacks. Sometimes necessary hacks, but hacks nevertheless.
-- Paul Prescod, 7 Jun 2000
Very rough; like estimating the productivity of a welder by the amount of
acetylene used.
-- Paul Svensson, on measuring programmer productivity by lines of
code, 19 Jun 2000
I vote for backward compatibility for now, and not only because that will
irritate /F the most.
-- Tim Peters, 30 Jun 2000
A comment is in order then. If the code is smarter than it looks, most people
aren't going to think it looks very smart.
-- Jeremy Hylton, 6 Jul 2000
You and I think too much alike ?!ng. And if that doesn't scare you now, you
should have a talk with Gordon.
-- Barry Warsaw, 12 Jul 2000
Isn't it somewhat of a political statement to allow marriages of three or more
items? I always presumed that this function was n-ary, like map().
-- Paul Prescod, on the proposed name marry() for a function to
combine sequences, 12 Jul 2000
Since my finger was slowest reaching my nose, I got elected Editor. On the
positive side of that, I get to make the early decisions that will be cursed
for generations of Python hackers to come.
-- Barry Warsaw, 12 Jul 2000
Hey, you know, we can work this in. Sailor Moon + Giant Robots + Tentacle
Demons + Python Conference == Bizarre hilarity ensues!
-- Alexander Williams, 4 Aug 2000
The rapid establishment of social ties, even of a fleeting nature, advance not
only that goal but its standing in the uberconscious mesh of communal psychic,
subjective, and algorithmic interbeing. But I fear I'm restating the obvious.
-- Will Ware, 28 Aug 2000
The comp.lang.python newsgroup erupted last week with a flurry of posts that
accused the Python development team of creeping featurism, selling out the
language to corporate interests, moving too fast, and turning a deaf ear to the
Python community. What triggered this lava flow of accusations? The development
team accepted a proposal to change the syntax of the print statement.
-- Stephen Figgins, 30 Aug 2000
INTERVIEWER: Tell us how you came to be drawn into the world of pragmas.
COMPILER WRITER: Well, it started off with little things. Just a few
boolean flags, a way to turn asserts on and off, debug output, that sort of
thing. I thought, what harm can it do? It's not like I'm doing anything you
couldn't do with command line switches, right? Then it got a little bit
heavier, integer values for optimisation levels, even the odd string or two.
Before I knew it I was doing the real hard stuff, constant expressions,
conditionals, the whole shooting box. Then one day when I put in a hook for
making arbitrary calls into the interpreter, that was when I finally realised I
had a problem...
-- Greg Ewing, 31 Aug 2000
The modules people have built for Python are like the roads the Romans built
through Europe. On this solid ground, you can move fast as you work on aspects
of program design that aren't so analytical -- user interface, multi-threaded
event dispatching models, all kinds of things that can be done a lot of
different ways and are hard to get right the first time through.
-- Donn Cave, 3 Sep 2000
Python 2.0 beta 1 is now available from BeOpen PythonLabs. There is a long list
of new features since Python 1.6, released earlier today. We don't plan on any
new releases in the next 24 hours.
-- Jeremy Hylton, in the 2.0b1 announcement, 5 Sep 2000
Fortunately, you've left that madness behind, and entered the clean, happy, and
safe Python world of transvestite lumberjacks and singing Vikings.
-- Quinn Dunkan, 17 Sep 2000
Regular expressions are among my most valued tools, along with goto, eval,
multiple inheritance, preemptive multithreading, floating point, run-time type
identification, a big knife, a bottle of bleach, and 120VAC electricity. All of
these things suck sometimes.
-- Kragen Sitaker, 27 Sep 2000
IIRC, he didn't much care for regexps before, but actually writing a regexp
engine drives most people who do it to intense hatred.
Just more of the magic of Python! Transmuting a few peoples' intense agony
into the subject of others' idle amusement <wink>.
-- Tim Peters, 27 Sep 2000
"I do not love thee, lambda; let me count the ways..."
-- Aahz Maruch, 27 Sep 2000
They are called "Exceptions" because to any policy for handling them, imposed
in advance upon all programmers by the computer system, some programmers will
have good reason to take exception.
-- William Kahan, quoted by Tim Peters, 13 Oct 2000
"Interim steps" have a tendency to become permanent in our industry, where
"Compatibility" is the way the sins of the fathers are inflicted upon the third
and fourth generations ...
-- William Kahan, quoted by Huaiyu Zhu, 16 Oct 2000
The most successful projects I've seen and been on *did* rewrite all the code
routinely, but one subsystem at a time. This happens when you're tempted to add
a hack, realize it wouldn't be needed if an entire area were reworked, and mgmt
is bright enough to realize that hacks compound in fatal ways over time. The
"ain't broke, don't fix" philosophy is a good guide here, provided you've got a
t/data/python_quotes.txt view on Meta::CPAN
-- Tim Peters in a checkin message, 14 Nov 2001
My late father-in-law, Ray Pigozzi, was an extremely talented architect (he was
made a fellow of the AIA in the late 70's or early 80's), and although he was
by all accounts an excellent mentor to younger architects in the firm he
cofounded, he also had the well- deserved reputation of being quite laconic
(this I know from personal experience ;-). Early in his career, he received an
award from some masonry organization for his use of brick in building OWP (now
OWP&P) had designed. This necessitated the usual awards ceremony with dinner
and speeches. The recipients who preceeded Ray to the podium all spoke at
length about their work. Ray's entire acceptance speech was, "The building
speaks for itself."
-- Skip Montanaro, 4 Jan 2002
The Lisp community is like a ghost town, with the occasional banshee howl
echoing darkly around the chamber in lament of what might have been.
-- Courageous, 19 Jan 2002
I'll lend you _Calendrical Calculations_. Even *skimming* the chapters on some
of the world's other calendrical delights makes our date gimmicks blind via the
intensity of their clarity.
-- Tim Peters, 05 Mar 2002
The joy of coding Python should be in seeing short, concise, readable classes
that express a lot of action in a small amount of clear code -- not in reams of
trivial code that bores the reader to death.
-- GvR, 20 Mar 2002
A bot may injure a human being, or, preferably, through inaction, allow a human
being to come to harm, although laughing about either in the hearing of humans
is MACNAM-017B3^H.
-- Tim Peters, 26 Mar 2002
"It works in Scheme" doesn't give me the warm fuzzy feeling that it's been
tried in real life.
-- GvR, 02 Oct 2002
Most recipes are short enough for the attention span of the average Python
programmer.
-- GvR, in the introduction to the _Python Cookbook_
We read Knuth so you don't have to.
-- Tim Peters, _Python Cookbook_
Here's another technique that is faster and more obvious but that is often
avoided by those who mistakenly believe that writing two lines of code where
one might do is somehow sinful.
-- Tim Peters, _Python Cookbook_
A fruitful approach to problem solving is known as "divide and conquer", or
making problems easier by splitting their different aspects apart. Making
problems harder by joining several aspects together must be an example of an
approach known as "unite and suffer!"
-- Alex Martelli, _Python Cookbook_
compromise-is-the-art-of-spreading-misery-ly y'rs
-- Tim Peters, 11 Dec 2002
As for Grail, it was certainly a "hot product" in the Python community in 1995
because of the restricted execution environment which I evaluated for a project
involving mobile software agents. How priorities and trends have changed since
then! Who would have thought that Microsoft Outlook would be the premier
platform for mobile code?
-- Paul Boddie, 16 Jan 2004
I mean, if I think about my open-source contributions, nobody wants to see
talks with these titles:
* The Zope API Reference: Ouch
* A Random Handful Of Bugs I've Fixed In Other Peoples' Code
* An Old Crufty Project I Inherited That Has Zero Relevance To You
* The Joy of Preemptive Abandonware: Release Late, If Ever (or, Software
Design as a Nihilistic Abstract Art Form) (or, Sourceforge as a Medium for
Cryptic Time Capsules)
-- Paul Winkler, 14 Mar 2005
Syntax should not look like grit on my monitor.
-- Anthony Baxter, 02 Jun 2005
Can this not be resolved by carefully adjusting the order of finalization? If
code can be bootstrapped it can be strootbapped.
-- Kristján Jónsson, 30 Jun 2006
Python resembles Lisp like an octopus eye resembles a mammalian eye: they have
lots in common because they're both pretty good solutions to similar problems.
Deciding whether it's Python or Lisp that has the retina fitted back-to-front
is left as an exercise for the reader.
-- Gareth McCaughan, 11 Jul 2006
As Neal said, we are not perfect; bugs happen. If we all gave up on a piece of
software after two bugs we would not be able to turn our computers.
-- Brett Cannon, 13 Jul 2006
... I've come to believe that some people have the personality traits that let
them tolerate redoing the same work over and over again for no reason other
than management "furniture rearranging", whereas others start to resent having
their (working) life repeatedly flashed before their eyes, but in slightly
different colours, over a longer period of time.
-- Paul Boddie, 29 Aug 2006
I am the very model of a modern major database,
For gigabytes of information gathered out in userspace.
For banking applications to a website crackers will deface,
You access me from console or spiffy user interface.
My multi-threaded architecture offers you concurrency,
And loads of RAM for caching things reduces query latency.
The data is correctly typed, a fact that I will guarantee,
Each datum has a data type, it's specified explicitly.
-- Tim Chase, 12 Sep 2006
( run in 0.471 second using v1.01-cache-2.11-cpan-0bb4e1dffa6 )