ACME-QuoteDB
view release on metacpan or search on metacpan
t/data/python_quotes.txt view on Meta::CPAN
frolicking in the lush Amsterdam jungle.
-- Tim Peters, 24 Apr 1998
The infinities aren't contagious except in that they often appear that way due
to their large size.
-- Tim Peters on the IEEE 754 floating point standard, 27 Apr 1998
The "of course, while *I* have no problem with this at all, it's surely too
much for a lesser being" flavor of argument always rings hollow to me. Are you
personally confused by the meanings for "+" that exist today? *Objecting* to
the variations is a different story; I'm wondering whether you personally
stumble over them in practice. I don't; Steven doesn't; I doubt that you do
either. I'm betting that almost *nobody* ever does, in which case those "less
nimble colleagues and students" must be supernaturally feeble to merit such
concern.
-- Tim Peters, 29 Apr 1998
"Ideally, IMO, two messages with the same name should have the same meaning
but possibly different implementations. Of course, "meaning" is somewhat
relative, but the notion that two messages with the same name should have the
same 'meaning' is very useful."
"Like clothes.launder() vs money.launder(), or shape.draw() vs
blood.draw(), or matrix.norm() vs hi.norm() <wink>? I'm afraid English thrives
on puns, and the same word routinely means radically different things across
application areas. Therefore, to insist that a word have "one true meaning" in
a programming language is insisting that the language cater to one true
application domain."
-- Jim Fulton and Tim Peters, in a discussion of rich comparisons, 29
Apr 1998
Indeed, when I design *my* killer language, the identifiers "foo" and "bar"
will be reserved words, never used, and not even mentioned in the reference
manual. Any program using one will simply dump core without comment. Multitudes
will rejoice.
-- Tim Peters, 29 Apr 1998
Too little freedom makes life confusingly clumsy; too much, clumsily confusing.
Luckily, the tension between freedom and restraint eventually gets severed by
Guido's Razor.
-- Tim Peters, 29 Apr 1998
In other words, I'm willing to see dark corners added to the language, as long
as I don't have to go into them myself.
-- A.M. Kuchling, 29 Apr 1998
This argument is specious. What on earth would it mean to compare an object you
created with another object from someone else's code unless you knew exactly
what each object's semantics were? Do you really want to ask if my abstract
syntax tree is less then your HTTP connection object?
-- Jeremy Hylton, in a discussion of rich comparisons, 29 Apr 1998
Two things I learned for sure during a particularly intense acid trip in my own
lost youth: (1) everything is a trivial special case of something else; and,
(2) death is a bunch of blue spheres.
-- Tim Peters, 1 May 1998
Well, they will be: "<" will mean what everyone thinks it means when applied to
builtin types, and will mean whatever __lt__ makes it mean otherwise, except
when __lt__ isn't defined but __cmp__ is in which case it will mean whatever
__cmp__ makes it mean, except when neither __lt__ or __cmp__ are defined in
which case it's still unsettled. I think. Or isn't that what you meant by
"clearly defined"?
-- Tim Peters, 6 May 1998
You write a great program, regardless of language, by redoing it over & over &
over & over, until your fingers bleed and your soul is drained. But if you tell
newbies *that*, they might decide to go off and do something sensible, like
bomb defusing<wink>.
-- Tim Peters, 5 Jun 1998
OO styles help in part because they make it easier to redo large parts over,
or, when the moon is shining just right, to steal large parts from someone
else. Python helps in many additional ways regardless of style, not least of
which in that it hurts less to throw away 50 lines of code than 5,000 <0.5
wink>. The pains, and joys, of programming are *qualitatively* the same under
Python. There's less pain less often, and joy comes quicker. And that's worth a
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
t/data/python_quotes.txt view on Meta::CPAN
-- Gordon McMillan, 3 Dec 1998
Hey, while they're all eating dinner, let's sneak in a keyword!
emancipate variable: declare absolute freedom for one variable. It can be
whatever it wants whenever it wants in whatever form it wants in whatever
language it wants on whatever computer it wants. In the ensuing chaos it will
get nothing done, but it will give programmers stories to tell for years to
come...
-- Mike Fletcher, 25 Dec 1998
"Can we kill this thread? The only thing it does as far as I'm concerned is
increase the posting statistics. :-)"
"don't-open-cans-of-worms-unless-you're-looking-for-a-new-diet-ly y'rs"
-- Guido van Rossum and Tim Peters, 6 Jan 1999
Hey, that was the first truly portable laptop! Of course I'm nostalgic.
Came with a mighty 24Kb RAM standard, & I popped the extra $80 to max it out at
32Kb. Much of Cray's register assigner was developed on that beast: unlike the
prototype Crays of the time, the M100 was always available and never crashed.
Even better, I could interrupt it any time, poke around, and resume right where
it left off <wink>.
m100-basic-reminded-me-a-lot-of-python-except-that-it-sucked-ly y'rs
-- Tim Peters remembering the Model 100, 10 Jan 1999
"Heh -- all it really broke so far was my resistance to installing Tk. I
suppose wizardry is inevitable after one installs something, though <wink>."
"Spoken like a truly obsessive-compulsive wizard! It-takes-one-to-know
-one..."
-- Tim Peters and Guido van Rossum, 6 Jan 1999
Note, however, that architectural forms are completely declarative and can be
implemented in a highly optimized fashion. The sorts of extensions that
Microsoft has proposed for XSL (<xsl:eval>...</>) would completely destroy
those features. Architectural mapping would, in general, be as reliable and
high performance as ordinary software -- (not at all).
-- Paul Prescod, 6 Jan 1999
Darned confusing, unless you have that magic ingredient *coffee*, of which I
can pay you Tuesday for a couple pounds of extra-special grind today.
-- John Mitchell, 11 Jan 1999
That's so obvious that someone has already got a patent on it.
-- Guido van Rossum, 12 Jan 1999
I have to stop now. I've already told you more than I know.
-- Wolf Logan, 14 Jan 1999
I really don't have any incisive insights about the economic mechanisms or
viability of free software and open source, but I do have a strong, clear sense
that such things make it possible for me to do my job, as a programmer and a
facilitator of/participant in online communities, better and more easily than I
otherwise could do.
-- Ken Manheimer, 24 Jan 1999
Every standard applies to a certain problem domain and a certain level. A
standard can work perfectly and save the world economy billions of dollars and
there will still be software and hardware compatibility problems. In fact,
solving one level of compatibility just gives rise to the next level of
incompatibility. For example, connecting computers together through standard
protocols gives rise to the problem of byte endianness issues. Solving byte
endianness gives rise to the problem of character sets. Solving character sets
gives rise to the problem of end-of-line and end-of-file conventions. Solving
that gets us to the problem of interpreting the low-level syntax (thus XML).
Then we need to interpet that syntax in terms of objects and properties (thus
RDF, WDDX, etc.). And so forth.
We could judge a standard's success by its ability to reveal another level
of standardization that is necessary.
-- Paul Prescod, 24 Jan 1999
I just want to go on the record as being completely opposed to computer
languages. Let them have their own language and soon they'll be off in the
corner plotting with each other!
-- Steven D. Majewski, 25 Jan 1999
Constraints often boost creativity.
-- Jim Hugunin, 11 Feb 1999
Programming is no different - it's only by going outside what you know, and
looking from another direction (working, if you like, your brain, so that it
can be more powerful :-) that you can improve further.
-- Andrew Cooke, 12 Feb 1999
any-technology-indistinguishable-from-magic-is-too-mysterious- to- trust-ly
y'rs
-- Tim Peters, 16 Feb 1999
"I don't think we've thought of this, and it's actually a good idea."
"I'd better go patent it!"
-- Uche Ogbuji and Paul Prescod, 16 Feb 1999
Contrary to advertising, no parsing system is "easy to learn", in or out of the
Python world -- parsing is a hard problem. Most are easy enough to use after
practice, though. Ironically, the trickiest system of all to master (regexps)
is also the feeblest and the most widely used.
-- Tim Peters, 17 Feb 1999
So Python's only cross-platform choices were to mimic the C/POSIX API or invent
its own new x-platform API; only one of those is realistic (as Java proves
every day <wink>).
-- Tim Peters, 21 Feb 1999
Yes: the code in ntpath.split is too clever to have any hope of working
correctly <wink>.
-- Tim Peters, 19 Mar 1999
Thanks. The sooner I get discouraged and quit, the more time I'll save overall.
-- Frank Sergeant, 28 Mar 1999
But it's a general way to debug: tell someone what right things your program is
doing. Chances are that you will see the wrong thing(s) before the other person
has said anything... I just stick a picture of a face on my monitor and talk to
it to find bugs.
-- Richard van de Stadt, 9 Apr 1999
Might just be nostalgia, but I think I would give an arm or two to get that
(not necessarily my own, though).
-- Fredrik Lundh, 13 May 1999
1. Beautiful is better than ugly.
2. Explicit is better than implicit.
3. Simple is better than complex.
t/data/python_quotes.txt view on Meta::CPAN
effort involved in big NP complete problems is *so* huge that even in optimized
micro-code, the algorithm might take a million years to run. Tweezers or shovel
-- it makes little difference when you are trying to move a universe...
-- Sean McGrath, 4 Sep 1999
On a scale of one to ten I'd give it a tim.
-- William Tanksley, 13 Sep 1999
Statistical analysis shows that the junk looks like human text, which clearly
shows that it is actually used in some yet unknown way. (docstrings?)
-- Fredrik Lundh, writing about junk DNA, 5 Oct 1999
If I engineer code that I expect to be in use for N years, I make damn sure
that every internal limit is at least 10x larger than the largest I can
conceive of a user making reasonable use of at the end of those N years. The
invariable result is that the N years pass, and fewer than half of the users
have bumped into the limit <0.5 wink>.
-- Tim Peters, 11 Nov 1999
I don't think the bytecodehacks, while sufficiently dark and useless to be a
tim-ism, qualify me in any way for a Pythonic Wizard Hat...
-- Michael Hudson, 16 Nov 1999
The bottom tier is what a certain class of wanker would call "business
objects"...
-- Greg Ward, 9 Dec 1999
Since I've done fewer than my normal quota of futile things this week, I
thought I'd post to remind people that ...
-- Phil Austin, 9 Dec 1999
There are useful diagrams in UML, (eg, the state and transition diagrams).
Unfortunately, the one most tools use to generate code (and draw from reverse
engineering) has everything to do with language structure, and nothing to do
with what actually happens at runtime. To put it bluntly: people spend most of
their time designing the wrong thing. Worse, they get it wrong, but it's carved
in stone now; so the final system is either needlessly complex and marginally
functional, or bears no resemblance to the "design".
-- Gordon McMillan, 15 Dec 1999
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.
( run in 0.626 second using v1.01-cache-2.11-cpan-39bf76dae61 )