Changeset 2427:0cdce09464b0 in livinglogic.python.xist

Show
Ignore:
Timestamp:
06/30/05 18:04:55 (15 years ago)
Author:
Walter Doerwald <walter@…>
Branch:
default
Message:

Finally updates the python-quotes demo to use an up to date version of
AMK's quote collection. The requires that we parse and understand a
whole bunch of XML namespace, for which rudimentary definition have
been added.

Location:
demos/python-quotes
Files:
5 added
4 modified

Legend:

Unmodified
Added
Removed
  • demos/python-quotes/python-quotes.css

    r2136 r2427  
    55    line-height: 16pt; 
    66    background-color: white; 
    7     margin-top: 20pt; 
    8     margin-bottom: 20pt; 
    9     margin-left: 50pt; 
    10     margin-right: 50pt; 
     7    margin: 20pt 50pt; 
    118} 
    129 
    1310p 
    1411{ 
    15     margin-top: 0pt; 
    16     margin-bottom: 5pt; 
     12    margin: 0pt 0pt 5pt 0pt; 
    1713} 
    1814 
    1915div.quotation 
    2016{ 
    21     margin-top: 16pt; 
    22     margin-bottom: 16pt; 
     17    margin: 16pt 0pt; 
    2318} 
    2419 
     
    2924    font-size: 10pt; 
    3025    line-height: 12pt; 
    31     margin-top: 1pt; 
    32     margin-left: 10pt; 
     26    margin: 0pt 0pt 0pt 10pt; 
    3327} 
    3428div.note 
     
    3832    font-size: 8pt; 
    3933    line-height: 10pt; 
    40     margin-top: 1pt; 
    41     margin-left: 10pt; 
     34    margin: 1pt 0pt 10pt 0pt; 
    4235} 
    4336h1 
    4437{ 
    4538    font-family: "Arial Narrow", "Arial", "XHelvetica", "Helvetica", sans-serif; 
    46     font-size: 24pt; 
     39    font-size: 36pt; 
     40    line-height: 100%; 
    4741    font-weight: normal; 
    48     color: #0050B2; 
     42    color: #0050b2; 
     43    margin: 0pt 0pt 0pt 0pt; 
    4944} 
     45h2 
     46{ 
     47    font-family: "Arial Narrow", "Arial", "XHelvetica", "Helvetica", sans-serif; 
     48    font-size: 20pt; 
     49    line-height: 100%; 
     50    font-weight: normal; 
     51    color: #0050b2; 
     52    margin: 0pt 0pt 0pt 0pt; 
     53} 
     54div.description 
     55{ 
     56    color: #666; 
     57    font-family: "Verdana", "Arial", "XHelvetica", "Helvetica", sans-serif; 
     58    font-size: 10pt; 
     59    line-height: 12pt; 
     60    margin: 5pt 0pt 30pt 0pt; 
     61} 
  • demos/python-quotes/python-quotes.html

    r2136 r2427  
    1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" /><title>Python quotes</title><link href="python-quotes.css" type="text/css" rel="stylesheet" /></head><body><h1>Python quotes</h1><div>(Generated from <a href="python-quotes.xml">python-quotes.xml</a>)</div><div class="quotation"><p> 
    2 We will perhaps eventually be writing only small modules which are 
    3 identified by name as they are used to build larger ones, so that 
    4 devices like indentation, rather than delimiters, might become 
    5 feasible for expressing local structure in the source language. 
    6  
    7 </p><div class="source">Donald E. Knuth, "Structured Programming with goto 
    8 Statements", Computing Surveys, Vol 6 No 4, Dec. 1974</div></div><div class="quotation"><p> 
    9 Some rejected alternate names for "Monty Python's Flying Circus": 
    10 </p><p> 
    11 1 2 3 /             It's Them!   
    12 / 
    13 Arthur Megapode's Flying Circus /   The Horrible Earnest Megapode 
    14 / 
    15 The Panic Show          /   The Plastic Mac Show 
    16 / 
    17 Ow!  It's Colin Plint!      /   Vaseline Review 
    18 / 
    19 Vaseline Parade         /   The Keen Show 
    20 / 
    21 Brian's Flying Circus       /   The Year of the Stoat 
    22 / 
    23 Cynthia Fellatio's Flying Circus /  Owl Stretching Time 
    24 / 
    25 The Whizzo Easishow!  (Guaranteed to last 1/2 hour!  Money back if not!) 
    26 </p><div class="source">From Kim "Howard" Johnson's <cite>Life Before and After Monty 
    27 Python</cite>. 
    28    It's interesting to contemplate what Python would have been called 
    29      if one of these names had been chosen. 
    30 </div></div><div class="quotation"><p> 
    31 Anybody else on the list got an opinion?  Should I change the language 
    32 or not? 
    33 </p><div class="source">Guido van Rossum, 28 Dec 1991 
    34 </div></div><div class="quotation"><p> 
    35 in-any-case-the-best-christmas-present-i-got-today!-ly y'rs - tim 
    36 </p><div class="source">Tim Peters, 29 Dec 1991 
    37   [First occurrence of Tim Peters's long-phrase-ly idiom.] 
    38 </div></div><div class="quotation"><p> 
    39 but-i'm-not-even-motivated-enough-to-finish-this-sig- 
    40 </p><div class="source">Tim Peters, 20 Dec 2000</div></div><div class="quotation"><p> 
    41 Ha -- you have done me the favor of underestimating my ignorance &lt;smile&gt;. 
    42 </p><div class="source">Tim Peters, 30 Dec 1991</div></div><div class="quotation"><p> 
    43 I prefer (all things being equal) regularity/orthogonality and logical 
    44 syntax/semantics in a language because there is less to have to remember. 
    45 (Of course I <em>know</em> all things are NEVER really equal!) 
    46 </p><div class="source">Guido van Rossum, 6 Dec 1991 
    47 </div></div><div class="quotation"><p> 
    48 The details of that silly code are irrelevant. 
    49 </p><div class="source">Tim Peters, 4 Mar 1992 
    50 </div></div><div class="quotation"><p> 
    51 Frankly, I'd rather not try to compete with Perl in the 
    52 areas where Perl is best -- it's a battle that's impossible to win, 
    53 and I don't think it is a good idea to strive for the number of 
    54 obscure options and shortcuts that Perl has acquired through the years. 
    55 </p><div class="source">Guido van Rossum, 7 Jul 1992</div></div><div class="quotation"><p> 
    56 Python is a truly wonderful language. When somebody comes up with a 
    57 good idea it takes about 1 minute and five lines to program something 
    58 that almost does what you want. Then it takes only an hour to extend 
    59 the script to 300 lines, after which it still does almost what you 
    60 want. 
    61 </p><div class="source">Jack Jansen, 8 Jul 1992 
    62 </div></div><div class="quotation"><p> 
    63 If you have a browser from CERN's WWW project (World-Wide Web, a 
    64 distributed hypertext system) you can browse a WWW hypertext version 
    65 of the manual... 
    66 </p><div class="source">Guido van Rossum, 19 Nov 1992 
    67    [First mention of the Web on python-list.] 
    68 </div></div><div class="quotation"><p> 
    69 Just a success note for Guido and the list: 
    70 Python 0.9.9, stdwin, readline, gmp, and md5 all go up on 
    71 linux 0.99 pl11 without much problems. 
    72 </p><div class="source">Allan Bailey, 2 Aug 1993 
    73    [First mention of Linux on python-list.] 
    74 </div></div><div class="quotation"><p> 
    75 Rule: "You shouldn't have to open up a black box and take it apart to 
    76 find out you've been pushing the wrong buttons!" 
    77  
    78 Corollary: "Every black box should have at least TWO blinking lights: 
    79 "Paper Jam" and "Service Required" (or equivalent)." 
    80 </p><div class="source">Steven D. Majewski, 9 Sep 1993 
    81 </div></div><div class="quotation"><p> 
    82 We've been through a couple of syntax changes, but I have sort of 
    83 assumed that by the time we get to version 1.0 release, the language, 
    84 (if not the implementation) will essentially be stable. 
    85 </p><div class="source">Steven D. Majewski, 14 Sep 1993 
    86 </div></div><div class="quotation"><p> 
    87 "Python tricks" is a tough one, cuz the language is so clean.  E.g., C 
    88 makes an art of confusing pointers with arrays and strings, which leads 
    89 to lotsa neat pointer tricks; APL mistakes everything for an array, 
    90 leading to neat one-liners; and Perl confuses everything period, making 
    91 each line a joyous adventure &lt;wink&gt;. 
    92 </p><div class="source">Tim Peters, 16 Sep 1993 
    93 </div></div><div class="quotation"><p> 
    94 I've seen Python criticized as "ugly" precisely because it <em>doesn't</em> have 
    95 a trick-based view of the world.  In many ways, it's a dull language, 
    96 borrowing solid old concepts from many other languages &amp; styles:  boring 
    97 syntax, unsurprising semantics, few automatic coercions, etc etc.  But 
    98 that's one of the things I like about it. 
    99 </p><div class="source">Tim Peters, 16 Sep 1993 
    100 </div></div><div class="quotation"><p> 
    101 One of the things that makes it interesting, is exactly how much Guido 
    102 has managed to exploit that <em>one</em> implementation trick of 
    103 'namespaces'. 
    104 </p><div class="source">Steven D. Majewski, 17 Sep 1993 
    105 </div></div><div class="quotation"><p> 
    106 Anyone familiar with Modula-3 should appreciate the difference between 
    107 a layered approach, with generic Rd/Wr types, and the Python 'C with 
    108 foam padding' approach.   
    109 </p><div class="source">John Redford, 24 Nov 1993 
    110 </div></div><div class="quotation"><p> 
    111 People simply will not agree on what should and shouldn't be "an 
    112 error", and once exception-handling mechanisms are introduced to give 
    113 people a choice, they will far less agree on what to do with them. 
    114 </p><div class="source">Tim Peters, 17 Dec 1993 
    115 </div></div><div class="quotation"><p> 
    116 Note that because of its semantics, 'del' <em>can't</em> be a function: "del 
    117 a" deletes 'a' from the current namespace. A function can't delete 
    118 something from the calling namespace (except when written by Steve 
    119 Majewski :-). 
    120 </p><div class="source">Guido van Rossum, 1 Aug 1994  
    121 </div></div><div class="quotation"><p> 
    122 I don't know a lot about this artificial life stuff 
    123 -- but I'm suspicious of anything Newsweek gets goofy about 
    124 -- and I suspect its primary use is as another money extraction tool 
    125 to be applied by ai labs to the department of defense 
    126 (and more power to 'em). 
    127 </p><p> 
    128 Nevertheless in wondering why free software is so good these days 
    129 it occurred to me that the propagation of free software is one gigantic 
    130 artificial life evolution experiment, but the metaphor isn't perfect. 
    131 </p><p> 
    132 Programs are thrown out into the harsh environment, and the bad ones 
    133 die. The good ones adapt rapidly and become very robust in short 
    134 order. 
    135 </p><p> 
    136 The only problem with the metaphor is that the process isn't random 
    137 at all. Python <em>chooses</em> to include Tk's genes; Linux decides 
    138 to make itself more suitable for symbiosis with X, etcetera.  
    139 </p><p> 
    140 Free software is artificial life, but better. 
    141 </p><div class="source">Aaron Watters, 29 Sep 1994</div></div><div class="quotation"><p> 
    142 I claim complete innocence and ignorance! It must have been Tim. 
    143 I wouldn't know a Trondheim Hammer if it fell on my foot! 
    144 </p><div class="source">Steve Majewski, 10 Jan 1995 
    145 </div></div><div class="quotation"><p> 
    146 (Aieee!  Yet another thing on my TODO pile!) 
    147 </p><div class="source">A.M. Kuchling, 10 Jan 1995 
    148 </div></div><div class="quotation"><p> 
    149 [After someone wrote "...assignment capability, a la djikstra"] 
    150  
    151 Ehh, the poor old man's name is Dijkstra.  I should know, "ij" is a 
    152 well known digraph in the Dutch language.  And before someone asks the 
    153 obvious: his famous "P and V" names for semaphores are derived for the 
    154 Dutch words "Passeer" and "Verlaat", or "Pass" and "Leave".  And no, I 
    155 haven't met him (although he did work at CWI back in the fifties when 
    156 it was called, as it should still be today, Mathematical Centre).  he 
    157 currently lives in Austin, Texas I believe.  (While we're at 
    158 it... does anybody remember the Dijkstra font for Macintoshes?  It was 
    159 a scanned version of his handwriting.  I believe Luca Cardelli scanned 
    160 it -- the author of Obliq, a somewhat Python-like distributed language 
    161 built on Modula-3.  I could go on forever... :-)  
    162 </p><div class="source">Guido van Rossum, 19 Jan 1995 
    163 </div></div><div class="quotation"><p> 
    164 As always, I'll leave it to a volunteer to experiment with this. 
    165 </p><div class="source">Guido van Rossum, 20 Jan 1995 
    166 </div></div><div class="quotation"><p> 
    167 Non-masochists, please delete this article NOW. 
    168 </p><div class="source">Aaron Watters, 20 Jan 1995 
    169 </div></div><div class="quotation"><p> 
    170 If Perl weren't 
    171 around, I'd probably be using Python right now.   
    172 </p><div class="source">Tom Christiansen in comp.lang.perl, 2 Jun 1995</div></div><div class="quotation"><p> 
    173 GUI stuff is <em>supposed</em> to be hard.  It builds character. 
    174 </p><div class="source">Jim Ahlstrom, at one of the early Python workshops</div></div><div class="quotation"><p> 
    175 &gt;VERY cool mod, Peter.  I'll be curious to see GvR's reaction to your syntax. 
    176 </p><p> 
    177 Hm. 
    178 </p><div class="source">Nick Seidenman and Guido van Rossum, 1 Aug 1996</div></div><div class="quotation"><p> 
    179 Python is an experiment in how much freedom programmers need.  Too 
    180 much freedom and nobody can read another's code; too little and 
    181 expressiveness is endangered.   
    182 </p><div class="source">Guido van Rossum, 13 Aug 1996</div></div><div class="quotation"><p> 
    183 [On regression testing] Another approach is to renounce all worldly 
    184 goods and retreat to a primitive cabin in Montana, where you can live 
    185 a life of purity, unpolluted by technological change.  But now and 
    186 then you can send out little packages.... 
    187 </p><div class="source">Aaron Watters 
    188 </div></div><div class="quotation"><p> 
    189 Ah, you're a recent victim of forceful evangelization.  Write your own 
    190 assert module, use it, and come back in a few months to tell me 
    191 whether it really caught 90% of your bugs. 
    192 </p><div class="source">Guido van Rossum, 7 Feb 1997 
    193 </div></div><div class="quotation"><p> 
    194 The larger scientific computing centers generally have a "theory" 
    195 division and a "actually uses the computer" &lt;wink&gt; division.  The 
    196 theory division generally boasts some excellent theoreticians and 
    197 designers, while the other division generally boasts some excellent 
    198 physical scientists who simply want to get their work done.  In most 
    199 labs I've seen, the two divisions hate each others' guts (or, rarely, 
    200 blissfully ignore each other), &amp; the politics is so thick you float on 
    201 it even after they embed your feet in cement blocks (hence even the 
    202 simple relief of death is denied you &lt;wink&gt;). 
    203 </p><div class="source">Tim Peters, 25 Mar 1997 
    204 </div></div><div class="quotation"><p> 
    205 In one particular way the conflict is fundamental &amp; eternal: the 
    206 "working scientists" generally understand the hardware du jour 
    207 perfectly, and passionately resent any attempt to prevent them from 
    208 fiddling with it directly -- while the theory folks are forever 
    209 inventing new ways to hide the hardware du jour.  That two groups can 
    210 both be so right and so wrong at the same time is my seventh proof for 
    211 the existence of God ... 
    212 </p><div class="source">Tim Peters, 25 Mar 1997</div></div><div class="quotation"><p> 
    213 You're going to be in a minority - you're coming to Python programming 
    214 from a language which offers you a lot more in the way of comfortable 
    215 operations than Python, instead of coming from medieval torture 
    216 chambers like C or Fortran, which offer so much less. 
    217 </p><div class="source">Andrew Mullhaupt, 26 Jun 1997 
    218 </div></div><div class="quotation"><p> 
    219 ...although Python uses an obsolete approach to memory management, it 
    220 is a <em>good</em> implementation of that approach, as opposed to S, which 
    221 uses a combination of bad implementation and demented design decisions 
    222 to arrive at what may very well be the worst memory behavior of any 
    223 actually useful program. 
    224 </p><div class="source">Andrew Mullhaupt, 26 Jun 1997 
    225 </div></div><div class="quotation"><p> 
    226 I suggested holding a "Python Object Oriented Programming Seminar", but 
    227 the acronym was unpopular. 
    228 </p><div class="source">Joseph Strout, 28 Feb 1997 
    229 </div></div><div class="quotation"><p> 
    230 Strangely enough I saw just such a beast at the grocery store last 
    231 night. Starbucks sells Javachip. (It's ice cream, but that shouldn't 
    232 be an obstacle for the Java marketing people.) 
    233 </p><div class="source">Jeremy Hylton, 29 Apr 1997 
    234 </div></div><div class="quotation"><p> 
    235 A little girl goes into a pet show and asks for a wabbit. The shop 
    236 keeper looks down at her, smiles and says: 
    237 </p><p> 
    238 "Would you like a lovely fluffy little white rabbit, or a cutesy 
    239 wootesly little brown rabbit?" 
    240 </p><p> 
    241 "Actually", says the little girl, "I don't think my python would notice." 
    242 </p><div class="source">Told by Nick Leaton, 4 Dec 1996 
    243 </div></div><div class="quotation"><p> 
    244 When I originally designed Perl 5's OO, I thought about a lot of this 
    245 stuff, and chose the explicit object model of Python as being the 
    246 least confusing.  So far I haven't seen a good reason to change my 
    247 mind on that. 
    248 </p><div class="source">Larry Wall, 27 Feb 1997 on perl5-porters 
    249 </div></div><div class="quotation"><p><pre> 
     1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
     2<html><head><meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" /><title>Python Quotations</title><link href="python-quotes.css" type="text/css" rel="stylesheet" /></head><body><h1>Python Quotations</h1><h2>A.M. Kuchling</h2><div class="description">Quotations from the Python community</div><div class="quotation"><p> 
     3      We will perhaps eventually be writing only small modules which are 
     4      identified by name as they are used to build larger ones, so that 
     5      devices like indentation, rather than delimiters, might become 
     6      feasible for expressing local structure in the source language. 
     7    </p><div class="source">Donald E. Knuth, "Structured Programming with goto Statements", Computing Surveys, Vol 6 No 4, Dec. 1974</div></div><div class="quotation"><p>Python's syntax succeeds in combining the mistakes of Lisp and Fortran. 
     8I do not construe that as progress. 
     9    </p><div class="source">Larry Wall, May 12 2004</div></div><div class="quotation"><p> 
     10      Some rejected alternate names for "Monty Python's Flying Circus": 
     11    </p><p> 
     12      1 2 3 / It's Them! / Arthur Megapode's Flying Circus / The Horrible 
     13      Earnest Megapode / The Panic Show / The Plastic Mac Show / Ow! It's 
     14      Colin Plint! / Vaseline Review / Vaseline Parade / The Keen Show / 
     15      Brian's Flying Circus / The Year of the Stoat / Cynthia Fellatio's 
     16      Flying Circus / Owl Stretching Time / The Whizzo Easishow! (Guaranteed 
     17      to last 1/2 hour! Money back if not!) 
     18    </p><div class="source">From Kim "Howard" Johnson's <cite>Life Before and After Monty Python</cite>. It's interesting to contemplate what Python would have been called if one of these names had been chosen.</div></div><div class="quotation"><p> 
     19      Anybody else on the list got an opinion? Should I change the language 
     20      or not? 
     21    </p><div class="source">Guido van Rossum, 28 Dec 1991</div></div><div class="quotation"><p> 
     22      in-any-case-the-best-christmas-present-i-got-today!-ly y'rs - tim 
     23    </p><div class="source">Tim Peters, 29 Dec 1991 [First occurrence of Tim Peters's long-phrase-ly idiom.]</div></div><div class="quotation"><p> 
     24      but-i'm-not-even-motivated-enough-to-finish-this-sig- 
     25    </p><div class="source">Tim Peters, 20 Dec 2000</div></div><div class="quotation"><p> 
     26      Ha -- you have done me the favor of underestimating my ignorance 
     27      &lt;smile&gt;. 
     28    </p><div class="source">Tim Peters, 30 Dec 1991</div></div><div class="quotation"><p> 
     29      I prefer (all things being equal) regularity/orthogonality and logical 
     30      syntax/semantics in a language because there is less to have to 
     31      remember. (Of course I <em>know</em> all things are NEVER really 
     32      equal!) 
     33    </p><div class="source">Guido van Rossum, 6 Dec 1991</div></div><div class="quotation"><p> 
     34      The details of that silly code are irrelevant. 
     35    </p><div class="source">Tim Peters, 4 Mar 1992</div></div><div class="quotation"><p> 
     36      Frankly, I'd rather not try to compete with Perl in the areas where 
     37      Perl is best -- it's a battle that's impossible to win, and I don't 
     38      think it is a good idea to strive for the number of obscure options 
     39      and shortcuts that Perl has acquired through the years. 
     40    </p><div class="source">Guido van Rossum, 7 Jul 1992</div></div><div class="quotation"><p> 
     41      Python is a truly wonderful language. When somebody comes up with a 
     42      good idea it takes about 1 minute and five lines to program something 
     43      that almost does what you want. Then it takes only an hour to extend 
     44      the script to 300 lines, after which it still does almost what you 
     45      want. 
     46    </p><div class="source">Jack Jansen, 8 Jul 1992</div></div><div class="quotation"><p> 
     47      If you have a browser from CERN's WWW project (World-Wide Web, a 
     48      distributed hypertext system) you can browse a WWW hypertext version 
     49      of the manual... 
     50    </p><div class="source">Guido van Rossum, 19 Nov 1992 [First mention of the Web on python-list.]</div></div><div class="quotation"><p> 
     51      Just a success note for Guido and the list: Python 0.9.9, stdwin, 
     52      readline, gmp, and md5 all go up on linux 0.99 pl11 without much 
     53      problems. 
     54    </p><div class="source">Allan Bailey, 2 Aug 1993 [First mention of Linux on python-list.]</div></div><div class="quotation"><p> 
     55      Rule: "You shouldn't have to open up a black box and take it apart to 
     56      find out you've been pushing the wrong buttons!" Corollary: "Every 
     57      black box should have at least TWO blinking lights: "Paper Jam" and 
     58      "Service Required" (or equivalent)." 
     59    </p><div class="source">Steven D. Majewski, 9 Sep 1993</div></div><div class="quotation"><p> 
     60      We've been through a couple of syntax changes, but I have sort of 
     61      assumed that by the time we get to version 1.0 release, the language, 
     62      (if not the implementation) will essentially be stable. 
     63    </p><div class="source">Steven D. Majewski, 14 Sep 1993</div></div><div class="quotation"><p> 
     64      "Python tricks" is a tough one, cuz the language is so clean. E.g., C 
     65      makes an art of confusing pointers with arrays and strings, which 
     66      leads to lotsa neat pointer tricks; APL mistakes everything for an 
     67      array, leading to neat one-liners; and Perl confuses everything 
     68      period, making each line a joyous adventure &lt;wink&gt;. 
     69    </p><div class="source">Tim Peters, 16 Sep 1993</div></div><div class="quotation"><p> 
     70      I've seen Python criticized as "ugly" precisely because it 
     71      <em>doesn't</em> have a trick-based view of the world. In many ways, 
     72      it's a dull language, borrowing solid old concepts from many other 
     73      languages &amp; styles: boring syntax, unsurprising semantics, few 
     74      automatic coercions, etc etc. But that's one of the things I like 
     75      about it. 
     76    </p><div class="source">Tim Peters, 16 Sep 1993</div></div><div class="quotation"><p> 
     77      One of the things that makes it interesting, is exactly how much Guido 
     78      has managed to exploit that <em>one</em> implementation trick of 
     79      'namespaces'. 
     80    </p><div class="source">Steven D. Majewski, 17 Sep 1993</div></div><div class="quotation"><p> 
     81      Anyone familiar with Modula-3 should appreciate the difference between 
     82      a layered approach, with generic Rd/Wr types, and the Python 'C with 
     83      foam padding' approach. 
     84    </p><div class="source">John Redford, 24 Nov 1993</div></div><div class="quotation"><p> 
     85      People simply will not agree on what should and shouldn't be "an 
     86      error", and once exception-handling mechanisms are introduced to give 
     87      people a choice, they will far less agree on what to do with them. 
     88    </p><div class="source">Tim Peters, 17 Dec 1993</div></div><div class="quotation"><p> 
     89      Note that because of its semantics, 'del' <em>can't</em> be a 
     90      function: "del a" deletes 'a' from the current namespace. A function 
     91      can't delete something from the calling namespace (except when written 
     92      by Steve Majewski :-). 
     93    </p><div class="source">Guido van Rossum, 1 Aug 1994</div></div><div class="quotation"><p> 
     94      I don't know a lot about this artificial life stuff -- but I'm 
     95      suspicious of anything Newsweek gets goofy about -- and I suspect its 
     96      primary use is as another money extraction tool to be applied by ai 
     97      labs to the department of defense (and more power to 'em). 
     98    </p><p> 
     99      Nevertheless in wondering why free software is so good these days it 
     100      occurred to me that the propagation of free software is one gigantic 
     101      artificial life evolution experiment, but the metaphor isn't perfect. 
     102    </p><p> 
     103      Programs are thrown out into the harsh environment, and the bad ones 
     104      die. The good ones adapt rapidly and become very robust in short 
     105      order. 
     106    </p><p> 
     107      The only problem with the metaphor is that the process isn't random at 
     108      all. Python <em>chooses</em> to include Tk's genes; Linux decides to 
     109      make itself more suitable for symbiosis with X, etcetera. 
     110    </p><p> 
     111      Free software is artificial life, but better. 
     112    </p><div class="source">Aaron Watters, 29 Sep 1994</div></div><div class="quotation"><p> 
     113      I claim complete innocence and ignorance! It must have been Tim. I 
     114      wouldn't know a Trondheim Hammer if it fell on my foot! 
     115    </p><div class="source">Steve Majewski, 10 Jan 1995</div></div><div class="quotation"><p> 
     116      (Aieee! Yet another thing on my TODO pile!) 
     117    </p><div class="source">A.M. Kuchling, 10 Jan 1995</div></div><div class="quotation"><p> 
     118      [After someone wrote "...assignment capability, a la djikstra"] Ehh, 
     119      the poor old man's name is Dijkstra. I should know, "ij" is a well 
     120      known digraph in the Dutch language. And before someone asks the 
     121      obvious: his famous "P and V" names for semaphores are derived for the 
     122      Dutch words "Passeer" and "Verlaat", or "Pass" and "Leave". And no, I 
     123      haven't met him (although he did work at CWI back in the fifties when 
     124      it was called, as it should still be today, Mathematical Centre). he 
     125      currently lives in Austin, Texas I believe. (While we're at it... does 
     126      anybody remember the Dijkstra font for Macintoshes? It was a scanned 
     127      version of his handwriting. I believe Luca Cardelli scanned it -- the 
     128      author of Obliq, a somewhat Python-like distributed language built on 
     129      Modula-3. I could go on forever... :-) 
     130    </p><div class="source">Guido van Rossum, 19 Jan 1995</div></div><div class="quotation"><p> 
     131      As always, I'll leave it to a volunteer to experiment with this. 
     132    </p><div class="source">Guido van Rossum, 20 Jan 1995</div></div><div class="quotation"><p> 
     133      Non-masochists, please delete this article NOW. 
     134    </p><div class="source">Aaron Watters, 20 Jan 1995</div></div><div class="quotation"><p> 
     135      If Perl weren't around, I'd probably be using Python right now. 
     136    </p><div class="source">Tom Christiansen in comp.lang.perl, 2 Jun 1995</div></div><div class="quotation"><p> 
     137      GUI stuff is <em>supposed</em> to be hard. It builds character. 
     138    </p><div class="source">Jim Ahlstrom, at one of the early Python workshops</div></div><div class="quotation"><p> 
     139      &gt;VERY cool mod, Peter. I'll be curious to see GvR's reaction to 
     140      your syntax. 
     141    </p><p> 
     142      Hm. 
     143    </p><div class="source">Nick Seidenman and Guido van Rossum, 1 Aug 1996</div></div><div class="quotation"><p> 
     144      Python is an experiment in how much freedom programmers need. Too much 
     145      freedom and nobody can read another's code; too little and 
     146      expressiveness is endangered. 
     147    </p><div class="source">Guido van Rossum, 13 Aug 1996</div></div><div class="quotation"><p> 
     148      [On regression testing] Another approach is to renounce all worldly 
     149      goods and retreat to a primitive cabin in Montana, where you can live 
     150      a life of purity, unpolluted by technological change. But now and then 
     151      you can send out little packages.... 
     152    </p><div class="source">Aaron Watters</div></div><div class="quotation"><p> 
     153      Ah, you're a recent victim of forceful evangelization. Write your own 
     154      assert module, use it, and come back in a few months to tell me 
     155      whether it really caught 90% of your bugs. 
     156    </p><div class="source">Guido van Rossum, 7 Feb 1997</div></div><div class="quotation"><p> 
     157      The larger scientific computing centers generally have a "theory" 
     158      division and a "actually uses the computer" &lt;wink&gt; division. The 
     159      theory division generally boasts some excellent theoreticians and 
     160      designers, while the other division generally boasts some excellent 
     161      physical scientists who simply want to get their work done. In most 
     162      labs I've seen, the two divisions hate each others' guts (or, rarely, 
     163      blissfully ignore each other), &amp; the politics is so thick you 
     164      float on it even after they embed your feet in cement blocks (hence 
     165      even the simple relief of death is denied you &lt;wink&gt;). 
     166    </p><div class="source">Tim Peters, 25 Mar 1997</div></div><div class="quotation"><p> 
     167      In one particular way the conflict is fundamental &amp; eternal: the 
     168      "working scientists" generally understand the hardware du jour 
     169      perfectly, and passionately resent any attempt to prevent them from 
     170      fiddling with it directly -- while the theory folks are forever 
     171      inventing new ways to hide the hardware du jour. That two groups can 
     172      both be so right and so wrong at the same time is my seventh proof for 
     173      the existence of God ... 
     174    </p><div class="source">Tim Peters, 25 Mar 1997</div></div><div class="quotation"><p> 
     175      You're going to be in a minority - you're coming to Python programming 
     176      from a language which offers you a lot more in the way of comfortable 
     177      operations than Python, instead of coming from medieval torture 
     178      chambers like C or Fortran, which offer so much less. 
     179    </p><div class="source">Andrew Mullhaupt, 26 Jun 1997</div></div><div class="quotation"><p> 
     180      ...although Python uses an obsolete approach to memory management, it 
     181      is a <em>good</em> implementation of that approach, as opposed to S, 
     182      which uses a combination of bad implementation and demented design 
     183      decisions to arrive at what may very well be the worst memory behavior 
     184      of any actually useful program. 
     185    </p><div class="source">Andrew Mullhaupt, 26 Jun 1997</div></div><div class="quotation"><p> 
     186      I suggested holding a "Python Object Oriented Programming Seminar", 
     187      but the acronym was unpopular. 
     188    </p><div class="source">Joseph Strout, 28 Feb 1997</div></div><div class="quotation"><p> 
     189      Strangely enough I saw just such a beast at the grocery store last 
     190      night. Starbucks sells Javachip. (It's ice cream, but that shouldn't 
     191      be an obstacle for the Java marketing people.) 
     192    </p><div class="source">Jeremy Hylton, 29 Apr 1997</div></div><div class="quotation"><p> 
     193      A little girl goes into a pet show and asks for a wabbit. The shop 
     194      keeper looks down at her, smiles and says: 
     195    </p><p> 
     196      "Would you like a lovely fluffy little white rabbit, or a cutesy 
     197      wootesly little brown rabbit?" 
     198    </p><p> 
     199      "Actually", says the little girl, "I don't think my python would 
     200      notice." 
     201    </p><div class="source">Told by Nick Leaton, 4 Dec 1996</div></div><div class="quotation"><p> 
     202      When I originally designed Perl 5's OO, I thought about a lot of this 
     203      stuff, and chose the explicit object model of Python as being the 
     204      least confusing. So far I haven't seen a good reason to change my mind 
     205      on that. 
     206    </p><div class="source">Larry Wall, 27 Feb 1997 on perl5-porters</div></div><div class="quotation"><p><em> 
    250207PSA 1996 Budget 
    251208--------------- 
     
    268225$1,096,191.97  Total Expenses 
    269226$      (21.76) Total Profit (Loss) 
    270 </pre> 
    271  
    272 Notes: 
    273 </p><p> 
    274      (1) Many of you many not be aware of the fabulously successful 
    275 'Guido for President' Campaign. While Guido has no interest in being the 
    276 president, the PSA thought it would be a cool way to collect money. The 
    277 centerpiece of the campaign featured an attractive offer to spend the 
    278 night in Guido's spare bedroom in exchange for a $50,000.00 
    279 contribution. (Mark Lutz stayed TWICE!) 
    280 </p><p> 
    281      (2) Since the proliferation of Monty Python related names (Python, 
    282 Monty, Grail, Eric-the-Half-a-Compiler, et al.) has increased over the 
    283 past year, the PSA felt it would be wise to licencing the Python name to 
    284 forestall any lawsuits. An added benefit is that John Cleese is teaching 
    285 Guido how to walk funny. 
    286 </p><p> 
    287      (3) Pre-Release vacations are spent in the Catskills. Post-Release 
    288 vacations are spent in the Bahamas. Guido is currently working on a 
    289 system which will allow him to make more releases of Python; thus 
    290 octupling the number of vacations he takes in a year. 
    291 </p><div class="source">Matthew Lewis Carroll Smith, 4 Apr 1997 
    292 </div></div><div class="quotation"><p> 
    293 I mean, just take a look at Joe Strout's brilliant little "python for 
    294 beginners" page.  Replace all print-statements with  
    295 <code>sys.stdout.write( string.join(map(str, args)) + "\n")</code> 
    296 and you'll surely won't get any new beginners.  And That Would Be A 
    297 Very Bad Thing. 
    298 </p><div class="source">Fredrik Lundh, 27 Aug 1996 
    299 </div></div><div class="quotation"><p> 
    300 Ya, ya, ya, except ... if I were built out of KSR chips, I'd be 
    301 running at 25 or 50 MHz, and would be wrong about ALMOST EVERYTHING 
    302 almost ALL THE TIME just due to being a computer! Think about it -- 
    303 when's the last time you spent 20 hours straight debugging your 
    304 son/wife/friend/neighbor/dog/ferret/snake?  And they <em>still</em> fell over 
    305 anyway?  Except in a direction you've never seen before each time you 
    306 try it?  The easiest way to tell you're dealing with a computer is 
    307 when the other side keeps making the same moronic misteakes over and 
    308 misteakes over and misteakes over and misteakes over and misteakes 
    309 over and misteakes CTRL-C again.   
    310 </p><div class="source">Tim Peters, 30 Apr 1997 
    311 </div></div><div class="quotation"><p> 
    312 BTW, a member of the ANSI C committee once told me that the only 
    313 thing rand is used for in C code is to decide whether to pick up the 
    314 axe or throw the dwarf, and if that's true I guess "the typical libc 
    315 rand" is adequate for all but the most fanatic of gamers &lt;wink&gt;.   
    316 </p><div class="source">Tim Peters, 21 June 1997. 
    317 </div></div><div class="quotation"><p> 
    318 Things in Python are very clear, but are harder to find than the 
    319 secrets of wizards. Things in Perl are easy to find, but look like 
    320 arcane spells to invoke magic.  
    321 </p><div class="source">Mike Meyer, 6 Nov 1997</div></div><div class="quotation"><p> 
    322 Indeed, as Palin has come to understand, being part of Python means 
    323 never really knowing what may lurk around the corner. 
    324 </p><p> 
    325 "We've never really followed any rules at all with Python," he said. 
    326 "We're a spontaneous lot. It's more fun that way." 
    327 </p><div class="source">Michael Palin, quoted from a Reuters/Variety news item titled  
    328    "Rare Python Reunion", Jan 15 1998.</div></div><div class="quotation"><p> 
    329 Python is an excellent language for learning object orientation. (It also  
    330 happens to be my favorite OO scripting language.)  
    331 </p>Sriram Srinivasan<div class="source"><cite>Advanced Perl Programming</cite></div></div><div class="quotation"><p> 
    332 The point is that newbies almost always read more into the semantics 
    333 of release than are specified, so it's worthwile to be explicit about 
    334 how little is being said &lt;wink&gt;. 
    335 </p><div class="source">Tim Peters, 12 Feb 1998</div></div><div class="quotation"><p> 
    336 Ah!  "Never mind" to a bunch of what I said before (this editor can't 
    337 move backwards &lt;wink&gt;). 
    338 </p><div class="source">Tim Peters, 12 Feb 1998</div></div><div class="quotation"><p> 
    339 After 1.5 years of Python, I'm still discovering richness (and still  
    340 unable to understand what the hell Jim Fulton is talking about). 
    341 </p><div class="source">Gordon McMillan, 13 Mar 1998</div></div><div class="quotation"><p> 
    342 Tabs are good, spaces are bad and mixing the two just means that your  
    343 motives are confused and that you don't use enough functions. 
    344 </p><div class="source">John J. Lehmann, 19 Mar 1998</div></div><div class="quotation"><p> 
    345 ... but whenever optimization comes 
    346 up, people get sucked into debates about exciting but elaborate schemes 
    347 not a one of which ever gets implemented; better to get an easy 2% today 
    348 than dream about 100% forever. 
    349 </p><div class="source">Tim Peters, 22 Mar 1998</div></div><div class="quotation"><p> 
    350 I've been playing spoilsport in an attempt to 
    351 get tabnanny.py working, but now that there's absolutely no reason to 
    352 continue with this, the amount of my life I'm willing to devote to it is 
    353 unbounded &lt;0.9 wink&gt;. 
    354 </p><div class="source">Tim Peters, 30 Mar 1998</div></div><div class="quotation"><p> 
    355 Python is a little weak in forcing encapsulation. It isn't made for 
    356 bondage and domination environments. 
    357 </p><div class="source">Paul Prescod, 30 Mar 1998</div></div><div class="quotation"><p> 
    358 One of my 
    359 first big programming assignments as a student of computer science was 
    360 a source formatter for Pascal.  The assignment was designed to show us 
    361 the real-life difficulties of group programming projects.  It 
    362 succeeded perhaps too well.  For a long time, I was convinced that 
    363 source code formatters were a total waste of time, and decided to 
    364 write beautiful code that no automatic formatter could improve upon. 
    365 In fact, I would intentionally write code that formatters could only 
    366 make worse. 
    367 </p><div class="source">Guido van Rossum, 31 Mar 1998</div></div><div class="quotation"><p> 
    368    You need to build a system that is futureproof; it's no good just 
    369    making a modular system. You need to realize that your 
    370    system is just going to be a module in some bigger system to come, and 
    371    so you have to be part of something else, and it's a bit of a way of 
    372    life. 
    373 </p><div class="source">Tim Berners-Lee, at the WWW7 conference</div></div><div class="quotation"><p> 
    374 From gotos to the evolution of life in 10 posts; that's 
    375 comp.lang.python for you! 
    376 </p><div class="source">A.M. Kuchling, 4 Apr 1998</div></div><div class="quotation"><p> 
    377 This is <em>Python</em>!  If we didn't care what code looked like, most 
    378 of us would probably be hacking in some version of Lisp -- which already 
    379 covered most of Python's abstract <em>semantics</em> way back when Guido was just a 
    380 wee snakelet frolicking in the lush Amsterdam jungle.  
    381 </p><div class="source">Tim Peters, 24 Apr 1998</div></div><div class="quotation"><p> 
    382 The infinities aren't contagious except in that they often appear that way 
    383 due to their large size. 
    384 </p><div class="source">Tim Peters on the IEEE 754 floating point standard, 27 Apr 1998</div></div><div class="quotation"><p> 
    385 The "of course, while <em>I</em> have no problem with 
    386 this at all, it's surely too much for a lesser being" flavor of argument 
    387 always rings hollow to me.  Are you personally confused by the meanings for 
    388 "+" that exist today?  <em>Objecting</em> to the variations is a different story; 
    389 I'm wondering whether you personally stumble over them in practice.  I 
    390 don't; Steven doesn't; I doubt that you do either.  I'm betting that almost 
    391 <em>nobody</em> ever does, in which case those "less nimble colleagues and 
    392 students" must be supernaturally feeble to merit such concern. 
    393 </p><div class="source">Tim Peters, 29 Apr 1998</div></div><div class="quotation"><p> 
    394 "Ideally, IMO, two messages with the same name should have 
    395  the same meaning but possibly different implementations. 
    396  Of course, "meaning" is somewhat relative, but the notion 
    397  that two messages with the same name should have the same 
    398  'meaning' is very useful." 
    399 </p><p> 
    400 "Like clothes.launder() vs money.launder(), or shape.draw() vs blood.draw(), 
    401 or matrix.norm() vs hi.norm() &lt;wink&gt;? 
    402 I'm afraid English thrives on puns, 
    403 and the same word routinely means radically different things across 
    404 application areas.  Therefore, to insist that a word have "one true meaning" 
    405 in a programming language is insisting that the language cater to one true 
    406 application domain." 
    407 </p><div class="source">Jim Fulton and Tim Peters, in a discussion of rich comparisons, 29 Apr 1998</div></div><div class="quotation"><p> 
    408 Indeed, when I design <em>my</em> killer language, the identifiers "foo" and "bar" 
    409 will be reserved words, never used, and not even mentioned in the reference 
    410 manual.  Any program using one will simply dump core without comment. 
    411 Multitudes will rejoice. 
    412 </p><div class="source">Tim Peters, 29 Apr 1998</div></div><div class="quotation"><p> 
    413 Too little freedom makes life 
    414 confusingly clumsy; too much, clumsily confusing.  Luckily, the tension 
    415 between freedom and restraint eventually gets severed by Guido's Razor. 
    416 </p><div class="source">Tim Peters, 29 Apr 1998</div></div><div class="quotation"><p> 
    417 In other words, I'm willing to see dark 
    418 corners added to the language, as long as I don't have to go into them 
    419 myself. 
    420 </p><div class="source">A.M. Kuchling, 29 Apr 1998</div></div><div class="quotation"><p> 
    421 This argument is specious.  What on earth would it mean to compare an 
    422 object you created with another object from someone else's code unless 
    423 you knew exactly what each object's semantics were?  Do you really 
    424 want to ask if my abstract syntax tree is less then your HTTP 
    425 connection object? 
    426 </p><div class="source">Jeremy Hylton, in a discussion of rich comparisons, 29 Apr 1998</div></div><div class="quotation"><p> 
    427 Two things I learned for sure during a particularly intense acid trip in my 
    428 own lost youth: (1) everything is a trivial special case of something else; 
    429 and, (2) death is a bunch of blue spheres. 
    430 </p><div class="source">Tim Peters, 1 May 1998</div></div><div class="quotation"><p> 
    431 Well, they will be:  "&lt;" will mean what everyone thinks it means when 
    432 applied to builtin types, and will mean whatever __lt__ makes it mean 
    433 otherwise, except when __lt__ isn't defined but __cmp__ is in which case it 
    434 will mean whatever __cmp__ makes it mean, except when neither __lt__ or 
    435 __cmp__ are defined in which case it's still unsettled.  I think.  Or isn't 
    436 that what you meant by "clearly defined"? 
    437 </p><div class="source">Tim Peters, 6 May 1998</div></div><div class="quotation"><p> 
    438 You write a great program, regardless of 
    439 language, by redoing it over &amp; over &amp; over &amp; over, until your fingers bleed 
    440 and your soul is drained.  But if you tell newbies <em>that</em>, they might decide 
    441 to go off and do something sensible, like bomb defusing&lt;wink&gt;. 
    442 </p><div class="source">Tim Peters, 5 Jun 1998</div></div><div class="quotation"><p> 
    443 OO styles help in part because they make it easier to redo large parts over, 
    444 or, when the moon is shining just right, to steal large parts from someone 
    445 else.  Python helps in many additional ways regardless of style, not least 
    446 of which in that it hurts less to throw away 50 lines of code than 5,000 
    447 &lt;0.5 wink&gt;.  The pains, and joys, of programming are <em>qualitatively</em> the 
    448 same under Python.  There's less pain less often, and joy comes quicker. 
    449 And that's worth a whole lot. 
    450 </p><div class="source">Tim Peters, 5 Jun 1998</div></div><div class="quotation"><p> 
    451 I've had a DBA tell me that what I wanted to do  
    452 "could not" be done because his silly $5000 tool couldn't model it.  
    453 Proving him wrong simply increased his conviction that what I was  
    454 doing was immoral and perverse. 
    455 Which, come to think of it, it probably was. Hee hee. 
    456 </p><div class="source">Gordon McMillan, 8 Jun 1998</div></div><div class="quotation"><p> 
    457 The majority of programmers aren't really looking for flexibility.  Most 
    458 languages that enjoy huge success seem to do so not because they're 
    459 flexible, but because they do one particular thing <em>extremely</em> well.  Like 
    460 Fortran for fast number-crunching in its day, or Perl for regexps, or C++ 
    461 for compatibility with C, or C for ... well, C's the exception that proves 
    462 the rule.  
    463 </p><div class="source">Tim Peters, 11 Jun 1998</div></div><div class="quotation"><p> 
    464 It has also been referred to as the "Don Beaudry <em>hack</em>," but 
    465 that's a misnomer.  There's nothing hackish about it -- in fact, 
    466 it is rather elegant and deep, even though there's something dark 
    467 to it. 
    468 </p><div class="source">Guido van Rossum, <cite>Metaclass Programming in Python 1.5</cite></div></div><div class="quotation"><p>  
    469 Just point your web browser at 
    470 http://www.python.org/search/ and look for "program", "doesn't", 
    471 "work", or "my".  Whenever you find someone else whose program didn't 
    472 work, don't do what they did.  Repeat as needed.   
    473 </p><div class="source">Tim Peters, on python-help, 16 Jun 1998</div></div><div class="quotation"><p> 
    474 Now some people see unchecked raw power and flee from perceived danger, 
    475 while others rush toward perceived opportunity.  That's up to them.  But I 
    476 think it's enormously <em>clarifying</em> in either case to see just  
    477 <em>how</em> raw this 
    478 particular gimmick can get. 
    479 </p><div class="source">Tim Peters, 16 Jun 1998</div></div><div class="quotation"><p> 
    480 Every language has its partisans, usually among folks deeply immersed in 
    481 their particular theology, triumphant in having divined the inner meaning of 
    482 some esoteric operations, like a medieval Jesuit hot on the trail of the 
    483 final ontological proof,  whose conciseness in solving a single problem 
    484 makes them almost swoon with ecstacy at the expected savings of many 
    485 keystrokes, as if those very keystrokes represented a lot of heavy lifting 
    486 and hauling on their part. 
    487 </p><div class="source">John Holmgren, 18 Jun 1998</div></div><div class="quotation"><p> 
    488 &gt; In general, the situation sucks. 
    489 </p><p> 
    490 mind-if-i-use-that-as-my-epitaph&lt;wink&gt;?-ly y'rs  - tim 
    491 </p><div class="source">Timothy J. Grant and Tim Peters, 22 Jun 1998</div></div><div class="quotation"><p> 
    492 &gt; Just for the record, on AIX, the following C program: 
    493 </p><p> 
    494 Oh no you don't!  I followed AIX threads for the first year it came out, but 
    495 eventually decided there was no future in investing time in baffling 
    496 discussions that usually ended with "oh, never mind -- turns out it's a bug" 
    497 &lt;0.9 wink&gt;. 
    498 </p><div class="source">Vladimir Marangozov and Tim Peters, 23 Jun 1998</div></div><div class="quotation"><p> 
    499 Python - why settle for snake oil when you can have the <em>whole</em> snake? 
    500 </p><div class="source">Mark Jackson, 26 Jun 1998</div></div><div class="quotation"><p> 
    501 The problem I have with "SETL sets" in Python is the same I have with every 
    502 other language's "killer core" in Python:  SETL is much more than just "a 
    503 set type", Eiffel is much more than just fancy pre- and post-conditions, 
    504 Perl's approach to regexps is much more than just its isolated regexp 
    505 syntax, Scheme is much more than just first-class functions &amp; lexical 
    506 closures, and so on.  Good languages aren't random collections of 
    507 interchangeable features:  they have a philosophy and internal coherence 
    508 that's never profitably confused with their surface features. 
    509 </p><div class="source">Tim Peters, 10 Jul 1998</div></div><div class="quotation"><p> 
    510 "Since I'm so close to the pickle module, I just look at the 
    511 pickles directly, as I'm pretty good at reading pickles." 
    512 </p><p> 
    513 "As you all can imagine, this trick goes over really well at parties." 
    514 </p><div class="source">Jim Fulton and Paul Everitt on the Bobo list, 17 Jul 1998</div></div><div class="quotation"><p> 
    515 My theory is that the churning of old threads and reminiscences  
    516 (Continuations, Icon influences, old-T-shirts, the pre news-group 
    517 mailing list archive, whitespace, closures, .... ) has brought  
    518 some old messages to the surface, via some mechanism similar to 
    519 the way plankton and other nutrients are cycled in the ocean.  
    520 </p><div class="source">Steven D. Majewski, 23 Jul 1998</div></div><div class="quotation"><p> 
    521 In general, Our Guido flees from schemes that merely change <em>which</em> foot 
    522 gets blown off &lt;0.45 caliber wink&gt;.  Schemes that remove the firing pin 
    523 entirely have a much better, um, shot &lt;wink&gt;. 
    524 </p><div class="source">Tim Peters, 25 Jul 1998</div></div><div class="quotation"><p> 
    525  I don't know what "invert the control structure" means -- but if it's 
    526  anything like turning a hamster inside-out, I would <em>expect</em> 
    527 it to be messy &lt;wink&gt;. 
    528 </p><div class="source">Tim Peters, 25 Jul 1998</div></div><div class="quotation"><p> 
    529 This makes it possible to pass complex object hierarchies to a C 
    530 coder who thinks computer science has made no worthwhile advancements 
    531 since the invention of the pointer. 
    532 </p><div class="source">Gordon McMillan, 30 Jul 1998</div></div><div class="quotation"><p>  
    533 The nice thing about list comprehensions is that their 
    534 most useful forms could be implemented directly as light sugar for 
    535 ordinary Python loops, leaving lambdas out of it entirely.  You end up 
    536 with a subtly different beast, but so far it appears to be a beast 
    537 that's compatible with cuddly pythons.   
    538 </p><div class="source">Tim Peters, 6 Aug 1998</div></div><div class="quotation"><p>  
    539 I wonder what Guido thinks he might do in Python2 (assuming, of course, that 
    540 he doesn't hire a bus to run over him before then &lt;wink&gt;). 
    541 </p><div class="source">Tim Peters, 26 Aug 1998</div></div><div class="quotation"><p> After writing CGI scripts the traditional way for a few 
    542 years, it is taking awhile to reshape my thinking. No sledgehammer to 
    543 the head yet, but lots of small sculpting hammers...   
    544 </p><div class="source">John Eikenberry on the Bobo list, 27 Aug 1998</div></div><div class="quotation"><p> 
    545 I believe sometimes numbers 
    546 creep into my programs as strings, so '4'/2 needs to also be 2. 
    547 Other languages do this.  Since this is due in part to user input, 
    548 I guess 'four'/2, 'quattro/2', 'iv/2' etc. need to be 2 as well; 
    549 don't know any other language that does so, but Python could take the 
    550 lead here in software reliability.  Any white space should be ignored, 
    551 including between my ears.  I don't have time to write any useful 
    552 software, so I've decided to devote myself to proposing various 
    553 changes to the Python interpreter. 
    554 </p><div class="source">Donn Cave uses sarcasm with devastating effect, 28 Aug 1998</div></div><div class="quotation"><p> 
    555 then-again-if-history-were-important-god-wouldn't-have-hid- 
    556 it-in-the-past-ly y'rs 
    557 </p><div class="source">Tim Peters, 28 Aug 1998</div></div><div class="quotation"><p><pre> 
     227</em></p><p>Notes:</p><p> 
     228      (1) Many of you many not be aware of the fabulously successful 'Guido 
     229      for President' Campaign. While Guido has no interest in being the 
     230      president, the PSA thought it would be a cool way to collect money. 
     231      The centerpiece of the campaign featured an attractive offer to spend 
     232      the night in Guido's spare bedroom in exchange for a $50,000.00 
     233      contribution. (Mark Lutz stayed TWICE!) 
     234    </p><p> 
     235      (2) Since the proliferation of Monty Python related names (Python, 
     236      Monty, Grail, Eric-the-Half-a-Compiler, et al.) has increased over the 
     237      past year, the PSA felt it would be wise to licencing the Python name 
     238      to forestall any lawsuits. An added benefit is that John Cleese is 
     239      teaching Guido how to walk funny. 
     240    </p><p> 
     241      (3) Pre-Release vacations are spent in the Catskills. Post-Release 
     242      vacations are spent in the Bahamas. Guido is currently working on a 
     243      system which will allow him to make more releases of Python; thus 
     244      octupling the number of vacations he takes in a year. 
     245    </p><div class="source">Matthew Lewis Carroll Smith, 4 Apr 1997</div></div><div class="quotation"><p> 
     246      I mean, just take a look at Joe Strout's brilliant little "python for 
     247      beginners" page. Replace all print-statements with 
     248      <code>sys.stdout.write( string.join(map(str, args)) + "\n")</code> and 
     249      you surely won't get any new beginners. And That Would Be A Very 
     250      Bad Thing. 
     251    </p><div class="source">Fredrik Lundh, 27 Aug 1996</div></div><div class="quotation"><p> 
     252      Ya, ya, ya, except ... if I were built out of KSR chips, I'd be 
     253      running at 25 or 50 MHz, and would be wrong about ALMOST EVERYTHING 
     254      almost ALL THE TIME just due to being a computer! Think about it -- 
     255      when's the last time you spent 20 hours straight debugging your 
     256      son/wife/friend/neighbor/dog/ferret/snake? And they <em>still</em> 
     257      fell over anyway? Except in a direction you've never seen before each 
     258      time you try it? The easiest way to tell you're dealing with a 
     259      computer is when the other side keeps making the same moronic 
     260      misteakes over and misteakes over and misteakes over and misteakes 
     261      over and misteakes over and misteakes CTRL-C again. 
     262    </p><div class="source">Tim Peters, 30 Apr 1997</div></div><div class="quotation"><p> 
     263      BTW, a member of the ANSI C committee once told me that the only thing 
     264      rand is used for in C code is to decide whether to pick up the axe or 
     265      throw the dwarf, and if that's true I guess "the typical libc rand" is 
     266      adequate for all but the most fanatic of gamers &lt;wink&gt;. 
     267    </p><div class="source">Tim Peters, 21 June 1997.</div></div><div class="quotation"><p> 
     268      Things in Python are very clear, but are harder to find than the 
     269      secrets of wizards. Things in Perl are easy to find, but look like 
     270      arcane spells to invoke magic. 
     271    </p><div class="source">Mike Meyer, 6 Nov 1997</div></div><div class="quotation"><p> 
     272      Indeed, as Palin has come to understand, being part of Python means 
     273      never really knowing what may lurk around the corner. 
     274    </p><p> 
     275      "We've never really followed any rules at all with Python," he said. 
     276      "We're a spontaneous lot. It's more fun that way." 
     277    </p><div class="source">Michael Palin, quoted from a Reuters/Variety news item titled "Rare Python Reunion", Jan 15 1998.</div></div><div class="quotation"><p> 
     278      Python is an excellent language for learning object orientation. (It 
     279      also happens to be my favorite OO scripting language.) 
     280    </p><div class="source">Sriram Srinivasan &#8212; <cite>Advanced Perl Programming</cite></div></div><div class="quotation"><p> 
     281      The point is that newbies almost always read more into the semantics 
     282      of release than are specified, so it's worthwile to be explicit about 
     283      how little is being said &lt;wink&gt;. 
     284    </p><div class="source">Tim Peters, 12 Feb 1998</div></div><div class="quotation"><p> 
     285      Ah! "Never mind" to a bunch of what I said before (this editor can't 
     286      move backwards &lt;wink&gt;). 
     287    </p><div class="source">Tim Peters, 12 Feb 1998</div></div><div class="quotation"><p> 
     288      After 1.5 years of Python, I'm still discovering richness (and still 
     289      unable to understand what the hell Jim Fulton is talking about). 
     290    </p><div class="source">Gordon McMillan, 13 Mar 1998</div></div><div class="quotation"><p> 
     291      Tabs are good, spaces are bad and mixing the two just means that your 
     292      motives are confused and that you don't use enough functions. 
     293    </p><div class="source">John J. Lehmann, 19 Mar 1998</div></div><div class="quotation"><p> 
     294      ... but whenever optimization comes up, people get sucked into debates 
     295      about exciting but elaborate schemes not a one of which ever gets 
     296      implemented; better to get an easy 2% today than dream about 100% 
     297      forever. 
     298    </p><div class="source">Tim Peters, 22 Mar 1998</div></div><div class="quotation"><p> 
     299      I've been playing spoilsport in an attempt to get tabnanny.py working, 
     300      but now that there's absolutely no reason to continue with this, the 
     301      amount of my life I'm willing to devote to it is unbounded &lt;0.9 
     302      wink&gt;. 
     303    </p><div class="source">Tim Peters, 30 Mar 1998</div></div><div class="quotation"><p> 
     304      Python is a little weak in forcing encapsulation. It isn't made for 
     305      bondage and domination environments. 
     306    </p><div class="source">Paul Prescod, 30 Mar 1998</div></div><div class="quotation"><p> 
     307      One of my first big programming assignments as a student of computer 
     308      science was a source formatter for Pascal. The assignment was designed 
     309      to show us the real-life difficulties of group programming projects. 
     310      It succeeded perhaps too well. For a long time, I was convinced that 
     311      source code formatters were a total waste of time, and decided to 
     312      write beautiful code that no automatic formatter could improve upon. 
     313      In fact, I would intentionally write code that formatters could only 
     314      make worse. 
     315    </p><div class="source">Guido van Rossum, 31 Mar 1998</div></div><div class="quotation"><p> 
     316      You need to build a system that is futureproof; it's no good just 
     317      making a modular system. You need to realize that your system is just 
     318      going to be a module in some bigger system to come, and so you have to 
     319      be part of something else, and it's a bit of a way of life. 
     320    </p><div class="source">Tim Berners-Lee, at the WWW7 conference</div></div><div class="quotation"><p> 
     321      From gotos to the evolution of life in 10 posts; that's 
     322      comp.lang.python for you! 
     323    </p><div class="source">A.M. Kuchling, 4 Apr 1998</div></div><div class="quotation"><p> 
     324      This is <em>Python</em>! If we didn't care what code looked like, most 
     325      of us would probably be hacking in some version of Lisp -- which 
     326      already covered most of Python's abstract <em>semantics</em> way back 
     327      when Guido was just a wee snakelet frolicking in the lush Amsterdam 
     328      jungle. 
     329    </p><div class="source">Tim Peters, 24 Apr 1998</div></div><div class="quotation"><p> 
     330      The infinities aren't contagious except in that they often appear that 
     331      way due to their large size. 
     332    </p><div class="source">Tim Peters on the IEEE 754 floating point standard, 27 Apr 1998</div></div><div class="quotation"><p> 
     333      The "of course, while <em>I</em> have no problem with this at all, 
     334      it's surely too much for a lesser being" flavor of argument always 
     335      rings hollow to me. Are you personally confused by the meanings for 
     336      "+" that exist today? <em>Objecting</em> to the variations is a 
     337      different story; I'm wondering whether you personally stumble over 
     338      them in practice. I don't; Steven doesn't; I doubt that you do either. 
     339      I'm betting that almost <em>nobody</em> ever does, in which case those 
     340      "less nimble colleagues and students" must be supernaturally feeble to 
     341      merit such concern. 
     342    </p><div class="source">Tim Peters, 29 Apr 1998</div></div><div class="quotation"><p> 
     343      "Ideally, IMO, two messages with the same name should have the same 
     344      meaning but possibly different implementations. Of course, "meaning" 
     345      is somewhat relative, but the notion that two messages with the same 
     346      name should have the same 'meaning' is very useful." 
     347    </p><p> 
     348      "Like clothes.launder() vs money.launder(), or shape.draw() vs 
     349      blood.draw(), or matrix.norm() vs hi.norm() &lt;wink&gt;? I'm afraid 
     350      English thrives on puns, and the same word routinely means radically 
     351      different things across application areas. Therefore, to insist that a 
     352      word have "one true meaning" in a programming language is insisting 
     353      that the language cater to one true application domain." 
     354    </p><div class="source">Jim Fulton and Tim Peters, in a discussion of rich comparisons, 29 Apr 1998</div></div><div class="quotation"><p> 
     355      Indeed, when I design <em>my</em> killer language, the identifiers 
     356      "foo" and "bar" will be reserved words, never used, and not even 
     357      mentioned in the reference manual. Any program using one will simply 
     358      dump core without comment. Multitudes will rejoice. 
     359    </p><div class="source">Tim Peters, 29 Apr 1998</div></div><div class="quotation"><p> 
     360      Too little freedom makes life confusingly clumsy; too much, clumsily 
     361      confusing. Luckily, the tension between freedom and restraint 
     362      eventually gets severed by Guido's Razor. 
     363    </p><div class="source">Tim Peters, 29 Apr 1998</div></div><div class="quotation"><p> 
     364      In other words, I'm willing to see dark corners added to the language, 
     365      as long as I don't have to go into them myself. 
     366    </p><div class="source">A.M. Kuchling, 29 Apr 1998</div></div><div class="quotation"><p> 
     367      This argument is specious. What on earth would it mean to compare an 
     368      object you created with another object from someone else's code unless 
     369      you knew exactly what each object's semantics were? Do you really want 
     370      to ask if my abstract syntax tree is less then your HTTP connection 
     371      object? 
     372    </p><div class="source">Jeremy Hylton, in a discussion of rich comparisons, 29 Apr 1998</div></div><div class="quotation"><p> 
     373      Two things I learned for sure during a particularly intense acid trip 
     374      in my own lost youth: (1) everything is a trivial special case of 
     375      something else; and, (2) death is a bunch of blue spheres. 
     376    </p><div class="source">Tim Peters, 1 May 1998</div></div><div class="quotation"><p> 
     377      Well, they will be: "&lt;" will mean what everyone thinks it means 
     378      when applied to builtin types, and will mean whatever __lt__ makes it 
     379      mean otherwise, except when __lt__ isn't defined but __cmp__ is in 
     380      which case it will mean whatever __cmp__ makes it mean, except when 
     381      neither __lt__ or __cmp__ are defined in which case it's still 
     382      unsettled. I think. Or isn't that what you meant by "clearly defined"? 
     383    </p><div class="source">Tim Peters, 6 May 1998</div></div><div class="quotation"><p> 
     384      You write a great program, regardless of language, by redoing it over 
     385      &amp; over &amp; over &amp; over, until your fingers bleed and your 
     386      soul is drained. But if you tell newbies <em>that</em>, they might 
     387      decide to go off and do something sensible, like bomb 
     388      defusing&lt;wink&gt;. 
     389    </p><div class="source">Tim Peters, 5 Jun 1998</div></div><div class="quotation"><p> 
     390      OO styles help in part because they make it easier to redo large parts 
     391      over, or, when the moon is shining just right, to steal large parts 
     392      from someone else. Python helps in many additional ways regardless of 
     393      style, not least of which in that it hurts less to throw away 50 lines 
     394      of code than 5,000 &lt;0.5 wink&gt;. The pains, and joys, of 
     395      programming are <em>qualitatively</em> the same under Python. There's 
     396      less pain less often, and joy comes quicker. And that's worth a whole 
     397      lot. 
     398    </p><div class="source">Tim Peters, 5 Jun 1998</div></div><div class="quotation"><p> 
     399      I've had a DBA tell me that what I wanted to do "could not" be done 
     400      because his silly $5000 tool couldn't model it. Proving him wrong 
     401      simply increased his conviction that what I was doing was immoral and 
     402      perverse. Which, come to think of it, it probably was. Hee hee. 
     403    </p><div class="source">Gordon McMillan, 8 Jun 1998</div></div><div class="quotation"><p> 
     404      The majority of programmers aren't really looking for flexibility. 
     405      Most languages that enjoy huge success seem to do so not because 
     406      they're flexible, but because they do one particular thing 
     407      <em>extremely</em> well. Like Fortran for fast number-crunching in its 
     408      day, or Perl for regexps, or C++ for compatibility with C, or C for 
     409      ... well, C's the exception that proves the rule. 
     410    </p><div class="source">Tim Peters, 11 Jun 1998</div></div><div class="quotation"><p> 
     411      It has also been referred to as the "Don Beaudry <em>hack</em>," but 
     412      that's a misnomer. There's nothing hackish about it -- in fact, it is 
     413      rather elegant and deep, even though there's something dark to it. 
     414    </p><div class="source">Guido van Rossum, <cite>Metaclass Programming in Python 1.5</cite></div></div><div class="quotation"><p> 
     415      Just point your web browser at http://www.python.org/search/ and look 
     416      for "program", "doesn't", "work", or "my". Whenever you find someone 
     417      else whose program didn't work, don't do what they did. Repeat as 
     418      needed. 
     419    </p><div class="source">Tim Peters, on python-help, 16 Jun 1998</div></div><div class="quotation"><p> 
     420      Now some people see unchecked raw power and flee from perceived 
     421      danger, while others rush toward perceived opportunity. That's up to 
     422      them. But I think it's enormously <em>clarifying</em> in either case 
     423      to see just <em>how</em> raw this particular gimmick can get. 
     424    </p><div class="source">Tim Peters, 16 Jun 1998</div></div><div class="quotation"><p> 
     425      Every language has its partisans, usually among folks deeply immersed 
     426      in their particular theology, triumphant in having divined the inner 
     427      meaning of some esoteric operations, like a medieval Jesuit hot on the 
     428      trail of the final ontological proof, whose conciseness in solving a 
     429      single problem makes them almost swoon with ecstacy at the expected 
     430      savings of many keystrokes, as if those very keystrokes represented a 
     431      lot of heavy lifting and hauling on their part. 
     432    </p><div class="note"><p>Jesuits weren't medieval, the order having been founded in 1540, 
     433      but it's still a good quotation.</p></div><div class="source">John Holmgren, 18 Jun 1998</div></div><div class="quotation"><p> 
     434      &gt; In general, the situation sucks. 
     435    </p><p> 
     436      mind-if-i-use-that-as-my-epitaph&lt;wink&gt;?-ly y'rs - tim 
     437    </p><div class="source">Timothy J. Grant and Tim Peters, 22 Jun 1998</div></div><div class="quotation"><p> 
     438      &gt; Just for the record, on AIX, the following C program: 
     439    </p><p> 
     440      Oh no you don't! I followed AIX threads for the first year it came 
     441      out, but eventually decided there was no future in investing time in 
     442      baffling discussions that usually ended with "oh, never mind -- turns 
     443      out it's a bug" &lt;0.9 wink&gt;. 
     444    </p><div class="source">Vladimir Marangozov and Tim Peters, 23 Jun 1998</div></div><div class="quotation"><p> 
     445      Python - why settle for snake oil when you can have the <em>whole</em> 
     446      snake? 
     447    </p><div class="source">Mark Jackson, 26 Jun 1998</div></div><div class="quotation"><p> 
     448      The problem I have with "SETL sets" in Python is the same I have with 
     449      every other language's "killer core" in Python: SETL is much more than 
     450      just "a set type", Eiffel is much more than just fancy pre- and post- 
     451      conditions, Perl's approach to regexps is much more than just its 
     452      isolated regexp syntax, Scheme is much more than just first-class 
     453      functions &amp; lexical closures, and so on. Good languages aren't 
     454      random collections of interchangeable features: they have a philosophy 
     455      and internal coherence that's never profitably confused with their 
     456      surface features. 
     457    </p><div class="source">Tim Peters, 10 Jul 1998</div></div><div class="quotation"><p> 
     458      "Since I'm so close to the pickle module, I just look at the pickles 
     459      directly, as I'm pretty good at reading pickles." 
     460    </p><p> 
     461      "As you all can imagine, this trick goes over really well at parties." 
     462    </p><div class="source">Jim Fulton and Paul Everitt on the Bobo list, 17 Jul 1998</div></div><div class="quotation"><p> 
     463      My theory is that the churning of old threads and reminiscences 
     464      (Continuations, Icon influences, old-T-shirts, the pre news-group 
     465      mailing list archive, whitespace, closures, .... ) has brought some 
     466      old messages to the surface, via some mechanism similar to the way 
     467      plankton and other nutrients are cycled in the ocean. 
     468    </p><div class="source">Steven D. Majewski, 23 Jul 1998</div></div><div class="quotation"><p> 
     469      In general, Our Guido flees from schemes that merely change 
     470      <em>which</em> foot gets blown off &lt;0.45 caliber wink&gt;. Schemes 
     471      that remove the firing pin entirely have a much better, um, shot 
     472      &lt;wink&gt;. 
     473    </p><div class="source">Tim Peters, 25 Jul 1998</div></div><div class="quotation"><p> 
     474      I don't know what "invert the control structure" means -- but if it's 
     475      anything like turning a hamster inside-out, I would <em>expect</em> it 
     476      to be messy &lt;wink&gt;. 
     477    </p><div class="source">Tim Peters, 25 Jul 1998</div></div><div class="quotation"><p> 
     478      This makes it possible to pass complex object hierarchies to a C coder 
     479      who thinks computer science has made no worthwhile advancements since 
     480      the invention of the pointer. 
     481    </p><div class="source">Gordon McMillan, 30 Jul 1998</div></div><div class="quotation"><p> 
     482      The nice thing about list comprehensions is that their most useful 
     483      forms could be implemented directly as light sugar for ordinary Python 
     484      loops, leaving lambdas out of it entirely. You end up with a subtly 
     485      different beast, but so far it appears to be a beast that's compatible 
     486      with cuddly pythons. 
     487    </p><div class="source">Tim Peters, 6 Aug 1998</div></div><div class="quotation"><p> 
     488      I wonder what Guido thinks he might do in Python2 (assuming, of 
     489      course, that he doesn't hire a bus to run over him before then 
     490      &lt;wink&gt;). 
     491    </p><div class="source">Tim Peters, 26 Aug 1998</div></div><div class="quotation"><p> 
     492      After writing CGI scripts the traditional way for a few years, it is 
     493      taking awhile to reshape my thinking. No sledgehammer to the head yet, 
     494      but lots of small sculpting hammers... 
     495    </p><div class="source">John Eikenberry on the Bobo list, 27 Aug 1998</div></div><div class="quotation"><p> 
     496      I believe sometimes numbers creep into my programs as strings, so 
     497      '4'/2 needs to also be 2. Other languages do this. Since this is due 
     498      in part to user input, I guess 'four'/2, 'quattro/2', 'iv/2' etc. need 
     499      to be 2 as well; don't know any other language that does so, but 
     500      Python could take the lead here in software reliability. Any white 
     501      space should be ignored, including between my ears. I don't have time 
     502      to write any useful software, so I've decided to devote myself to 
     503      proposing various changes to the Python interpreter. 
     504    </p><div class="source">Donn Cave uses sarcasm with devastating effect, 28 Aug 1998</div></div><div class="quotation"><p> 
     505      then-again-if-history-were-important-god-wouldn't-have-hid- it-in-the- 
     506      past-ly y'rs 
     507    </p><div class="source">Tim Peters, 28 Aug 1998</div></div><div class="quotation"><p><em> 
    558508&gt; &gt;( float ( / 1 3 )) 
    559509&gt; 0.33333333333333331 
    560 </pre> 
    561 Now <em>that</em> one is impressive:  it's the best possible 17-digit decimal 
    562 representation of the best possible 53-bit fp binary representation of 1/3, 
    563 and 17 is the minimum number of decimal digits you need in general so that a 
    564 53-bit binary fp value can be exactly reconstructed by a best-possible atof. 
    565 </p><div class="source">Tim Peters, 2 Sep 1998</div></div><div class="quotation"><p> 
    566 This is not a technical issue so much as a human issue; we  
    567 are limited and so is our time.  (Is this a bug or a feature of time? 
    568 Careful; trick question!) 
    569 </p><div class="source">Fred Drake on the Documentation SIG, 9 Sep 1998</div></div><div class="quotation"><p> 
    570 There are also some surprises [in the late Miocene Australia] 
    571 some small mammals totally unknown and not obviously related 
    572 to any known marsupial (appropriately awarded names such as 
    573 <em>Thingodonta</em> and <em>Weirdodonta</em>) and a giant 
    574 python immortalized as <em>Montypythonoides</em>. 
    575 </p><div class="source"><cite>The Book of Life</cite>, found by Aaron Watters 
    576 </div></div><div class="quotation"><p> 
    577 Can the denizens of this group enlighten me about what the 
    578 advantages of Python are, versus Perl ? 
    579 </p><p> 
    580 "python" is more likely to pass unharmed through 
    581 your spelling checker than "perl". 
    582  
    583 </p><div class="source">An unknown poster and Fredrik Lundh, 11 Sep 1998 
    584 </div></div><div class="quotation"><p> 
    585 I have to say that the Dragon book is good when you consider 
    586 the alternatives, but compared with the Platonic ideal it leaves 
    587 much to be desired.  In particular the algorithm descriptions 
    588 are described at such a low level  it's difficult to understand 
    589 how they work -- and at a higher conceptual level 
    590 involving graph theoretical transforms of automata (which I got 
    591 thanks to Jean Gallier by word of mouth and effort of chalk) 
    592 is nearly invisible for the trees.  
    593 </p><div class="source">Aaron Watters, 17 Sep 1998</div></div><div class="quotation"><p> 
    594 ... and at a higher conceptual level involving graph theoretical 
    595 transforms of automata (which I got thanks to Jean Gallier by word of 
    596 mouth and effort of chalk) ... 
    597 </p><div class="source">Aaron Watters, 17 Sep 1998</div></div><div class="quotation"><p> 
    598 Every clarity vanished? :-) 
    599 </p><div class="source">Christian Tismer after answering a poster's question, 17 Sep 1998</div></div><div class="quotation"><p> 
    600 Take the "public" modifier off 
    601    Joseph's interface, or leave it there but nest the interface inside 
    602    class "closure", or even move the interface to its own printer.java 
    603    file, and it compiles and runs without incident. Most of the big boys 
    604    I hang with aren't paralyzed by self-explanatory compiler msgs &lt;wink&gt;. 
    605 </p><p> 
    606    not-to-mention-the-girls-ly y'rs  
    607 </p><div class="source">Tim Peters, 24 Sep 1998</div></div><div class="quotation"><p> 
    608    &lt;shakes head ruefully&gt; You kids today, with your piercings and your 
    609    big pants and your purple-and-green hair and your X-Files and your 
    610    Paula Cole and your espresso coffee and your Seattle grunge rock and 
    611    your virtual machines and your acid-washed jeans and your Ernest 
    612    Hemingway and your object-oriented languages and your fax machines and 
    613    your hula hoops and your zoot suits and your strange slang phrases 
    614    like "That's so bogus" or "What a shocking bad hat" and those atonal 
    615    composers like Arnold Schoenberg and Milton Babbit that you kids seem 
    616    to like these days and your cubist painters and your Ally McBeal and 
    617    that guy in Titanic and your TCP/IP protocol and your heads filled 
    618    with all that Cartesian dualism these days and ... well, I just don't 
    619    get you kids. &lt;shakes head ruefully again&gt; 
    620 </p><div class="source">A.M. Kuchling, 1 Oct 1998</div></div><div class="quotation"><p> 
    621 E.g., at the REBOL prompt I typed 
    622 <pre> 
     510</em> 
     511       Now <em>that</em> one is impressive: it's the best possible 17-digit 
     512      decimal representation of the best possible 53-bit fp binary 
     513      representation of 1/3, and 17 is the minimum number of decimal digits 
     514      you need in general so that a 53-bit binary fp value can be exactly 
     515      reconstructed by a best-possible atof. 
     516    </p><div class="source">Tim Peters, 2 Sep 1998</div></div><div class="quotation"><p> 
     517      This is not a technical issue so much as a human issue; we are limited 
     518      and so is our time. (Is this a bug or a feature of time? Careful; 
     519      trick question!) 
     520    </p><div class="source">Fred Drake on the Documentation SIG, 9 Sep 1998</div></div><div class="quotation"><p> 
     521      There are also some surprises [in the late Miocene Australia] some 
     522      small mammals totally unknown and not obviously related to any known 
     523      marsupial (appropriately awarded names such as 
     524      <em>Thingodonta</em> and <em>Weirdodonta</em>) and 
     525      a giant python immortalized as <em>Montypythonoides</em>. 
     526    </p><div class="source"><cite>The Book of Life</cite>, found by Aaron Watters</div></div><div class="quotation"><p> 
     527      Can the denizens of this group enlighten me about what the advantages 
     528      of Python are, versus Perl ? 
     529    </p><p> 
     530      "python" is more likely to pass unharmed through your spelling checker 
     531      than "perl". 
     532    </p><div class="source">An unknown poster and Fredrik Lundh, 11 Sep 1998</div></div><div class="quotation"><p> 
     533      I have to say that the Dragon book is good when you consider the 
     534      alternatives, but compared with the Platonic ideal it leaves much to 
     535      be desired. In particular the algorithm descriptions are described at 
     536      such a low level it's difficult to understand how they work -- and at 
     537      a higher conceptual level involving graph theoretical transforms of 
     538      automata (which I got thanks to Jean Gallier by word of mouth and 
     539      effort of chalk) is nearly invisible for the trees. 
     540    </p><div class="source">Aaron Watters, 17 Sep 1998</div></div><div class="quotation"><p> 
     541      ... and at a higher conceptual level involving graph theoretical 
     542      transforms of automata (which I got thanks to Jean Gallier by word of 
     543      mouth and effort of chalk) ... 
     544    </p><div class="source">Aaron Watters, 17 Sep 1998</div></div><div class="quotation"><p> 
     545      Every clarity vanished? :-) 
     546    </p><div class="source">Christian Tismer after answering a poster's question, 17 Sep 1998</div></div><div class="quotation"><p> 
     547      Take the "public" modifier off Joseph's interface, or leave it there 
     548      but nest the interface inside class "closure", or even move the 
     549      interface to its own printer.java file, and it compiles and runs 
     550      without incident. Most of the big boys I hang with aren't paralyzed by 
     551      self-explanatory compiler msgs &lt;wink&gt;. 
     552    </p><p> 
     553      not-to-mention-the-girls-ly y'rs 
     554    </p><div class="source">Tim Peters, 24 Sep 1998</div></div><div class="quotation"><p> 
     555      &lt;shakes head ruefully&gt; You kids today, with your piercings and 
     556      your big pants and your purple-and-green hair and your X-Files and 
     557      your Paula Cole and your espresso coffee and your Seattle grunge rock 
     558      and your virtual machines and your acid-washed jeans and your Ernest 
     559      Hemingway and your object-oriented languages and your fax machines and 
     560      your hula hoops and your zoot suits and your strange slang phrases 
     561      like "That's so bogus" or "What a shocking bad hat" and those atonal 
     562      composers like Arnold Schoenberg and Milton Babbit that you kids seem 
     563      to like these days and your cubist painters and your Ally McBeal and 
     564      that guy in Titanic and your TCP/IP protocol and your heads filled 
     565      with all that Cartesian dualism these days and ... well, I just don't 
     566      get you kids. &lt;shakes head ruefully again&gt; 
     567    </p><div class="source">A.M. Kuchling, 1 Oct 1998</div></div><div class="quotation"><p> 
     568      E.g., at the REBOL prompt I typed  
     569<em> 
    623570     send tim@email.msn.com "Did this work?" 
    624 </pre> 
    625    and in response it dialed my modem, connected to my ISP, and then 
    626    REBOL crashed after provoking an invalid page fault in kernel32.dll. 
    627    Then my connection broke, and the modem dialed and connected again. 
    628    Then it just sat there until it timed out. 
    629 </p><p> 
    630    now-<em>that's</em>-user-friendly&lt;wink&gt;-ly y'rs 
    631 </p><div class="source">Tim Peters, 24 Sep 1998</div></div><div class="quotation"><p> 
    632 I've reinvented the idea of variables and types as in a programming 
    633 language, something I do on every project.  
    634 </p><div class="source">Greg Ward, September 1998</div></div><div class="quotation"><p> 
    635 "The event/tree dualism reminds me why I always wanted to be able to do pattern matching on trees." 
    636 </p><p> 
    637 "'Honey, what is this guy doing up there?' 
    638 'Oh, I suppose it's Christian, trying to match some patterns.' " 
    639 </p><div class="source">Christian Tismer and Dirk Heise, 12 Oct 1998</div></div><div class="quotation"><p> 
    640 Perl is worse than Python because people wanted it worse. 
    641 </p><div class="source">Larry Wall, 14 Oct 1998</div><div class="note"><p>In a post to the perl-users mailing list (archived version  
    642 at http://faqchest.dynhost.com/prgm/perlu-l/perl-98/perl-9810/perl-981002/perl98101602_19460.html)</p></div></div><div class="quotation"><p> 
    643 "What's the opinion of the (wink) Python luminaries?" 
    644 </p><p> 
    645 "The last time I saw a position paper from them, they came out strongly 
    646 against the suggestion that old people be put on ice floes and left to drift 
    647 out to sea to die. 
    648 </p><p> 
    649 they-never-like-<em>any</em>-of-my-ideas-ly y'rs" 
    650 </p><div class="source">Stuart Hungerford and Tim Peters, 14 Oct 1998</div></div><div class="quotation"><p> 
    651 Rather than borrowing from our beauty-impaired ugly sibling, why not look 
    652 at Java, the beautiful, conceited sister? We could have something more 
    653 like JavaDoc. 
    654 </p><div class="source">Paul Prescod, 18 Oct 1998</div></div><div class="quotation"><p> 
    655 It won't work. This is far too concrete a problem to interest Tim. I  
    656 see 3 possible approaches: 
    657 </p><p> 
    658 1) Claim that Python can't do a &lt;some random combination of 'L', 'R',  
    659 'A'&gt; grammar. This will yield an irate response from Aaron which will  
    660 draw Tim into it and you'll get a solution in 3 months after lots of  
    661 entertaining posts. 
    662 </p><p> 
    663 2) Turn it into an optimization problem and get a solution from  
    664 Marc-Andre using mxTextTools next week. 
    665 </p><p> 
    666 3) Turn it into an obfuscation problem and get competing solutions  
    667 from Greg Stein and Fredrik tomorrow morning. 
    668 </p><p> 
    669 if-anybody's-found-don-beaudry's-sucker-button-let-me-know ly 'yrs 
    670 </p><div class="source">Gordon McMillan, 16 Oct 1998</div></div><div class="quotation"><p> 
    671 To my battle-scarred mind, 
    672 documentation is never more than a hint. Read it once with disbelief 
    673 suspended, and then again with full throttle skepticism. 
    674 </p><div class="source">Gordon McMillan, 19 Oct 1998</div></div><div class="quotation"><p> 
    675 Then let the record show that I hereby formally lobby for such an 
    676 optimization!  I'd lay out some arguments, except that it's already 
    677 implemented &lt;wink&gt;. 
    678 </p><p> 
    679 well-<em>that</em>-one-went-easy-ly y'rs  - tim 
    680 </p><div class="source">Tim Peters, 20 Oct 1998</div></div><div class="quotation"><p> 
    681 We did requirements and task analysis, iterative design, 
    682     and user testing. You'd almost think programming languages 
    683     were an interface between people and computers. 
    684 </p><div class="source">Steven Pemberton, one of the designers of Python's direct ancestor ABC 
    685 </div></div><div class="quotation"><p> 
    686  Not at all, although I agree here too &lt;wink&gt;.  It's like saying a fork is 
    687  broken just because it's not that handy for jacking up a car.  That is, 
    688  Guido implemented the syntax to support default arguments, and it works 
    689  great for that purpose!  Using it to fake closures is a hack, and the "hey, 
    690  this is cool!" / "hey, this really sucks!" mixed reaction thus follows, much 
    691  as pain follows a car falling on your skull.  Stick to stabbing peas, or 
    692  even teensy pea-sized closures, and a fork serves very well. 
    693 </p><div class="source">Tim Peters, 31 Oct 1998</div></div><div class="quotation"><p> 
    694 My customers consider it a marketable skill that I 
    695  a) think for myself 
    696  b) share my thoughts with them. 
    697 </p><div class="source">Paul Prescod, 2 Nov 1998</div></div><div class="quotation"><p> 
    698 Anyone else know what a Stanley #45 plane is? ... it's not 
    699 what you use if you aren't looking to produce intricate moldings.  If 
    700 you want to make a tabletop flat, and bring out the natural beauty of 
    701 the wood, you use a big, long and flat bench plane.  The beauty is in 
    702 the wood, not the tool, the tool is just the right one to let you see 
    703 that and to let others see it too. 
    704  
    705 </p><p> 
    706  
    707 And that's a very impressive kind of beauty in itself, isn't it?  The 
    708 kind of beauty some say is homely--an uninteresting face, boring angles, 
    709 few if any parts, no curly flowers.  It's just a tool, and not beautiful 
    710 at all.  But look, that tool makes beauty.  It makes it *easy* to make 
    711 beautiful things, to see deep into the the grain of whatever material 
    712 you're working. 
    713  
    714 </p><p> 
    715  
    716 Maybe it gets us a little closer to art. 
    717 </p><div class="source">Ivan Van Laningham, 3 Nov 1998</div></div><div class="quotation"><p> 
    718 You might think "That's illegal."  That's not illegal; that's <em>cool</em>. 
    719 </p><div class="source">Paul Dubois at IPC7, on recursive template definitions in C++</div></div><div class="quotation"><p> 
    720 This supports reflection, which is the 90s way of writing self-modifying code. 
    721 </p><div class="source">John Aycock at IPC7, during his parsing talk</div></div><div class="quotation"><p> 
    722 It turns out that docstrings are the only way to associate information with functions, which is what led you to abuse them in such a fascinating and stomach-churning way. 
    723 </p><div class="source">Jim Hugunin at IPC7, on embedding BNF parsing rules in docstrings</div></div><div class="quotation"><p> 
    724 "The Mayans looked on the integers as gods." 
    725 </p><p> 
    726 "What did the Mayans think of integer division?" 
    727 </p><div class="source">Ivan Van Laningham and an unknown audience member at IPC7</div></div><div class="quotation"><p> 
    728 Y2K problem?  The Mayans didn't have a <em>millennium</em>-2K problem! 
    729 </p><div class="source">Eric S. Raymond at IPC7, on learning that the Mayan calendar takes 28 octillion years to wrap around</div></div><div class="quotation"><p> 
    730 "Generic identifier" -- think about it too much and your head explodes.   
    731 </p><div class="source">Sean McGrath at IPC7, discussing SGML terminology</div></div><div class="quotation"><p> 
    732 Nothing I've ever written has reached 1.0. 
    733 </p><div class="source">Greg Ward at IPC7, on using small version numbers</div></div><div class="quotation"><p> 
    734 Well, that's a little thing -- the specification. 
    735 </p><div class="source">Guido van Rossum at IPC7</div></div><div class="quotation"><p> 
    736 "We've got a name (Module Distribution Utilities) that gives us a good 3-letter acronym to group things under: MDU." 
    737 </p><p> 
    738 "&lt;thpftbt&gt;" 
    739 </p><div class="source">Greg Ward and Jeremy Hylton at IPC7</div></div><div class="quotation"><p> 
    740 Mailman is designed to be extensible <em>and</em> comprehensible.  Without 
    741  comprehensibility, enhancement is self-limiting -- functionality may be 
    742  improved, but further enhancement gets increasingly difficult. 
    743 </p><div class="source">Ken Manheimer at IPC7</div></div><div class="quotation"><p> 
    744 "Generating Usable Installations" -- OK, you've got the GUI SIG. 
    745 </p><div class="source">Barry Warsaw at IPC7, on the choice of name for a SIG to discuss extension building</div></div><div class="quotation"><p> 
    746 Performance is a lot like drugs -- it doesn't do much for you, but it occupies a lot of your time. 
    747 </p><div class="source">Jeremy Hylton at IPC7, on the need for a Performance SIG</div></div><div class="quotation"><p> 
    748 I made some slides, but they suck, so I won't bother with them. 
    749 </p><div class="source">Andrew Kuchling at IPC7</div></div><div class="quotation"><p> 
    750 "What's Python?" 
    751 </p><p> 
    752 "It's a computer programming language." 
    753 </p><p> 
    754 "You mean, like DOS?" 
    755 </p><div class="source">Some guy in a bar and Eric S. Raymond (who was wearing 
    756 a conference T-shirt) at IPC7</div></div><div class="quotation"><p> 
    757 Excellent plan!  Devious minds are attracted to Python, like mimes to 
    758 unappreciative crowds. 
    759 </p><div class="source">Tim Peters, 13 Nov 1998</div></div><div class="quotation"><p> 
    760 Ha!  If we had only started numbering dimensions with one, we'd already be 
    761 living in a 4-D world, and Mental Organons would be *all over the place*! 
    762 </p><div class="source">Tim Peters, 13 Nov 1998</div></div><div class="quotation"><p> 
    763 Well, during those periods when I was me, there was most assuredly  
    764 only one of me. But during some of the more intense discussions, I  
    765 was not me, and while all the rest of the attendees were also not me,  
    766 it is difficult to say whether they were the same not me that I was  
    767 or wasn't at the time. 
    768 </p><div class="source">Gordon McMillan, 18 Nov 1998</div></div><div class="quotation"><p> 
    769 If Python strays into trying to be something completely new it will fail, 
    770 like Scheme, K and Smalltalk. There are both technical and sociological 
    771 reasons for this. If you stray too far technically, you make mistakes: 
    772 either you make modelling mistakes because you don't have an underlying 
    773 logical model (i.e. C++ inheritance) or you make interface mistakes 
    774 because you don't understand how your new paradigm will be used by real 
    775 programmers. 
    776 </p><p> 
    777 Let research languages innovate. Python integrates. 
    778 </p><div class="source">Paul Prescod, 21 Nov 1998</div></div><div class="quotation"><p> 
    779 "I got a little mad at the way python polynomials were written -- 
    780 the code looked like its author knew neither polynomials nor 
    781 Python." 
    782 </p><p> 
    783 "That would be me :-)." 
    784 </p><div class="source">Moshe Zadka and Guido van Rossum, 22 Nov 1998</div></div><div class="quotation"><p> 
    785 I would 
    786 recommend not wasting any more time on the naming issue.  (This is a 
    787 recurring theme in my posts -- remember, I spent about 0.3 
    788 microseconds thinking about whether "Python" would be a good name for 
    789 a programming language, and I've never regretted it.) 
    790 </p><div class="source">Guido van Rossum, 25 Nov 1998</div></div><div class="quotation"><p> 
    791 "My course members are almost all coming from Math, 
    792 and the first question was 'why isn't it complete?' 
    793 Just a matter of elegance." 
    794 </p><p> 
    795 "Oh, don't worry.  My background is math.  This is actually 
    796 good for them -- like discovering that Santa Claus doesn't 
    797 really exist." 
    798 </p><div class="source">Christian Tismer and Guido van Rossum, 2 Dec 1998</div></div><div class="quotation"><p> 
    799 One of my cheap entertainments is axiomatizing characterizations 
    800 of [Tim Peters].  I think I've come up with a minimal one:  the only 
    801 c.l.p poster more concerned with working non-legal code than 
    802 non-working legal code.  
    803 </p><div class="source">Cameron Laird, 2 Dec 1998</div></div><div class="quotation"><p> 
    804 PYTHON = (P)rogrammers (Y)earning (T)o (H)omestead (O)ur (N)oosphere. 
    805 </p><div class="source">Seen in Sean McGrath's .sig, 3 Dec 1998</div></div><div class="quotation"><p> 
    806 I never realized it before, but having looked that over 
    807 I'm certain I'd rather have my eyes burned out by zombies with flaming dung 
    808 sticks than work on a conscientious Unicode regex engine. 
    809 </p><div class="source">Tim Peters, 3 Dec 1998</div></div><div class="quotation"><p> 
    810 "Python? Oh, I've heard of that. 
    811 I have a friend at the NSA who uses it." 
    812 </p><div class="source">Overhead at a meeting, quoted in c.l.p on 3 Dec 1998</div></div><div class="quotation"><p> 
    813 I think Gordon has priority on this one, since it's clearly a consequence of 
    814 his observation that tim_one despises and deplores anything useful.  Which 
    815 has greater explanatory power, since I've often noted that tim_one complains 
    816 about legal working code too!  Anything that works may be useful, right? 
    817 Brrrrr.  Must destroy. 
    818 </p><div class="source">Tim Peters in the third person, 3 Dec 1998</div></div><div class="quotation"><p> 
    819 "Eric has a way of explaining what we're doing and why we're doing 
    820 it," says Guido van Rossum, the inventor of a programming language 
    821 called Python and a prominent figure among open-source proponents. Van 
    822 Rossum, a gawky Dutchman who now lives in Reston, invited Raymond to 
    823 address a group of Python software developers in Houston... 
    824 </p><div class="source">From the <cite>Washington Post</cite>, 3 Dec 1998</div></div><div class="quotation"><p> 
    825 Subclassing with a mixin doesn't let you, for example, interfere with 
    826 how an existing attribute is accessed. The general idea here is to 
    827 kidnap the object, skin it, then waltz around in public impersonating 
    828 it. All without letting the programmer / user know he's been 
    829 bamboozled. 
    830 </p><div class="source">Gordon McMillan, 3 Dec 1998</div></div><div class="quotation"><p> 
    831 Hey, while they're all eating dinner, let's sneak in a keyword! 
    832 </p><p> 
    833 emancipate variable: declare absolute freedom for one variable.  It can be whatever it 
    834 wants whenever it wants in whatever form it wants in whatever language it 
    835 wants on whatever computer it wants.  In the ensuing chaos it will get 
    836 nothing done, but it will give programmers stories to tell for years to 
    837 come... 
    838 </p><div class="source">Mike Fletcher, 25 Dec 1998</div></div><div class="quotation"><p> 
    839 "Can we kill this thread?  The only thing it does as far as I'm 
    840 concerned is increase the posting statistics. :-)" 
    841 </p><p> 
    842 "don't-open-cans-of-worms-unless-you're-looking-for-a-new-diet-ly y'rs" 
    843 </p><div class="source">Guido van Rossum and Tim Peters, 6 Jan 1999</div></div><div class="quotation"><p> 
    844 Hey, that was the first truly portable laptop!  Of course I'm nostalgic. 
    845 Came with a mighty 24Kb RAM standard, &amp; I popped the extra $80 to max it out 
    846 at 32Kb.  Much of Cray's register assigner was developed on that beast: 
    847 unlike the prototype Crays of the time, the M100 was always available and 
    848 never crashed.  Even better, I could interrupt it any time, poke around, and 
    849 resume right where it left off &lt;wink&gt;. 
    850 </p><p> 
    851 m100-basic-reminded-me-a-lot-of-python-except-that-it-sucked-ly y'rs  
    852 </p><div class="source">Tim Peters remembering the Model 100, 10 Jan 1999</div></div><div class="quotation"><p> 
    853 "Heh -- all it really broke so far was my resistance to installing Tk.  I 
    854 suppose wizardry is inevitable after one installs something, though &lt;wink&gt;." 
    855 </p><p> 
    856 "Spoken like a truly obsessive-compulsive wizard! 
    857 It-takes-one-to-know-one..." 
    858 </p><div class="source">Tim Peters and Guido van Rossum, 6 Jan 1999</div></div><div class="quotation"><p> 
    859 Note, however, that architectural forms are completely declarative and 
    860 can  be implemented in a highly optimized fashion. The sorts of 
    861 extensions that  Microsoft has proposed for XSL (&lt;xsl:eval&gt;...&lt;/&gt;) 
    862 would completely destroy  those features. Architectural mapping would, 
    863 in general, be as reliable  and high performance as ordinary software 
    864 -- (not at all). 
    865 </p><div class="source">Paul Prescod, 6 Jan 1999</div></div><div class="quotation"><p> 
    866 Darned confusing, unless you have that magic ingredient <em>coffee</em>, of which 
    867 I can pay you Tuesday for a couple pounds of extra-special grind today. 
    868 </p><div class="source">John Mitchell, 11 Jan 1999</div></div><div class="quotation"><p> 
    869 That's so obvious that someone has already got a patent on it. 
    870 </p><div class="source">Guido van Rossum, 12 Jan 1999</div></div><div class="quotation"><p> 
    871 I have to stop now. I've already told you more than I know. 
    872 </p><div class="source">Wolf Logan, 14 Jan 1999</div></div><div class="quotation"><p> 
    873 I really don't have any incisive insights about the economic 
    874 mechanisms or viability of free software and open source, but I do 
    875 have a strong, clear sense that such things make it possible for me to 
    876 do my job, as a programmer and a facilitator of/participant in online 
    877 communities, better and more easily than I otherwise could do. 
    878 </p><div class="source">Ken Manheimer, 24 Jan 1999</div></div><div class="quotation"><p> 
    879 Every standard applies to a certain problem domain and a certain level. A 
    880 standard can work perfectly and save the world economy billions of dollars 
    881 and there will still be software and hardware compatibility problems. 
    882 In fact, solving one level of compatibility just gives rise to the next 
    883 level of incompatibility. For example, connecting computers together through 
    884 standard protocols gives rise to the problem of byte endianness issues. 
    885 Solving byte endianness gives rise to the problem of character sets. 
    886 Solving character sets gives rise to the problem of end-of-line and 
    887 end-of-file conventions. Solving that gets us to the problem of 
    888 interpreting the low-level syntax (thus XML). Then we need to interpet 
    889 that syntax in terms of objects and properties (thus RDF, WDDX, etc.). And 
    890 so forth. 
    891 </p><p> 
    892 We could judge a standard's success by its ability to reveal another level 
    893 of standardization that is necessary. 
    894 </p><div class="source">Paul Prescod, 24 Jan 1999</div></div><div class="quotation"><p> 
    895 I just want to go on the record as being completely opposed to 
    896 computer languages. Let them have their own language and soon 
    897 they'll be off in the corner plotting with each other! 
    898 </p><div class="source">Steven D. Majewski, 25 Jan 1999</div></div><div class="quotation"><p> 
    899 Constraints often boost creativity. 
    900 </p><div class="source">Jim Hugunin, 11 Feb 1999</div></div><div class="quotation"><p> 
    901 Programming is no different - it's only by going outside what you know, and 
    902 looking from another direction (working, if you like, your brain, so that 
    903 it can be more powerful :-) that you can improve further. 
    904 </p><div class="source">Andrew Cooke, 12 Feb 1999</div></div><div class="quotation"><p> 
    905 any-technology-indistinguishable-from-magic-is-too-mysterious- 
    906     to-trust-ly y'rs 
    907 </p><div class="source">Tim Peters, 16 Feb 1999</div></div><div class="quotation"><p> 
    908 "I don't think we've thought of this, and it's actually a good idea." 
    909 </p><p> 
    910 "I'd better go patent it!" 
    911 </p><div class="source">Uche Ogbuji and Paul Prescod, 16 Feb 1999</div></div><div class="quotation"><p> 
    912 Contrary to advertising, no parsing system is "easy to learn", in or out of 
    913 the Python world -- parsing is a hard problem.  Most are easy enough to use 
    914 after practice, though.  Ironically, the trickiest system of all to master 
    915 (regexps) is also the feeblest and the most widely used. 
    916 </p><div class="source">Tim Peters, 17 Feb 1999</div></div><div class="quotation"><p> 
    917 So Python's only cross-platform choices were to 
    918 mimic the C/POSIX API or invent its own new x-platform API; only one of 
    919 those is realistic (as Java proves every day &lt;wink&gt;). 
    920 </p><div class="source">Tim Peters, 21 Feb 1999</div></div><div class="quotation"><p> 
    921 Yes:  the code in ntpath.split is too clever to have any hope of working 
    922 correctly &lt;wink&gt;. 
    923 </p><div class="source">Tim Peters, 19 Mar 1999</div></div><div class="quotation"><p> 
    924 Thanks.  The sooner I get discouraged and quit, the more time 
    925 I'll save overall. 
    926 </p><div class="source">Frank Sergeant, 28 Mar 1999</div></div><div class="quotation"><p> 
    927 But it's a general way to debug: tell someone what right things 
    928 your program is doing. Chances are that you will see the wrong 
    929 thing(s) before the other person has said anything... 
    930 I just stick a picture of a face on my monitor and talk to 
    931 it to find bugs. 
    932 </p><div class="source">Richard van de Stadt, 9 Apr 1999</div></div><div class="quotation"><p> 
    933 Might just be nostalgia, but I think I would give an arm 
    934 or two to get that (not necessarily my own, though). 
    935 </p><div class="source">Fredrik Lundh, 13 May 1999</div></div><div class="quotation"><p> 
    936 1.    Beautiful is better than ugly. 
    937 </p><p> 
    938 2.    Explicit is better than implicit. 
    939 </p><p> 
    940 3.    Simple is better than complex. 
    941 </p><p> 
    942 4.    Complex is better than complicated. 
    943 </p><p> 
    944 5.    Flat is better than nested. 
    945 </p><p> 
    946 6.    Sparse is better than dense. 
    947 </p><p> 
    948 7.    Readability counts. 
    949 </p><p> 
    950 8.    Special cases aren't special enough to break the rules. 
    951 </p><p> 
    952 9.    Although practicality beats purity. 
    953 </p><p> 
    954 10.    Errors should never pass silently. 
    955 </p><p> 
    956 11.    Unless explicitly silenced. 
    957 </p><p> 
    958 12.    In the face of ambiguity, refuse the temptation to guess. 
    959 </p><p> 
    960 13.    There should be one -- and preferably only one -- obvious way to do it. 
    961 </p><p> 
    962 14.    Although that way may not be obvious at first unless you're Dutch. 
    963 </p><p> 
    964 15.    Now is better than never. 
    965 </p><p> 
    966 16.    Although never is often better than <em>right</em> now. 
    967 </p><p> 
    968 17.    If the implementation is hard to explain, it's a bad idea. 
    969 </p><p> 
    970 18.    If the implementation is easy to explain, it may be a good idea. 
    971 </p><p> 
    972 19.    Namespaces are one honking great idea -- let's do more of those! 
    973 </p><p></p><div class="source">Tim Peters' 19 Pythonic Theses, 4 Jun 1999</div></div><div class="quotation"><p> 
    974 "However, I've heard that after about 
    975 10K items in a dict, it starts having problems." 
    976 </p><p> 
    977 "11,523 to be exact.  After that, dicts drink to excess and show up for work 
    978 late the morning after.  We don't like to talk about it, though." 
    979 </p><div class="source">Aahz Maruch and Tim Peters, 8 Jun 1999</div></div><div class="quotation"><p> 
    980 Stackless Python 0.2, a plug-in replacement for the Python core that does 
    981 not use the C stack, has been announced by Christian Tismer as the best 
    982  way 
    983 to prove that it was possible without a major rewrite to the core. Neel 
    984 Krishnaswami commented to Christian, "This is very neat, and you are 
    985 completely deranged". 
    986 </p><div class="source">From Linux Weekly News, 17 Jul 1999</div></div><div class="quotation"><p> 
    987 ... we need more 
    988 people like him, who are willing to explore without being driven to argue 
    989 with people about it. 
    990 </p><div class="source">William Tanksley on Chuck Moore, inventor of Forth, 2 Jul 1999</div></div><div class="quotation"><p> 
    991 Sorry for the term, I picked it up from Jim Fulton back when it was 
    992 an about-to-be-added feature for Principia/Aqueduct.  As with so many 
    993 Fultonisms, it's vivid and tends to stick in one's (non-pluggable) brain. 
    994 </p><div class="source">Paul Everitt on the term "pluggable brains", 5 Jul 1999</div></div><div class="quotation"><p> 
    995 I picture a lump of inanimate flesh (a result from a 
    996 relational database query) being infused with the spark of life (object 
    997 behavior, aka class). 
    998 </p><div class="source">Jim Fulton on the term "pluggable brains", 5 Jul 1999</div></div><div class="quotation"><p> 
    999 This is good. It means that while Ionesco is dead, his spirit 
    1000 lives on. 
    1001 </p><div class="source">Gordon McMillan on how Windows attaches meaning to 3-character 
    1002 file extensions, 30 Jul 1999</div></div><div class="quotation"><p> 
    1003 (On the statement <code>print "42 monkeys"+"1 snake"</code>) 
    1004 BTW, both Perl and Python get this wrong.  Perl gives 43 and Python 
    1005 gives "42 monkeys1 snake", when the answer is clearly "41 monkeys and 
    1006 1 fat snake".  
    1007 </p><div class="source">Jim Fulton, 10 Aug 1999 
    1008 </div></div><div class="quotation"><p> 
    1009 I expect that what you really object to is the absence 
    1010 of control structures other than goto, and the LT/GE/etc spelling of 
    1011 comparison operators.  That was common enough in its day, and even by the 
    1012 time Pascal came around the keypunch I used still didn't have a semicolon 
    1013 key.  It looks ugly in retrospect only because it is &lt;wink&gt;. 
    1014 </p><div class="source">Tim Peters on SNOBOL4, 17 Aug 1999</div></div><div class="quotation"><p> 
    1015 Theory and reality rarely are kissing cousins. 
    1016 </p><div class="source">Christopher Petrilli, 1 Sep 1999</div></div><div class="quotation"><p> 
    1017 Features generally don't exist in isolation, and you have to look at all the 
    1018 consequences, not just the one that attracts you at first sight. 
    1019 </p><div class="source">Tim Peters, 3 Sep 1999</div></div><div class="quotation"><p> 
    1020 The danger in this line of thinking is not realizing that the 
    1021 computational effort involved in big NP complete problems 
    1022 is *so* huge that even in optimized micro-code, the 
    1023 algorithm might take a million years to run. 
    1024 Tweezers or shovel -- it makes little difference when you 
    1025 are trying to move a universe... 
    1026 </p><div class="source">Sean McGrath, 4 Sep 1999</div></div><div class="quotation"><p> 
    1027 On a scale of one to ten I'd give it a tim. 
    1028 </p><div class="source">William Tanksley, 13 Sep 1999</div></div><div class="quotation"><p> 
    1029 Statistical analysis shows that the junk 
    1030     looks like human text, which clearly shows 
    1031     that it is actually used in some yet unknown 
    1032     way. 
    1033     (docstrings?) 
    1034 </p><div class="source">Fredrik Lundh, writing about junk DNA, 5 Oct 1999</div></div><div class="quotation"><p> 
    1035 If I engineer code that I expect to be in use for N 
    1036 years, I make damn sure that every internal limit is at least 10x larger 
    1037 than the largest I can conceive of a user making reasonable use of at the 
    1038 end of those N years.  The invariable result is that the N years pass, and 
    1039 fewer than half of the users have bumped into the limit &lt;0.5 wink&gt;. 
    1040 </p><div class="source">Tim Peters, 11 Nov 1999</div></div><div class="quotation"><p> 
    1041 I don't think the bytecodehacks, while sufficiently dark and useless 
    1042 to be a tim-ism, qualify me in any way for a Pythonic Wizard Hat... 
    1043 </p><div class="source">Michael Hudson, 16 Nov 1999</div></div><div class="quotation"><p> 
    1044 The bottom tier is what 
    1045 a certain class of wanker would call "business objects"... 
    1046 </p><div class="source">Greg Ward, 9 Dec 1999</div></div><div class="quotation"><p> 
    1047 Since I've done fewer than my normal quota of futile things this 
    1048 week, I thought I'd post to remind people that ... 
    1049 </p><div class="source">Phil Austin, 9 Dec 1999</div></div><div class="quotation"><p> 
    1050 There are useful diagrams in UML, (eg, the state and 
    1051 transition diagrams). Unfortunately, the one most tools use to 
    1052 generate code (and draw from reverse engineering) has 
    1053 everything to do with language structure, and nothing to do 
    1054 with what actually happens at runtime. To put it bluntly: 
    1055 people spend most of their time designing the wrong thing. 
    1056 Worse, they get it wrong, but it's carved in stone now; so the 
    1057 final system is either needlessly complex and marginally 
    1058 functional, or bears no resemblance to the "design". 
    1059 </p><div class="source">Gordon McMillan, 15 Dec 1999</div></div><div class="quotation"><p> 
    1060 The secret to good performance is to prototype and prototype, 
    1061 then code the bottlenecks in a faster language. The secret to 
    1062 large systems is to prototype and prototype, until you've got 
    1063 clean separation of the system into managable pieces, then 
    1064 code in whatever language most suits the need of each piece. 
    1065 </p><div class="source">Gordon McMillan, 15 Dec 1999</div></div><div class="quotation"><p> 
    1066 When Jim [Fulton] says "tricky" it means your brain could explode. 
    1067 </p><div class="source">Michel Pelletier, 15 Dec 1999</div></div><div class="quotation"><p> 
    1068 You have start-tags, 
    1069 attributes, end-tags and character data. We have all 
    1070 seen "XML applications" and "XML parsers" which handle 
    1071 this gang-of-four concepts.  ...  
    1072 Now we can peer over the parapet and shout 
    1073 "your parser smells of elderberries" or 
    1074 "I wave my mixed content at your ankles", 
    1075 as long as we like but the simple 
    1076 gang-of-four base apps will not go away. 
    1077 </p><div class="source">Sean McGrath, 19 Dec 1999</div></div><div class="quotation"><p> 
    1078 Abstraction is one of those notions that Python tosses out the 
    1079 window, yet expresses very well. 
    1080 </p><div class="source">Gordon McMillan, 6 Jan 2000</div></div><div class="quotation"><p> 
    1081 The set of naming conventions has a cardinality equal to the 
    1082 number of Python users. 
    1083 </p><div class="source">Gordon McMillan, 6 Jan 2000</div></div><div class="quotation"><p> 
    1084 The way to build large Python applications is to componentize and 
    1085 loosely-couple the hell out of everything. 
    1086 </p><div class="source">Aahz Maruch, 6 Jan 2000</div></div><div class="quotation"><p> 
    1087 It's not the mail volume that bothers me -- I can ignore 100s of 
    1088 messages a day very quickly.  It's the time it takes to respond to all 
    1089 of them. 
    1090 </p><div class="source">Guido van Rossum, 20 Jan 2000</div></div><div class="quotation"><p> 
    1091    This is the way of Haskell or 
    1092 Design by Contract of Eiffel. This one is like wearing a XV century 
    1093 armor, you walk very safely but in a very tiring way.  
    1094 </p><div class="source">Manuel Gutierrez Algaba, 26 Jan 2000</div></div><div class="quotation"><p> 
    1095 Life's better without braces. 
    1096 </p><div class="source">Unofficial motto of IPC8, coined by Bruce Eckel</div></div><div class="quotation"><p> 
    1097 "Aggressive" means "sometimes wrong". 
    1098 </p><div class="source">John Aycock at IPC8, during his "Agressive Type Inferencing" talk</div></div><div class="quotation"><p> 
    1099 Do I do everything in C++ and teach a course in advanced swearing? 
    1100 </p><div class="source">David Beazley at IPC8, on choosing a language for teaching</div></div><div class="quotation"><p> 
    1101 Alice is 3D Logo on steroids. 
    1102 </p><div class="source">Randy Pausch at IPC8</div></div><div class="quotation"><p> 
    1103 I was willing to grant this one at once, but, now that I look back at it 
    1104 all -- the loyalty oaths, the relentless self-criticism sessions, the 
    1105 midnight visits from the Ministry of Love -- I'm afraid what we really have 
    1106 here is unspeakably more sinister.   
    1107 </p><div class="source">Tim Peters after a reference to "Python's cult-like 
    1108 following", 2 Feb 2000</div></div><div class="quotation"><p> 
    1109 Guido (like us!) is a bit schizophrenic here:  he wants to be a benevolent 
    1110 dictator, but also wants to treat people like grownups.  This probably 
    1111 worked better before Python got a large American audience &lt;0.9 wink&gt;.  
    1112 </p><div class="source">Tim Peters, 10 Feb 2000</div></div><div class="quotation"><p> 
    1113 I have formal proofs that any change of the indentation rules results 
    1114 in 35% increase of the page faults for only 63.7% of the cache misses. 
    1115 The net effect is an overall slowdown of 10%. 
    1116 </p><div class="source">Vladimir Marangozov after Yet Another indentation flamewar, 16 Feb 2000</div></div><div class="quotation"><p> 
    1117 ... let me just say that my least-favourite Python 
    1118 error message is "SyntaxError: invalid syntax", which somehow manages to 
    1119 be both overly terse and redundant at the same time. 
    1120 </p><div class="source">Greg Ward, 15 Feb 2000</div></div><div class="quotation"><p> 
    1121 See, functional programmers are an insular lot. You rarely see 
    1122 them in public, except at parades when they all have antler- 
    1123 hats and silly shoes on. So they completely missed the 
    1124 infamous "goto considered harmful" thread and didn't even 
    1125 realize they were doing anything wrong. 
    1126  
    1127 </p><p> 
    1128  
    1129 Now, let's pretend you're writing a 'bot that can pass as a 
    1130 functional programmer. There's a complex protocol here. 
    1131 When two functional programmers see each other on the 
    1132 street, they recognize each other by the antler hats. But in 
    1133 certain parts of the Midwest, regular people wear antler hats, 
    1134 too. So there's a protocol. First a &lt;wink wink&gt;. Then the 
    1135 secret handshake. Then you sniff each other's armpits and 
    1136 stamp your foot 3 times. 
    1137  
    1138 </p><p> 
    1139  
    1140 OK, so you've written a bot, and it works fine on the street. 
    1141 Now you send it to a cocktail party. It sees a potential 
    1142 functional programmer and gives the &lt;wink wink&gt;. Now it tries 
    1143 to move into position to do the secret handshake, but 
    1144 discovers that it's antler-hat is entangled with someone else's. 
    1145 Oops. &lt;wink wink&gt; at the new guy. Handshake. But before it 
    1146 can sniff, the first one has moved up for his handshake. Ay yi 
    1147 yi. Your bot crashes and is exposed. 
    1148  
    1149 </p><p> 
    1150  
    1151 So now you rewrite your bot to use a finite state machine so it 
    1152 can handle multiple sessions. That means throwing out all the 
    1153 code that worked on the street. But if you'd used 
    1154 continuations, it would be a relatively minor adjustment of that 
    1155 code. 'Course you wouldn't have had to write the bot to begin 
    1156 with. 
    1157  
    1158 </p><div class="source">Gordon McMillan,  18 Feb 2000  </div></div><div class="quotation"><p> 
    1159 IIRC, Guido went to CNRI to work on bots and agents or something 
    1160 similar. Could the timbot and the effbot be an offshoot of that? 
    1161 Next, he's going to start a company with timbot and effbot as the main 
    1162 products. Van Rossum's Universal Robots? 
    1163 </p><div class="source">Bernhard Herzog,  21 Feb 2000 </div></div><div class="quotation"><p> 
    1164 So those are the extremes:  Boehm-Demers-Weiser avoids blame by refusing to do anything. 
    1165 Java avoids blame by exposing an impossibly baroque implementation-driven 
    1166 finalization model.  Scheme avoids blame by refusing to do anything "by 
    1167 magic", but helps you to shoot yourself with the weapon of your choice. 
    1168 The bad news is that I don't know of a scheme <em>not</em> at an extreme! 
    1169 </p><div class="source">Tim Peters on the knotty problem of finalizers and cycles, 3 Mar 2000 </div></div><div class="quotation"><p> 
    1170 It's extremely un-Pythonic to let things leak (despite that it has let 
    1171 things leak for a decade &lt;wink&gt;), but also extremely un-Pythonic to make 
    1172 some wild-ass guess. 
    1173 </p><div class="source">Tim Peters on garbage collection, 3 Mar 2000 </div></div><div class="quotation"><p> 
    1174 IOW, the only people who lose under this scheme are the 
    1175 ones begging to lose, and their "loss" consists of taking responsibility. 
    1176 </p><div class="source">Tim Peters, 3 Mar 2000 </div></div><div class="quotation"><p> 
    1177 An axiom is accepted without proof:  we have plenty of proof that there's no 
    1178 thoroughly good answer (i.e., every language that has ever addressed this 
    1179 issue -- along with every language that ever will &lt;wink&gt;). 
    1180 </p><div class="source">Tim Peters on garbage collection, 3 Mar 2000 </div></div><div class="quotation"><p> 
    1181 I can see the FAQ now... 
    1182 </p><p> 
    1183    Q1.1.2.3: Why can't I divide integers? 
    1184 </p><p>    
    1185    A: You drooling moron!  You need a 10-page owners manual and 
    1186    instructional video to handle the notational complexity of 
    1187    Tic-Tacs, don't you?  As every schoolboy knows, the integers are a 
    1188    <em>ring</em>, not a field, you simpering simpleton.  Oh wait!  Let me 
    1189    guess!  I have to spell it out for you, you festering wombat boil. 
    1190    You can't divide integers by integers and get integers.  Understand 
    1191    now?  Now go out there and don't do it.  And read Herstein, while 
    1192    you're at it. 
    1193 </p><div class="source">Johann Hibschman, 4 Mar 2000 </div></div><div class="quotation"><p> 
    1194 Actually, I believe you understand me fine, 
    1195 you'd just rather not believe it:  floating point sucks, rationals suck, 
    1196 refusing to allow int division sucks, the constructive reals suck, symbolic 
    1197 manipulation sucks, ..., but all in different ways for different reasons. 
    1198 Every one bristles with its own brands of both shallow and deep "surprises". 
    1199 So it goes -- seeking to represent the infinite by the finite is an 
    1200 inherently unreachable goal.  This is also why people die &lt;wink&gt;. 
    1201 </p><div class="source">Tim Peters, 4 Mar 2000 </div></div><div class="quotation"><p> 
    1202 The reason I'm right is that I said there won't be any <em>single</em> 
    1203 "survivor" of the evolutionary struggle,  and that the efforts to crown 
    1204 one's favorite as such are just so much noise.  The software ecosystem 
    1205 of the foreseeable future will always have its own form of "diversity":  
    1206 there will be lions <em>and</em> elephants <em>and</em> fish <em>and</em> seals <em>and</em> birds,  
    1207 because there will be many diverse "habitats" where the particular 
    1208 adaptations of each will be needed/advantageous. 
    1209 </p><p> 
    1210 The reasoned debates (as opposed to religious wars) may lead to lions 
    1211 with opposable thumbs,  or elephants that can see in the infrared,  but 
    1212 there will never be a 2000-pound fish with a mane and wings.  Well,  not 
    1213 outside the lab,  anyway. 
    1214 </p><div class="source">Ran, 5 Mar 2000 </div></div><div class="quotation"><p> 
    1215 "Complexity" seems to be a lot like "energy":  you can <em>transfer</em> it 
    1216 from the end user to one/some of the other players,  but the total 
    1217 amount seems to remain pretty much constant for a given task. 
    1218 </p><div class="source">Ran, 5 Mar 2000 </div></div><div class="quotation"><p> 
    1219 LaTeX2HTML is pain. 
    1220 </p><div class="source">Fred Drake in a documentation checkin message, 14 Mar 2000 </div></div><div class="quotation"><p> 
    1221 Here, have some cycles of reversed kielbasa.  And ten (10 (0xa (101010b))) 
    1222 Usenet Points, redeemable in comp.lang.python for increased local 
    1223 prestige.  Some prestige may depend upon your own actions.  Local Prestige 
    1224 may or may not have any effect on your actual life (or lack thereof). 
    1225 </p><div class="source">William Tanksley, 21 Mar 2000 </div></div><div class="quotation"><p> 
    1226 Mucking with 
    1227 builtins is fun the way huffing dry erase markers is fun.  Things are 
    1228 very pretty at first, but eventually the brain cell lossage will more 
    1229 than outweigh that cheap thrill. 
    1230 </p><div class="source">Barry Warsaw, 23 Mar 2000 </div></div><div class="quotation"><p> 
    1231 &gt;Have you ever looked at the output of a <code>bib | tbl | eqn</code> pipeline? 
    1232 </p><p> 
    1233 Are you kids still using that as a pick-up line? 
    1234 </p><div class="source">Roy Smith and Cameron Laird, 4 Apr 2000</div></div><div class="quotation"><p> 
    1235 This 
    1236 is like getting lost in a dictionary.  What does quincuncial mean anyhow? 
    1237 </p><div class="source">Dennis Hamilton, 4 Apr 2000</div></div><div class="quotation"><p> 
    1238 UTF-8 has a certain purity in that it equally annoys every nation, and is 
    1239 nobody's default encoding.  
    1240 </p><div class="source">Andy Robinson, 10 Apr 2000</div></div><div class="quotation"><p> 
    1241 "Now if we could 
    1242 figure 
    1243 out where python programmers are from, someone could write a book and get 
    1244 rich." 
    1245 </p><p> 
    1246 "Yorkshire." 
    1247 </p><div class="source">Quinn Dunkan and Warren Postma, 11 Apr 2000</div></div><div class="quotation"><p> 
    1248    If I didn't have my part-time performance art 
    1249    income to help pay the bills, I could never 
    1250    afford to support my programming lifestyle. 
    1251 </p><div class="source">Jeff Bauer, 21 Apr 2000</div></div><div class="quotation"><p> 
    1252   Of course, this brought me face to face once again with Python's 
    1253   <em>pons asinorum</em>, the significance of whitespace. 
    1254 </p><div class="source">Eric S. Raymond, in the <cite>Linux Journal</cite>'s Python supplement</div></div><div class="quotation"><p> 
    1255 Surprisingly enough, Python has taught me more about Lisp than Lisp 
    1256 ever did ;-). 
    1257    </p><div class="source">Glyph Lefkowitz, 3 May 2000</div></div><div class="quotation"><p> 
    1258  How about we notate the hungarian notation with the type of hungarian 
    1259    notation, you know, hungarian meta notation: HWND 
    1260    aWin32ApiHandleDefinedInWindowsDotH_hwndWindowHandle; 
    1261    </p><div class="source">Warren Postma, 4 May 2000</div></div><div class="quotation"><p> 
    1262 Note that Python's licence is in fact the MIT X11 licence, with MIT 
    1263 filed off and CNRI written in its place in crayon. 
    1264    </p><div class="source">A.M. Kuchling, 5 May 2000</div></div><div class="quotation"><p> 
    1265 Once you've read and 
    1266 understood <cite>The Art of the Metaobject Protocol</cite> you are one quarter of 
    1267 the way to provisional wizard status. (The other three-fourths are b) 
    1268 understanding Haskell's monads, c) grokking Prolog, and d) becoming 
    1269 handy with a combinator-based language by implementing a Forth.) 
    1270    </p><div class="source">Neel Krishnaswami, 9 May 2000</div></div><div class="quotation"><p> 
    1271 "The future" has 
    1272 arrived but they forgot to update the docs. 
    1273 </p><div class="source">R. David Murray, 9 May 2000</div></div><div class="quotation"><p> 
    1274 /* This algorithm is from a book written before the invention of 
    1275      structured programming... */ 
    1276    </p><div class="source">Comment in parser/pgen.c, noted by Michael Hudson</div></div><div class="quotation"><p> 
    1277 For more information please see my unpublished manuscript 
    1278 on steam driven turing machines. [2000pp in crayon donated to 
    1279 the harvard library -- they never told me whether they filed it 
    1280 under mathematics, philosophy, logic, mechanical engineering, 
    1281 or computational science] 
    1282    </p><div class="source">Aaron Watters, 12 May 2000</div></div><div class="quotation"><p> 
    1283 Me?  I hate the whole lambda calculus, not because of what it is, but 
    1284 because of what many people think it is.  They think that it's the whole 
    1285 of computer science, the ultimate way to express and reason about 
    1286 programs, when in reality it's merely a shabby and incomplete model of how 
    1287 Fortran fails to work.  The first thing SICP has to do is teach everyone 
    1288 how bad the lambda calculus model is -- as part of teaching them about a 
    1289 language allegedly based on lambda calculus. 
    1290 </p><p> 
    1291 I'm sorry, was my bias showing again?  :-) 
    1292 </p><div class="source">William Tanksley, 13 May 2000</div></div><div class="quotation"><p> 
    1293  I never got beyond starting the data-structures in C++, I never got 
    1294 beyond seeing how it would work in Scheme. I finished it in one 
    1295 Python-filled afternoon, and discovered the idea sucked big time.  I 
    1296 was glad I did it in Python, because it only cost me one afternoon to 
    1297 discover the idea sucks.   
    1298 </p><div class="source">Moshe Zadka, 13 May 2000</div></div><div class="quotation"><p> 
    1299 In truth, we use 'j' to represent sqrt(-1) for exactly the same reason 
    1300 we use a convention for the direction of current which is exactly the 
    1301 opposite of the direction the electrons actually travel: because it 
    1302 drives physicists crazy.  (And if we pick up a few mathematicians or 
    1303 whatever along the way, well, that's just gravy. ;-) 
    1304 </p><div class="source">Grant R. Griffin, 14 May 2000</div></div><div class="quotation"><p> 
    1305 Unicode: everyone wants it, until they get it. 
    1306 </p><div class="source">Barry Warsaw, 16 May 2000</div></div><div class="quotation"><p> 
    1307 I saw a hack you sent me a few months ago and approved of its 
    1308 intent and was saddened by its necessity. 
    1309 </p><div class="source">Jim Fulton, 16 May 2000</div></div><div class="quotation"><p> 
    1310 Suspicions are most easily dispelled/confirmed via evidence, and 
    1311 taking the trouble to do this has the pleasant side-effect that you 
    1312 can either cease expending effort worrying, or move directly to taking 
    1313 positive action to correct the problem. 
    1314 </p><div class="source">Neel Krishnaswami, 21 May 2000</div></div><div class="quotation"><p> 
    1315 Thanks to the 
    1316 overnight turnaround and the early interpreter's habit of 
    1317 returning nothing at all useful if faced with a shortage of )s, 
    1318 one could easily detect the LISP users:  they tended to walk 
    1319 around with cards full of )))))))... in their shirt pockets, to be 
    1320 slapped onto the end of submitted card decks:  one at least 
    1321 got something back if there were too many )s. 
    1322 </p><div class="source">John W. Baxter, 21 May 2000</div></div><div class="quotation"><p> 
    1323 Python: embodies a harmony of chocolate kisses with hints of jasmine 
    1324 and rose. Trussardi's wild new fragrance. 
    1325 </p><div class="source">From <cite>Marie Claire</cite>, Australian edition, May 2000; 
    1326 noted by Fiona Czuczman</div></div><div class="quotation"><p> 
    1327 In arts, compromises yield mediocre results.  The personality and vision 
    1328 of the artist has to go through.  I like to see Python as a piece of art. 
    1329 I just hope the artist will not get too tainted by usability studies. 
    1330 </p><div class="source">François Pinard, 22 May 2000</div></div><div class="quotation"><p> 
    1331  In fact, I've never seen an argument about which I 
    1332 cared less.  I'm completely case insensitivity insensitive. 
    1333 </p><div class="source">William Tanksley, 23 May 2000</div></div><div class="quotation"><p> 
    1334 They boo-ed when Dylan went electric. 
    1335 But for me its about the instincts of a designer, and the faith of a fan. 
    1336 Not science. 
    1337 So much the better. 
    1338 </p><div class="source">Arthur Siegel, 23 May 2000</div></div><div class="quotation"><p> 
    1339 Burroughs did something very odd with COBOL at one point (and no, it 
    1340 wasn't The Naked Lunch). 
    1341 </p><div class="source">Will Rose, 27 May 2000</div></div><div class="quotation"><p> 
    1342 Code generators are hacks. Sometimes necessary hacks, but hacks 
    1343 nevertheless. 
    1344 </p><div class="source">Paul Prescod, 7 Jun 2000</div></div><div class="quotation"><p> 
    1345 Very rough; like estimating the productivity of a welder by the 
    1346 amount of acetylene used.    
    1347 </p><div class="source">Paul Svensson, on measuring programmer productivity by lines of code, 19 Jun 2000</div></div><div class="quotation"><p> 
    1348 I vote for backward compatibility for now, and not only because that will 
    1349 irritate /F the most. 
    1350 </p><div class="source">Tim Peters, 30 Jun 2000</div></div><div class="quotation"><p> 
    1351 A comment is in order then.  If the code is smarter than it looks, 
    1352 most people aren't going to think it looks very smart. 
    1353 </p><div class="source">Jeremy Hylton, 6 Jul 2000</div></div><div class="quotation"><p> 
    1354 You and I think too much alike ?!ng.  And if that doesn't scare you 
    1355 now, you should have a talk with Gordon. 
    1356 </p><div class="source">Barry Warsaw, 12 Jul 2000</div></div><div class="quotation"><p> 
    1357 Isn't it somewhat of a political statement to allow marriages of three 
    1358 or more items? I always presumed that this function was n-ary, like map(). 
    1359 </p><div class="source">Paul Prescod, 
    1360 on the proposed name marry() for a function to combine sequences,  
    1361 12 Jul 2000</div></div><div class="quotation"><p> 
    1362 Since my finger was slowest reaching my nose, I got elected Editor. 
    1363 On the positive side of that, I get to make the early decisions that 
    1364 will be cursed for generations of Python hackers to come. 
    1365 </p><div class="source">Barry Warsaw, 12 Jul 2000</div></div><div class="quotation"><p> 
    1366 Hey, you know, we can work this in.  Sailor Moon + Giant Robots + 
    1367 Tentacle Demons + Python Conference == Bizarre hilarity ensues! 
    1368 </p><div class="source">Alexander Williams, 4 Aug 2000</div></div><div class="quotation"><p> 
    1369 The rapid establishment of social ties, even of a fleeting 
    1370    nature, advance not only that goal but its standing in the 
    1371    uberconscious mesh of communal psychic, subjective, and algorithmic 
    1372    interbeing. But I fear I'm restating the obvious. 
    1373 </p><div class="source">Will Ware, 28 Aug 2000</div></div><div class="quotation"><p> 
    1374    The comp.lang.python newsgroup erupted last week with a flurry of 
    1375    posts that accused the Python development team of creeping featurism, 
    1376    selling out the language to corporate interests, moving too fast, and 
    1377    turning a deaf ear to the Python community. What triggered this lava 
    1378    flow of accusations? The development team accepted a proposal to 
    1379    change the syntax of the print statement. 
    1380    </p><div class="source">Stephen Figgins, 30 Aug 2000</div></div><div class="quotation"><p> 
    1381 INTERVIEWER: Tell us how you came to be drawn into the 
    1382 world of pragmas. 
    1383 </p><p> 
    1384 COMPILER WRITER: Well, it started off with little things. Just 
    1385 a few boolean flags, a way to turn asserts on and off, debug output, 
    1386 that sort of thing. I thought, what harm can it do? It's not like 
    1387 I'm doing anything you couldn't do with command line switches, 
    1388 right? Then it got a little bit heavier, integer values for 
    1389 optimisation levels, even the odd string or two. Before I 
    1390 knew it I was doing the real hard stuff, constant expressions, 
    1391 conditionals, the whole shooting box. Then one day when I put 
    1392 in a hook for making arbitrary calls into the interpreter, that 
    1393 was when I finally realised I had a problem... 
    1394    </p><div class="source">Greg Ewing, 31 Aug 2000</div></div><div class="quotation"><p> 
    1395   The modules 
    1396 people have built for Python are like the roads the Romans built 
    1397 through Europe.  On this solid ground, you can move fast as you 
    1398 work on aspects of program design that aren't so analytical -- 
    1399 user interface, multi-threaded event dispatching models, all kinds 
    1400 of things that can be done a lot of different ways and are hard to 
    1401 get right the first time through. 
    1402    </p><div class="source">Donn Cave, 3 Sep 2000</div></div><div class="quotation"><p> 
    1403 Python 2.0 beta 1 is now available from BeOpen PythonLabs. There is a 
    1404 long list of new features since Python 1.6, released earlier 
    1405 today.  We don't plan on any new releases in the next 24 hours. 
    1406     </p><div class="source">Jeremy Hylton, in the 2.0b1 announcement, 5 Sep 
    1407     2000</div></div><div class="quotation"><p> 
    1408 Fortunately, you've left that madness behind, and entered the clean, happy, 
    1409 and safe Python world of transvestite lumberjacks and singing Vikings. 
    1410    </p><div class="source">Quinn Dunkan, 17 Sep 2000</div></div><div class="quotation"><p> 
    1411 Regular expressions are among my most valued tools, along with goto, 
    1412 eval, multiple inheritance, preemptive multithreading, floating point, 
    1413 run-time type identification, a big knife, a bottle of bleach, and 
    1414 120VAC electricity.  All of these things suck sometimes. 
    1415    </p><div class="source">Kragen Sitaker, 27 Sep 2000</div></div><div class="quotation"><p> 
    1416   IIRC, he didn't much care for regexps before, but 
    1417 actually writing a regexp engine drives most people who do it to intense 
    1418 hatred. 
    1419   </p><p> 
    1420 Just more of the magic of Python!  Transmuting a few peoples' intense agony 
    1421 into the subject of others' idle amusement &lt;wink&gt;. 
    1422    </p><div class="source">Tim Peters, 27 Sep 2000</div></div><div class="quotation"><p> 
    1423 "I do not love thee, lambda; let me count the ways..." 
    1424    </p><div class="source">Aahz Maruch, 27 Sep 2000</div></div><div class="quotation"><p> 
    1425 They are called "Exceptions" because to any policy for handling them, 
    1426 imposed in advance upon all programmers by the computer system, some 
    1427 programmers will have good reason to take exception. 
    1428    </p><div class="source">William Kahan, quoted by Tim Peters, 13 Oct 2000</div></div><div class="quotation"><p> 
    1429 "Interim steps" have a tendency to become permanent in our industry, 
    1430 where "Compatibility" is the way the sins of the fathers are 
    1431 inflicted upon the third and fourth generations ... 
    1432    </p><div class="source">William Kahan, quoted by Huaiyu Zhu, 16 Oct 2000</div></div><div class="quotation"><p> 
    1433 The most successful projects I've seen and been on <em>did</em> rewrite all the 
    1434 code routinely, but one subsystem at a time.  This happens when you're 
    1435 tempted to add a hack, realize it wouldn't be needed if an entire area were 
    1436 reworked, and mgmt is bright enough to realize that hacks compound in fatal 
    1437 ways over time.  The "ain't broke, don't fix" philosophy is a good guide 
    1438 here, provided you've got a very low threshold for insisting "it's broke". 
    1439    </p><div class="source">Tim Peters, 25 Oct 2000</div></div><div class="quotation"><p> 
    1440 Humour is a tricky thing.  Some people can't even get the spelling right. 
    1441    </p><div class="source">Richard Brodie, 30 Oct 2000</div></div><div class="quotation"><p> 
    1442 The same way as you get the name of that cat you found 
    1443 on your porch: the cat (object) itself cannot tell you 
    1444 its name, and it doesn't really care -- so the only way 
    1445 to find out what it's called is to ask all your neighbours (namespaces)  
    1446 if it's their cat (object)... 
    1447 </p><p> 
    1448 ....and don't be surprised if you'll find that it's known 
    1449 by many names, or no name at all! 
    1450    </p><div class="source">Fredrik Lundh, 3 Nov 2000, 
    1451 in answer to the question "How can I get the name of a  
    1452 variable from C++ when I have the PyObject*?"</div></div><div class="quotation"><p> 
    1453 These are mostly nice features, to be sure, but they're also just that: 
    1454 features.  C++ has features.  Python doesn't have a stellar score on my 
    1455 elegance-o-meter, but for me its major win is the lack of features, and lack 
    1456 of ambiguities.  It fits in my brain. 
    1457    </p><div class="source">Quinn Dunkan, 18 Nov 2000</div></div><div class="quotation"><p> 
    1458 When explaining programming I sometimes compare programmers to 
    1459 photographers: amateur photographers talk about cameras and lenses and 
    1460 gadgets. They know how to make their camera do almost anything, and they are 
    1461 keen to argue the merits of their favorite tools. Professional photographers 
    1462 talk about contrast and lighting and composition. The camera is almost 
    1463 irrelevant. Ansel Adams used cameras that were less sophisticated than a 
    1464 supermarket disposable, back when photography was slow and tedious (like 
    1465 batch-oriented programming). Because the technology was so primitive, he 
    1466 carefully planned his photographs and developed discipline so he could 
    1467 reliably make excellent photographs over and over. 
    1468    </p><div class="source">Greg Jorgensen, 26 Nov 2000</div></div><div class="quotation"><p> 
    1469 As you might have guessed, I didn't do this just for fun. 
    1470 It is the old game of explaining what is there, convincing 
    1471 everybody that you at least know what you are talking about, 
    1472 and then three days later coming up with an improved 
    1473 application of the theory. 
    1474    </p><div class="source">Christian Tismer, 11 Dec 2000</div></div><div class="quotation"><p> 
    1475 Have they sprouted a new timbot, more geared towards newbies, 
    1476 more polite and friendly maybe, with a touch of human fallibility 
    1477 (hence the occasional slip of the keyboard) and named it Alex? 
    1478   </p><div class="source">Carel Fellinger, 12 Dec 2000</div></div><div class="quotation"><p> 
    1479 I'm spending most of my waking hours 
    1480 understanding this patch -- it is a true piece of wizardry. 
    1481    </p><div class="source">GvR, discussing a patch from Neil Schemenauer, 13 Dec 2000</div></div><div class="quotation"><p> 
    1482 Maybe they took solidity <em>for granted</em>, because, in their 
    1483 (Renaissance) times and in their (Architecture) calling, 
    1484 compromises regarding solidity were simply unthinkable. 
    1485 Well, we're not so lucky, in the software field, today; the 
    1486 Firmitas of <em>by far</em> most software around is imperfect. 
    1487 </p><p> 
    1488 We <em>must</em> live by "do the simplest thing that can possibly 
    1489 work" -- give solidity its proper, foremost place.  One 
    1490 of the debilitating factors for much current software is 
    1491 a misplaced emphasis on assumed 'convenience' (funky GUIs, 
    1492 quirky shortcuts, special cases aplenty) to the detriment 
    1493 of solidity.  A small but crucial step to reverse this 
    1494 trend, is to start by putting the order right once more... 
    1495 the way Vitruvius had it! 
    1496    </p><div class="source">Alex Martelli, 13 Dec 2000</div></div><div class="quotation"><p> 
    1497 The Martellibot Mark 1 
    1498 has a completely European flavour to it, and adds a cosmopolitan touch of 
    1499 linguistics to its output, sprinkling foreign language references in.  It is 
    1500 similar to the timbot in its overall erudition, but can be distinguished 
    1501 from it by its tendency to indulge in flamewars (which, I believe, it does 
    1502 mostly to convince us it is human). 
    1503    </p><div class="source">Steve Holden, 13 Dec 2000</div></div><div class="quotation"><p> 
    1504 In keeping with the religious nature of the battle-- and religion offers 
    1505 precise terms for degrees of damnation! --I suggest: 
    1506 </p><p> 
    1507     struggling -- a supported feature; the initial state of 
    1508         all features; may transition to Anathematized 
    1509 </p><p> 
    1510     anathematized -- this feature is now cursed, but is supported; 
    1511         may transition to Condemned or Struggling; intimacy with 
    1512         Anathematized features is perilous 
    1513 </p><p> 
    1514     condemned -- a feature scheduled for crucifixion; may transition 
    1515         to Crucified, Anathematized (this transition is called "a pardon"), 
    1516         or Struggling (this transition is called "a miracle"); intimacy 
    1517         with Condemned features is suicidal 
    1518 </p><p> 
    1519     crucified -- a feature that is no longer supported; may transition 
    1520         to Resurrected 
    1521 </p><p> 
    1522     resurrected -- a once-Crucified feature that is again supported; 
    1523         may transition to Condemned, Anathematized or Struggling; 
    1524         although since Resurrection is a state of grace, there may be 
    1525         no point in human time at which a feature is identifiably 
    1526         Resurrected (i.e., it may *appear*, to the unenlightened, that 
    1527         a feature moved directly from Crucified to Anathematized or 
    1528         Struggling or Condemned -- although saying so out loud is heresy). 
    1529    </p><div class="source">Tim Peters, 18 Dec 2000</div></div><div class="quotation"><p> 
    1530 my-python-code-runs-5x-faster-this-month-thanks-to-dumping-$2K- 
    1531     on-a-new-machine-ly y'rs   
    1532    </p><div class="source">Tim Peters, 26 Dec 2000</div></div><div class="quotation"><p> 
    1533  Really, I should pronounce on that PEP (I don't like it very much but 
    1534 haven't found the right argument to reject it :-) ) so this patch can 
    1535 either go in or be rejected. 
    1536    </p><div class="source">GvR, 04 Jan 2001, in a comment on patch #101264</div></div><div class="quotation"><p> 
    1537 The rest is 
    1538 history:  the glory, the fame, the riches, the groupies, the adulation of my 
    1539 peers.  We won't mention the financial scandal and subsequent bankruptcy 
    1540 lest it discourage you for no good reason &lt;wink&gt;.    
    1541 </p><div class="source">Tim Peters, 14 Jan 2001</div></div><div class="quotation"><p> 
    1542 If you're using anything besides US-ASCII, I <em>stringly</em> suggest 
    1543 Python 2.0. 
    1544 </p><div class="source">Uche Ogbuji (A fortuitous typo?), 29 Jan 2001</div></div><div class="quotation"><p> 
    1545 "There goes Tim, browsing the Playboy site just for the 
    1546 JavaScript.  Honest." 
    1547 </p><p> 
    1548 "Well, it's not like they had many floating-point numbers to ogle!  I like 
    1549 'em best when the high-order mantissa bits are all perky and regular, 
    1550 standing straight up, then go monster insane in the low-order bits, so you 
    1551 can't guess *what* bit might come next!  Man, that's hot.  Top it off with 
    1552 an exponent field with lots of ones, and you don't even need any oil.  Can't 
    1553 say I've got a preference for sign bits, though -- zero and one can both be 
    1554 saucy treats.  Zero is more of a tease, so I guess it depends on the mood." 
    1555 </p><div class="source">Barry Warsaw and Tim Peters, 3 Feb 2001</div></div><div class="quotation"><p> 
    1556 We were sincerely hoping that the Python core team would teach their 
    1557 employers how to code Python, instead of the other way around... 
    1558 </p><div class="source">Pieter Nagel, 5 Feb 2001</div></div><div class="quotation"><p> 
    1559 This bug fix brought to you by the letters b, c, d, g, h, ... and the 
    1560 reporter Ping. 
    1561 </p><div class="source">Jeremy Hylton in a checkin message for Python/compile.c, 12 Feb 2001</div></div><div class="quotation"><p> 
    1562 "It's in ClassModules.py you dumb f**k - can't you tell by the name?" 
    1563 </p><p> 
    1564 "Furthermore, RTFM is much more 
    1565  effective if you do it gently and make them feel nicely embarrassed, rather 
    1566 than having them just say 'well, fuck you too' when reading the first 
    1567 insult, and not learn a thing." 
    1568 </p><p> 
    1569 "Thanks. I'll try to keep that in mind the next time I flame myself." 
    1570 </p><div class="source">Phlip, following up to a query he'd posted earlier,  
    1571 and Thomas Wouters, 18 Feb 2001</div></div><div class="quotation"><p> 
    1572 "Also, does the simple algorithm you used in Cyclops have a name?" 
    1573 </p><p> 
    1574 "Not officially, but it answers to "hey, dumb-ass!" 
    1575 </p><div class="source">Neil Schemenauer, interested in finding strongly connected components in graphs, and Tim Peters, 23 Feb 2001</div></div><div class="quotation"><p> 
    1576 Make this IDLE version 0.8.  (We have to skip 0.7 because that was a 
    1577 CNRI release in a corner of the basement of a government building on a 
    1578 planet circling Aldebaran.) 
    1579 </p><div class="source">GvR, in a CVS commit message, 22 Mar 2001</div></div><div class="quotation"><p>Python: programming the way Guido indented it. 
    1580 </p><div class="source">Digital Creations T-shirt slogan at IPC9</div></div><div class="quotation"><p>Stackless Python: programming the way Guido 
    1581 prevented it. 
    1582 </p><div class="source">Christian Tismer's title slide, at IPC9</div></div><div class="quotation"><p>I don't think we should use rational numbers for money because money 
    1583 isn't rational. 
    1584 </p><div class="source">Moshe Zadka, at IPC9</div></div><div class="quotation"><p> 
    1585 We can't stop people from complaining but we can influence what they 
    1586 complain about. 
    1587 </p><div class="source">Tim Peters, at IPC9</div></div><div class="quotation"><p> 
    1588     Perl is like vise grips. You can do anything with it but it is the wrong 
    1589     tool for every job. 
    1590 </p><div class="source">Bruce Eckel, at IPC9</div></div><div class="quotation"><p> 
    1591     Given the choice between a good text editor and a good source 
    1592     control system, i'll take the source control, and use "cat" to 
    1593     write my code. 
    1594 </p><div class="source">Greg Wilson, at IPC9</div></div><div class="quotation"><p> 
    1595 here's the eff-bot's favourite lambda refactoring rule: 
    1596 <pre>1) write a lambda function 
     571</em> 
     572       and in response it dialed my modem, connected to my ISP, and then 
     573      REBOL crashed after provoking an invalid page fault in kernel32.dll. 
     574      Then my connection broke, and the modem dialed and connected again. 
     575      Then it just sat there until it timed out. 
     576    </p><p> 
     577      now-<em>that's</em>-user-friendly&lt;wink&gt;-ly y'rs 
     578    </p><div class="source">Tim Peters, 24 Sep 1998</div></div><div class="quotation"><p> 
     579      I've reinvented the idea of variables and types as in a programming 
     580      language, something I do on every project. 
     581    </p><div class="source">Greg Ward, September 1998</div></div><div class="quotation"><p> 
     582      "The event/tree dualism reminds me why I always wanted to be able to 
     583      do pattern matching on trees." 
     584    </p><p> 
     585      "'Honey, what is this guy doing up there?' 'Oh, I suppose it's 
     586      Christian, trying to match some patterns.' " 
     587    </p><div class="source">Christian Tismer and Dirk Heise, 12 Oct 1998</div></div><div class="quotation"><p> 
     588      Perl is worse than Python because people wanted it worse. 
     589    </p><div class="note"><p> 
     590        In a post to the perl-users mailing list (archived version at 
     591        http://faqchest.dynhost.com/prgm/perlu-l/perl-98/perl-9810/perl- 
     592        981002/perl98101602_19460.html) 
     593      </p></div><div class="source">Larry Wall, 14 Oct 1998</div></div><div class="quotation"><p> 
     594      "What's the opinion of the (wink) Python luminaries?" 
     595    </p><p> 
     596      "The last time I saw a position paper from them, they came out 
     597      strongly against the suggestion that old people be put on ice floes 
     598      and left to drift out to sea to die. 
     599    </p><p> 
     600      they-never-like-<em>any</em>-of-my-ideas-ly y'rs" 
     601    </p><div class="source">Stuart Hungerford and Tim Peters, 14 Oct 1998</div></div><div class="quotation"><p> 
     602      Rather than borrowing from our beauty-impaired ugly sibling, why not 
     603      look at Java, the beautiful, conceited sister? We could have something 
     604      more like JavaDoc. 
     605    </p><div class="source">Paul Prescod, 18 Oct 1998</div></div><div class="quotation"><p> 
     606      It won't work. This is far too concrete a problem to interest Tim. I 
     607      see 3 possible approaches: 
     608    </p><p> 
     609      1) Claim that Python can't do a &lt;some random combination of 'L', 
     610      'R', 'A'&gt; grammar. This will yield an irate response from Aaron 
     611      which will draw Tim into it and you'll get a solution in 3 months 
     612      after lots of entertaining posts. 
     613    </p><p> 
     614      2) Turn it into an optimization problem and get a solution from Marc- 
     615      Andre using mxTextTools next week. 
     616    </p><p> 
     617      3) Turn it into an obfuscation problem and get competing solutions 
     618      from Greg Stein and Fredrik tomorrow morning. 
     619    </p><p> 
     620      if-anybody's-found-don-beaudry's-sucker-button-let-me-know ly 'yrs 
     621    </p><div class="source">Gordon McMillan, 16 Oct 1998</div></div><div class="quotation"><p> 
     622      To my battle-scarred mind, documentation is never more than a hint. 
     623      Read it once with disbelief suspended, and then again with full 
     624      throttle skepticism. 
     625    </p><div class="source">Gordon McMillan, 19 Oct 1998</div></div><div class="quotation"><p> 
     626      Then let the record show that I hereby formally lobby for such an 
     627      optimization! I'd lay out some arguments, except that it's already 
     628      implemented &lt;wink&gt;. 
     629    </p><p> 
     630      well-<em>that</em>-one-went-easy-ly y'rs - tim 
     631    </p><div class="source">Tim Peters, 20 Oct 1998</div></div><div class="quotation"><p> 
     632      We did requirements and task analysis, iterative design, and user 
     633      testing. You'd almost think programming languages were an interface 
     634      between people and computers. 
     635    </p><div class="source">Steven Pemberton, one of the designers of Python's direct ancestor ABC</div></div><div class="quotation"><p> 
     636      Not at all, although I agree here too &lt;wink&gt;. It's like saying a 
     637      fork is broken just because it's not that handy for jacking up a car. 
     638      That is, Guido implemented the syntax to support default arguments, 
     639      and it works great for that purpose! Using it to fake closures is a 
     640      hack, and the "hey, this is cool!" / "hey, this really sucks!" mixed 
     641      reaction thus follows, much as pain follows a car falling on your 
     642      skull. Stick to stabbing peas, or even teensy pea-sized closures, and 
     643      a fork serves very well. 
     644    </p><div class="source">Tim Peters, 31 Oct 1998</div></div><div class="quotation"><p> 
     645      My customers consider it a marketable skill that I a) think for myself 
     646      b) share my thoughts with them. 
     647    </p><div class="source">Paul Prescod, 2 Nov 1998</div></div><div class="quotation"><p> 
     648      Anyone else know what a Stanley #45 plane is? ... it's not what you 
     649      use if you aren't looking to produce intricate moldings. If you want 
     650      to make a tabletop flat, and bring out the natural beauty of the wood, 
     651      you use a big, long and flat bench plane. The beauty is in the wood, 
     652      not the tool, the tool is just the right one to let you see that and 
     653      to let others see it too. 
     654    </p><p> 
     655      And that's a very impressive kind of beauty in itself, isn't it? The 
     656      kind of beauty some say is homely--an uninteresting face, boring 
     657      angles, few if any parts, no curly flowers. It's just a tool, and not 
     658      beautiful at all. But look, that tool makes beauty. It makes it *easy* 
     659      to make beautiful things, to see deep into the the grain of whatever 
     660      material you're working. 
     661    </p><p> 
     662      Maybe it gets us a little closer to art. 
     663    </p><div class="source">Ivan Van Laningham, 3 Nov 1998</div></div><div class="quotation"><p> 
     664      You might think "That's illegal." That's not illegal; that's 
     665      <em>cool</em>. 
     666    </p><div class="source">Paul Dubois at IPC7, on recursive template definitions in C++</div></div><div class="quotation"><p> 
     667      This supports reflection, which is the 90s way of writing self- 
     668      modifying code. 
     669    </p><div class="source">John Aycock at IPC7, during his parsing talk</div></div><div class="quotation"><p> 
     670      It turns out that docstrings are the only way to associate information 
     671      with functions, which is what led you to abuse them in such a 
     672      fascinating and stomach-churning way. 
     673    </p><div class="source">Jim Hugunin at IPC7, on embedding BNF parsing rules in docstrings</div></div><div class="quotation"><p> 
     674      "The Mayans looked on the integers as gods." 
     675    </p><p> 
     676      "What did the Mayans think of integer division?" 
     677    </p><div class="source">Ivan Van Laningham and an unknown audience member at IPC7</div></div><div class="quotation"><p> 
     678      Y2K problem? The Mayans didn't have a <em>millennium</em>-2K problem! 
     679    </p><div class="source">Eric S. Raymond at IPC7, on learning that the Mayan calendar takes 28 octillion years to wrap around</div></div><div class="quotation"><p> 
     680      "Generic identifier" -- think about it too much and your head 
     681      explodes. 
     682    </p><div class="source">Sean McGrath at IPC7, discussing SGML terminology</div></div><div class="quotation"><p> 
     683      Nothing I've ever written has reached 1.0. 
     684    </p><div class="source">Greg Ward at IPC7, on using small version numbers</div></div><div class="quotation"><p> 
     685      Well, that's a little thing -- the specification. 
     686    </p><div class="source">Guido van Rossum at IPC7</div></div><div class="quotation"><p> 
     687      "We've got a name (Module Distribution Utilities) that gives us a good 
     688      3-letter acronym to group things under: MDU." 
     689    </p><p> 
     690      "&lt;thpftbt&gt;" 
     691    </p><div class="source">Greg Ward and Jeremy Hylton at IPC7</div></div><div class="quotation"><p> 
     692      Mailman is designed to be extensible <em>and</em> comprehensible. 
     693      Without comprehensibility, enhancement is self-limiting -- 
     694      functionality may be improved, but further enhancement gets 
     695      increasingly difficult. 
     696    </p><div class="source">Ken Manheimer at IPC7</div></div><div class="quotation"><p> 
     697      "Generating Usable Installations" -- OK, you've got the GUI SIG. 
     698    </p><div class="source">Barry Warsaw at IPC7, on the choice of name for a SIG to discuss extension building</div></div><div class="quotation"><p> 
     699      Performance is a lot like drugs -- it doesn't do much for you, but it 
     700      occupies a lot of your time. 
     701    </p><div class="source">Jeremy Hylton at IPC7, on the need for a Performance SIG</div></div><div class="quotation"><p> 
     702      I made some slides, but they suck, so I won't bother with them. 
     703    </p><div class="source">Andrew Kuchling at IPC7</div></div><div class="quotation"><p> 
     704      "What's Python?" 
     705    </p><p> 
     706      "It's a computer programming language." 
     707    </p><p> 
     708      "You mean, like DOS?" 
     709    </p><div class="source">Some guy in a bar and Eric S. Raymond (who was wearing a conference T-shirt) at IPC7</div></div><div class="quotation"><p> 
     710      Excellent plan! Devious minds are attracted to Python, like mimes to 
     711      unappreciative crowds. 
     712    </p><div class="source">Tim Peters, 13 Nov 1998</div></div><div class="quotation"><p> 
     713      Ha! If we had only started numbering dimensions with one, we'd already 
     714      be living in a 4-D world, and Mental Organons would be *all over the 
     715      place*! 
     716    </p><div class="source">Tim Peters, 13 Nov 1998</div></div><div class="quotation"><p> 
     717      Well, during those periods when I was me, there was most assuredly 
     718      only one of me. But during some of the more intense discussions, I was 
     719      not me, and while all the rest of the attendees were also not me, it 
     720      is difficult to say whether they were the same not me that I was or 
     721      wasn't at the time. 
     722    </p><div class="source">Gordon McMillan, 18 Nov 1998</div></div><div class="quotation"><p> 
     723      If Python strays into trying to be something completely new it will 
     724      fail, like Scheme, K and Smalltalk. There are both technical and 
     725      sociological reasons for this. If you stray too far technically, you 
     726      make mistakes: either you make modelling mistakes because you don't 
     727      have an underlying logical model (i.e. C++ inheritance) or you make 
     728      interface mistakes because you don't understand how your new paradigm 
     729      will be used by real programmers. 
     730    </p><p> 
     731      Let research languages innovate. Python integrates. 
     732    </p><div class="source">Paul Prescod, 21 Nov 1998</div></div><div class="quotation"><p> 
     733      "I got a little mad at the way python polynomials were written -- the 
     734      code looked like its author knew neither polynomials nor Python." 
     735    </p><p> 
     736      "That would be me :-)." 
     737    </p><div class="source">Moshe Zadka and Guido van Rossum, 22 Nov 1998</div></div><div class="quotation"><p> 
     738      I would recommend not wasting any more time on the naming issue. (This 
     739      is a recurring theme in my posts -- remember, I spent about 0.3 
     740      microseconds thinking about whether "Python" would be a good name for 
     741      a programming language, and I've never regretted it.) 
     742    </p><div class="source">Guido van Rossum, 25 Nov 1998</div></div><div class="quotation"><p> 
     743      "My course members are almost all coming from Math, and the first 
     744      question was 'why isn't it complete?' Just a matter of elegance." 
     745    </p><p> 
     746      "Oh, don't worry. My background is math. This is actually good for 
     747      them -- like discovering that Santa Claus doesn't really exist." 
     748    </p><div class="source">Christian Tismer and Guido van Rossum, 2 Dec 1998</div></div><div class="quotation"><p> 
     749      One of my cheap entertainments is axiomatizing characterizations of 
     750      [Tim Peters]. I think I've come up with a minimal one: the only c.l.p 
     751      poster more concerned with working non-legal code than non-working 
     752      legal code. 
     753    </p><div class="source">Cameron Laird, 2 Dec 1998</div></div><div class="quotation"><p> 
     754      PYTHON = (P)rogrammers (Y)earning (T)o (H)omestead (O)ur (N)oosphere. 
     755    </p><div class="source">Seen in Sean McGrath's .sig, 3 Dec 1998</div></div><div class="quotation"><p> 
     756      I never realized it before, but having looked that over I'm certain 
     757      I'd rather have my eyes burned out by zombies with flaming dung sticks 
     758      than work on a conscientious Unicode regex engine. 
     759    </p><div class="source">Tim Peters, 3 Dec 1998</div></div><div class="quotation"><p> 
     760      "Python? Oh, I've heard of that. I have a friend at the NSA who uses 
     761      it." 
     762    </p><div class="source">Overhead at a meeting, quoted in c.l.p on 3 Dec 1998</div></div><div class="quotation"><p> 
     763      I think Gordon has priority on this one, since it's clearly a 
     764      consequence of his observation that tim_one despises and deplores 
     765      anything useful. Which has greater explanatory power, since I've often 
     766      noted that tim_one complains about legal working code too! Anything 
     767      that works may be useful, right? Brrrrr. Must destroy. 
     768    </p><div class="source">Tim Peters in the third person, 3 Dec 1998</div></div><div class="quotation"><p> 
     769      "Eric has a way of explaining what we're doing and why we're doing 
     770      it," says Guido van Rossum, the inventor of a programming language 
     771      called Python and a prominent figure among open-source proponents. Van 
     772      Rossum, a gawky Dutchman who now lives in Reston, invited Raymond to 
     773      address a group of Python software developers in Houston... 
     774    </p><div class="source">From the <cite>Washington Post</cite>, 3 Dec 1998</div></div><div class="quotation"><p> 
     775      Subclassing with a mixin doesn't let you, for example, interfere with 
     776      how an existing attribute is accessed. The general idea here is to 
     777      kidnap the object, skin it, then waltz around in public impersonating 
     778      it. All without letting the programmer / user know he's been 
     779      bamboozled. 
     780    </p><div class="source">Gordon McMillan, 3 Dec 1998</div></div><div class="quotation"><p> 
     781      Hey, while they're all eating dinner, let's sneak in a keyword! 
     782    </p><p> 
     783      emancipate variable: declare absolute freedom for one variable. It can 
     784      be whatever it wants whenever it wants in whatever form it wants in 
     785      whatever language it wants on whatever computer it wants. In the 
     786      ensuing chaos it will get nothing done, but it will give programmers 
     787      stories to tell for years to come... 
     788    </p><div class="source">Mike Fletcher, 25 Dec 1998</div></div><div class="quotation"><p> 
     789      "Can we kill this thread? The only thing it does as far as I'm 
     790      concerned is increase the posting statistics. :-)" 
     791    </p><p> 
     792      "don't-open-cans-of-worms-unless-you're-looking-for-a-new-diet-ly 
     793      y'rs" 
     794    </p><div class="source">Guido van Rossum and Tim Peters, 6 Jan 1999</div></div><div class="quotation"><p> 
     795      Hey, that was the first truly portable laptop! Of course I'm 
     796      nostalgic. Came with a mighty 24Kb RAM standard, &amp; I popped the 
     797      extra $80 to max it out at 32Kb. Much of Cray's register assigner was 
     798      developed on that beast: unlike the prototype Crays of the time, the 
     799      M100 was always available and never crashed. Even better, I could 
     800      interrupt it any time, poke around, and resume right where it left off 
     801      &lt;wink&gt;. 
     802    </p><p> 
     803      m100-basic-reminded-me-a-lot-of-python-except-that-it-sucked-ly y'rs 
     804    </p><div class="source">Tim Peters remembering the Model 100, 10 Jan 1999</div></div><div class="quotation"><p> 
     805      "Heh -- all it really broke so far was my resistance to installing Tk. 
     806      I suppose wizardry is inevitable after one installs something, though 
     807      &lt;wink&gt;." 
     808    </p><p> 
     809      "Spoken like a truly obsessive-compulsive wizard! It-takes-one-to-know 
     810      -one..." 
     811    </p><div class="source">Tim Peters and Guido van Rossum, 6 Jan 1999</div></div><div class="quotation"><p> 
     812      Note, however, that architectural forms are completely declarative and 
     813      can be implemented in a highly optimized fashion. The sorts of 
     814      extensions that Microsoft has proposed for XSL 
     815      (&lt;xsl:eval&gt;...&lt;/&gt;) would completely destroy those 
     816      features. Architectural mapping would, in general, be as reliable and 
     817      high performance as ordinary software -- (not at all). 
     818    </p><div class="source">Paul Prescod, 6 Jan 1999</div></div><div class="quotation"><p> 
     819      Darned confusing, unless you have that magic ingredient 
     820      <em>coffee</em>, of which I can pay you Tuesday for a couple pounds of 
     821      extra-special grind today. 
     822    </p><div class="source">John Mitchell, 11 Jan 1999</div></div><div class="quotation"><p> 
     823      That's so obvious that someone has already got a patent on it. 
     824    </p><div class="source">Guido van Rossum, 12 Jan 1999</div></div><div class="quotation"><p> 
     825      I have to stop now. I've already told you more than I know. 
     826    </p><div class="source">Wolf Logan, 14 Jan 1999</div></div><div class="quotation"><p> 
     827      I really don't have any incisive insights about the economic 
     828      mechanisms or viability of free software and open source, but I do 
     829      have a strong, clear sense that such things make it possible for me to 
     830      do my job, as a programmer and a facilitator of/participant in online 
     831      communities, better and more easily than I otherwise could do. 
     832    </p><div class="source">Ken Manheimer, 24 Jan 1999</div></div><div class="quotation"><p> 
     833      Every standard applies to a certain problem domain and a certain 
     834      level. A standard can work perfectly and save the world economy 
     835      billions of dollars and there will still be software and hardware 
     836      compatibility problems. In fact, solving one level of compatibility 
     837      just gives rise to the next level of incompatibility. For example, 
     838      connecting computers together through standard protocols gives rise to 
     839      the problem of byte endianness issues. Solving byte endianness gives 
     840      rise to the problem of character sets. Solving character sets gives 
     841      rise to the problem of end-of-line and end-of-file conventions. 
     842      Solving that gets us to the problem of interpreting the low-level 
     843      syntax (thus XML). Then we need to interpet that syntax in terms of 
     844      objects and properties (thus RDF, WDDX, etc.). And so forth. 
     845    </p><p> 
     846      We could judge a standard's success by its ability to reveal another 
     847      level of standardization that is necessary. 
     848    </p><div class="source">Paul Prescod, 24 Jan 1999</div></div><div class="quotation"><p> 
     849      I just want to go on the record as being completely opposed to 
     850      computer languages. Let them have their own language and soon they'll 
     851      be off in the corner plotting with each other! 
     852    </p><div class="source">Steven D. Majewski, 25 Jan 1999</div></div><div class="quotation"><p> 
     853      Constraints often boost creativity. 
     854    </p><div class="source">Jim Hugunin, 11 Feb 1999</div></div><div class="quotation"><p> 
     855      Programming is no different - it's only by going outside what you 
     856      know, and looking from another direction (working, if you like, your 
     857      brain, so that it can be more powerful :-) that you can improve 
     858      further. 
     859    </p><div class="source">Andrew Cooke, 12 Feb 1999</div></div><div class="quotation"><p> 
     860      any-technology-indistinguishable-from-magic-is-too-mysterious- to- 
     861      trust-ly y'rs 
     862    </p><div class="source">Tim Peters, 16 Feb 1999</div></div><div class="quotation"><p> 
     863      "I don't think we've thought of this, and it's actually a good idea." 
     864    </p><p> 
     865      "I'd better go patent it!" 
     866    </p><div class="source">Uche Ogbuji and Paul Prescod, 16 Feb 1999</div></div><div class="quotation"><p> 
     867      Contrary to advertising, no parsing system is "easy to learn", in or 
     868      out of the Python world -- parsing is a hard problem. Most are easy 
     869      enough to use after practice, though. Ironically, the trickiest system 
     870      of all to master (regexps) is also the feeblest and the most widely 
     871      used. 
     872    </p><div class="source">Tim Peters, 17 Feb 1999</div></div><div class="quotation"><p> 
     873      So Python's only cross-platform choices were to mimic the C/POSIX API 
     874      or invent its own new x-platform API; only one of those is realistic 
     875      (as Java proves every day &lt;wink&gt;). 
     876    </p><div class="source">Tim Peters, 21 Feb 1999</div></div><div class="quotation"><p> 
     877      Yes: the code in ntpath.split is too clever to have any hope of 
     878      working correctly &lt;wink&gt;. 
     879    </p><div class="source">Tim Peters, 19 Mar 1999</div></div><div class="quotation"><p> 
     880      Thanks. The sooner I get discouraged and quit, the more time I'll save 
     881      overall. 
     882    </p><div class="source">Frank Sergeant, 28 Mar 1999</div></div><div class="quotation"><p> 
     883      But it's a general way to debug: tell someone what right things your 
     884      program is doing. Chances are that you will see the wrong thing(s) 
     885      before the other person has said anything... I just stick a picture of 
     886      a face on my monitor and talk to it to find bugs. 
     887    </p><div class="source">Richard van de Stadt, 9 Apr 1999</div></div><div class="quotation"><p> 
     888      Might just be nostalgia, but I think I would give an arm or two to get 
     889      that (not necessarily my own, though). 
     890    </p><div class="source">Fredrik Lundh, 13 May 1999</div></div><div class="quotation"><p> 
     891      1. Beautiful is better than ugly. 
     892    </p><p> 
     893      2. Explicit is better than implicit. 
     894    </p><p> 
     895      3. Simple is better than complex. 
     896    </p><p> 
     897      4. Complex is better than complicated. 
     898    </p><p> 
     899      5. Flat is better than nested. 
     900    </p><p> 
     901      6. Sparse is better than dense. 
     902    </p><p> 
     903      7. Readability counts. 
     904    </p><p> 
     905      8. Special cases aren't special enough to break the rules. 
     906    </p><p> 
     907      9. Although practicality beats purity. 
     908    </p><p> 
     909      10. Errors should never pass silently. 
     910    </p><p> 
     911      11. Unless explicitly silenced. 
     912    </p><p> 
     913      12. In the face of ambiguity, refuse the temptation to guess. 
     914    </p><p> 
     915      13. There should be one -- and preferably only one -- obvious way to 
     916      do it. 
     917    </p><p> 
     918      14. Although that way may not be obvious at first unless you're Dutch. 
     919    </p><p> 
     920      15. Now is better than never. 
     921    </p><p> 
     922      16. Although never is often better than <em>right</em> now. 
     923    </p><p> 
     924      17. If the implementation is hard to explain, it's a bad idea. 
     925    </p><p> 
     926      18. If the implementation is easy to explain, it may be a good idea. 
     927    </p><p> 
     928      19. Namespaces are one honking great idea -- let's do more of those! 
     929    </p><p></p><div class="source">Tim Peters' 19 Pythonic Theses, 4 Jun 1999</div></div><div class="quotation"><p> 
     930      "However, I've heard that after about 10K items in a dict, it starts 
     931      having problems." 
     932    </p><p> 
     933      "11,523 to be exact. After that, dicts drink to excess and show up for 
     934      work late the morning after. We don't like to talk about it, though." 
     935    </p><div class="source">Aahz Maruch and Tim Peters, 8 Jun 1999</div></div><div class="quotation"><p> 
     936      Stackless Python 0.2, a plug-in replacement for the Python core that 
     937      does not use the C stack, has been announced by Christian Tismer as 
     938      the best way to prove that it was possible without a major rewrite to 
     939      the core. Neel Krishnaswami commented to Christian, "This is very 
     940      neat, and you are completely deranged". 
     941    </p><div class="source">From Linux Weekly News, 17 Jul 1999</div></div><div class="quotation"><p> 
     942      ... we need more people like him, who are willing to explore without 
     943      being driven to argue with people about it. 
     944    </p><div class="source">William Tanksley on Chuck Moore, inventor of Forth, 2 Jul 1999</div></div><div class="quotation"><p> 
     945      Sorry for the term, I picked it up from Jim Fulton back when it was an 
     946      about-to-be-added feature for Principia/Aqueduct. As with so many 
     947      Fultonisms, it's vivid and tends to stick in one's (non-pluggable) 
     948      brain. 
     949    </p><div class="source">Paul Everitt on the term "pluggable brains", 5 Jul 1999</div></div><div class="quotation"><p> 
     950      I picture a lump of inanimate flesh (a result from a relational 
     951      database query) being infused with the spark of life (object behavior, 
     952      aka class). 
     953    </p><div class="source">Jim Fulton on the term "pluggable brains", 5 Jul 1999</div></div><div class="quotation"><p> 
     954      This is good. It means that while Ionesco is dead, his spirit lives 
     955      on. 
     956    </p><div class="source">Gordon McMillan on how Windows attaches meaning to 3-character file extensions, 30 Jul 1999</div></div><div class="quotation"><p> 
     957      (On the statement <code>print "42 monkeys"+"1 snake"</code>) BTW, both 
     958      Perl and Python get this wrong. Perl gives 43 and Python gives "42 
     959      monkeys1 snake", when the answer is clearly "41 monkeys and 1 fat 
     960      snake". 
     961    </p><div class="source">Jim Fulton, 10 Aug 1999</div></div><div class="quotation"><p> 
     962      I expect that what you really object to is the absence of control 
     963      structures other than goto, and the LT/GE/etc spelling of comparison 
     964      operators. That was common enough in its day, and even by the time 
     965      Pascal came around the keypunch I used still didn't have a semicolon 
     966      key. It looks ugly in retrospect only because it is &lt;wink&gt;. 
     967    </p><div class="source">Tim Peters on SNOBOL4, 17 Aug 1999</div></div><div class="quotation"><p> 
     968      Theory and reality rarely are kissing cousins. 
     969    </p><div class="source">Christopher Petrilli, 1 Sep 1999</div></div><div class="quotation"><p> 
     970      Features generally don't exist in isolation, and you have to look at 
     971      all the consequences, not just the one that attracts you at first 
     972      sight. 
     973    </p><div class="source">Tim Peters, 3 Sep 1999</div></div><div class="quotation"><p> 
     974      The danger in this line of thinking is not realizing that the 
     975      computational effort involved in big NP complete problems is *so* huge 
     976      that even in optimized micro-code, the algorithm might take a million 
     977      years to run. Tweezers or shovel -- it makes little difference when 
     978      you are trying to move a universe... 
     979    </p><div class="source">Sean McGrath, 4 Sep 1999</div></div><div class="quotation"><p> 
     980      On a scale of one to ten I'd give it a tim. 
     981    </p><div class="source">William Tanksley, 13 Sep 1999</div></div><div class="quotation"><p> 
     982      Statistical analysis shows that the junk looks like human text, which 
     983      clearly shows that it is actually used in some yet unknown way. 
     984      (docstrings?) 
     985    </p><div class="source">Fredrik Lundh, writing about junk DNA, 5 Oct 1999</div></div><div class="quotation"><p> 
     986      If I engineer code that I expect to be in use for N years, I make damn 
     987      sure that every internal limit is at least 10x larger than the largest 
     988      I can conceive of a user making reasonable use of at the end of those 
     989      N years. The invariable result is that the N years pass, and fewer 
     990      than half of the users have bumped into the limit &lt;0.5 wink&gt;. 
     991    </p><div class="source">Tim Peters, 11 Nov 1999</div></div><div class="quotation"><p> 
     992      I don't think the bytecodehacks, while sufficiently dark and useless 
     993      to be a tim-ism, qualify me in any way for a Pythonic Wizard Hat... 
     994    </p><div class="source">Michael Hudson, 16 Nov 1999</div></div><div class="quotation"><p> 
     995      The bottom tier is what a certain class of wanker would call "business 
     996      objects"... 
     997    </p><div class="source">Greg Ward, 9 Dec 1999</div></div><div class="quotation"><p> 
     998      Since I've done fewer than my normal quota of futile things this week, 
     999      I thought I'd post to remind people that ... 
     1000    </p><div class="source">Phil Austin, 9 Dec 1999</div></div><div class="quotation"><p> 
     1001      There are useful diagrams in UML, (eg, the state and transition 
     1002      diagrams). Unfortunately, the one most tools use to generate code (and 
     1003      draw from reverse engineering) has everything to do with language 
     1004      structure, and nothing to do with what actually happens at runtime. To 
     1005      put it bluntly: people spend most of their time designing the wrong 
     1006      thing. Worse, they get it wrong, but it's carved in stone now; so the 
     1007      final system is either needlessly complex and marginally functional, 
     1008      or bears no resemblance to the "design". 
     1009    </p><div class="source">Gordon McMillan, 15 Dec 1999</div></div><div class="quotation"><p> 
     1010      The secret to good performance is to prototype and prototype, then 
     1011      code the bottlenecks in a faster language. The secret to large systems 
     1012      is to prototype and prototype, until you've got clean separation of 
     1013      the system into managable pieces, then code in whatever language most 
     1014      suits the need of each piece. 
     1015    </p><div class="source">Gordon McMillan, 15 Dec 1999</div></div><div class="quotation"><p> 
     1016      When Jim [Fulton] says "tricky" it means your brain could explode. 
     1017    </p><div class="source">Michel Pelletier, 15 Dec 1999</div></div><div class="quotation"><p> 
     1018      You have start-tags, attributes, end-tags and character data. We have 
     1019      all seen "XML applications" and "XML parsers" which handle this gang- 
     1020      of-four concepts. ... Now we can peer over the parapet and shout "your 
     1021      parser smells of elderberries" or "I wave my mixed content at your 
     1022      ankles", as long as we like but the simple gang-of-four base apps will 
     1023      not go away. 
     1024    </p><div class="source">Sean McGrath, 19 Dec 1999</div></div><div class="quotation"><p> 
     1025      Abstraction is one of those notions that Python tosses out the window, 
     1026      yet expresses very well. 
     1027    </p><div class="source">Gordon McMillan, 6 Jan 2000</div></div><div class="quotation"><p> 
     1028      The set of naming conventions has a cardinality equal to the number of 
     1029      Python users. 
     1030    </p><div class="source">Gordon McMillan, 6 Jan 2000</div></div><div class="quotation"><p> 
     1031      The way to build large Python applications is to componentize and 
     1032      loosely-couple the hell out of everything. 
     1033    </p><div class="source">Aahz Maruch, 6 Jan 2000</div></div><div class="quotation"><p> 
     1034      It's not the mail volume that bothers me -- I can ignore 100s of 
     1035      messages a day very quickly. It's the time it takes to respond to all 
     1036      of them. 
     1037    </p><div class="source">Guido van Rossum, 20 Jan 2000</div></div><div class="quotation"><p> 
     1038      This is the way of Haskell or Design by Contract of Eiffel. This one 
     1039      is like wearing a XV century armor, you walk very safely but in a very 
     1040      tiring way. 
     1041    </p><div class="source">Manuel Gutierrez Algaba, 26 Jan 2000</div></div><div class="quotation"><p> 
     1042      Life's better without braces. 
     1043    </p><div class="source">Unofficial motto of IPC8, coined by Bruce Eckel</div></div><div class="quotation"><p> 
     1044      "Aggressive" means "sometimes wrong". 
     1045    </p><div class="source">John Aycock at IPC8, during his "Agressive Type Inferencing" talk</div></div><div class="quotation"><p> 
     1046      Do I do everything in C++ and teach a course in advanced swearing? 
     1047    </p><div class="source">David Beazley at IPC8, on choosing a language for teaching</div></div><div class="quotation"><p> 
     1048      Alice is 3D Logo on steroids. 
     1049    </p><div class="source">Randy Pausch at IPC8</div></div><div class="quotation"><p> 
     1050      I was willing to grant this one at once, but, now that I look back at 
     1051      it all -- the loyalty oaths, the relentless self-criticism sessions, 
     1052      the midnight visits from the Ministry of Love -- I'm afraid what we 
     1053      really have here is unspeakably more sinister. 
     1054    </p><div class="source">Tim Peters after a reference to "Python's cult-like following", 2 Feb 2000</div></div><div class="quotation"><p> 
     1055      Guido (like us!) is a bit schizophrenic here: he wants to be a 
     1056      benevolent dictator, but also wants to treat people like grownups. 
     1057      This probably worked better before Python got a large American 
     1058      audience &lt;0.9 wink&gt;. 
     1059    </p><div class="source">Tim Peters, 10 Feb 2000</div></div><div class="quotation"><p> 
     1060      I have formal proofs that any change of the indentation rules results 
     1061      in 35% increase of the page faults for only 63.7% of the cache misses. 
     1062      The net effect is an overall slowdown of 10%. 
     1063    </p><div class="source">Vladimir Marangozov after Yet Another indentation flamewar, 16 Feb 2000</div></div><div class="quotation"><p> 
     1064      ... let me just say that my least-favourite Python error message is 
     1065      "SyntaxError: invalid syntax", which somehow manages to be both overly 
     1066      terse and redundant at the same time. 
     1067    </p><div class="source">Greg Ward, 15 Feb 2000</div></div><div class="quotation"><p> 
     1068      See, functional programmers are an insular lot. You rarely see them in 
     1069      public, except at parades when they all have antler- hats and silly 
     1070      shoes on. So they completely missed the infamous "goto considered 
     1071      harmful" thread and didn't even realize they were doing anything 
     1072      wrong. 
     1073    </p><p> 
     1074      Now, let's pretend you're writing a 'bot that can pass as a functional 
     1075      programmer. There's a complex protocol here. When two functional 
     1076      programmers see each other on the street, they recognize each other by 
     1077      the antler hats. But in certain parts of the Midwest, regular people 
     1078      wear antler hats, too. So there's a protocol. First a &lt;wink 
     1079      wink&gt;. Then the secret handshake. Then you sniff each other's 
     1080      armpits and stamp your foot 3 times. 
     1081    </p><p> 
     1082      OK, so you've written a bot, and it works fine on the street. Now you 
     1083      send it to a cocktail party. It sees a potential functional programmer 
     1084      and gives the &lt;wink wink&gt;. Now it tries to move into position to 
     1085      do the secret handshake, but discovers that it's antler-hat is 
     1086      entangled with someone else's. Oops. &lt;wink wink&gt; at the new guy. 
     1087      Handshake. But before it can sniff, the first one has moved up for his 
     1088      handshake. Ay yi yi. Your bot crashes and is exposed. 
     1089    </p><p> 
     1090      So now you rewrite your bot to use a finite state machine so it can 
     1091      handle multiple sessions. That means throwing out all the code that 
     1092      worked on the street. But if you'd used continuations, it would be a 
     1093      relatively minor adjustment of that code. 'Course you wouldn't have 
     1094      had to write the bot to begin with. 
     1095    </p><div class="source">Gordon McMillan, 18 Feb 2000</div></div><div class="quotation"><p> 
     1096      IIRC, Guido went to CNRI to work on bots and agents or something 
     1097      similar. Could the timbot and the effbot be an offshoot of that? Next, 
     1098      he's going to start a company with timbot and effbot as the main 
     1099      products. Van Rossum's Universal Robots? 
     1100    </p><div class="source">Bernhard Herzog, 21 Feb 2000</div></div><div class="quotation"><p> 
     1101      So those are the extremes: Boehm-Demers-Weiser avoids blame by 
     1102      refusing to do anything. Java avoids blame by exposing an impossibly 
     1103      baroque implementation-driven finalization model. Scheme avoids blame 
     1104      by refusing to do anything "by magic", but helps you to shoot yourself 
     1105      with the weapon of your choice. The bad news is that I don't know of a 
     1106      scheme <em>not</em> at an extreme! 
     1107    </p><div class="source">Tim Peters on the knotty problem of finalizers and cycles, 3 Mar 2000</div></div><div class="quotation"><p> 
     1108      It's extremely un-Pythonic to let things leak (despite that it has let 
     1109      things leak for a decade &lt;wink&gt;), but also extremely un-Pythonic 
     1110      to make some wild-ass guess. 
     1111    </p><div class="source">Tim Peters on garbage collection, 3 Mar 2000</div></div><div class="quotation"><p> 
     1112      IOW, the only people who lose under this scheme are the ones begging 
     1113      to lose, and their "loss" consists of taking responsibility. 
     1114    </p><div class="source">Tim Peters, 3 Mar 2000</div></div><div class="quotation"><p> 
     1115      An axiom is accepted without proof: we have plenty of proof that 
     1116      there's no thoroughly good answer (i.e., every language that has ever 
     1117      addressed this issue -- along with every language that ever will 
     1118      &lt;wink&gt;). 
     1119    </p><div class="source">Tim Peters on garbage collection, 3 Mar 2000</div></div><div class="quotation"><p> 
     1120      I can see the FAQ now... 
     1121    </p><p> 
     1122      Q1.1.2.3: Why can't I divide integers? 
     1123    </p><p> 
     1124      A: You drooling moron! You need a 10-page owners manual and 
     1125      instructional video to handle the notational complexity of Tic-Tacs, 
     1126      don't you? As every schoolboy knows, the integers are a <em>ring</em>, 
     1127      not a field, you simpering simpleton. Oh wait! Let me guess! I have to 
     1128      spell it out for you, you festering wombat boil. You can't divide 
     1129      integers by integers and get integers. Understand now? Now go out 
     1130      there and don't do it. And read Herstein, while you're at it. 
     1131    </p><div class="source">Johann Hibschman, 4 Mar 2000</div></div><div class="quotation"><p> 
     1132      Actually, I believe you understand me fine, you'd just rather not 
     1133      believe it: floating point sucks, rationals suck, refusing to allow 
     1134      int division sucks, the constructive reals suck, symbolic manipulation 
     1135      sucks, ..., but all in different ways for different reasons. Every one 
     1136      bristles with its own brands of both shallow and deep "surprises". So 
     1137      it goes -- seeking to represent the infinite by the finite is an 
     1138      inherently unreachable goal. This is also why people die &lt;wink&gt;. 
     1139    </p><div class="source">Tim Peters, 4 Mar 2000</div></div><div class="quotation"><p> 
     1140      The reason I'm right is that I said there won't be any <em>single</em> 
     1141      "survivor" of the evolutionary struggle, and that the efforts to crown 
     1142      one's favorite as such are just so much noise. The software ecosystem 
     1143      of the foreseeable future will always have its own form of 
     1144      "diversity": there will be lions <em>and</em> elephants <em>and</em> 
     1145      fish <em>and</em> seals <em>and</em> birds, because there will be many 
     1146      diverse "habitats" where the particular adaptations of each will be 
     1147      needed/advantageous. 
     1148    </p><p> 
     1149      The reasoned debates (as opposed to religious wars) may lead to lions 
     1150      with opposable thumbs, or elephants that can see in the infrared, but 
     1151      there will never be a 2000-pound fish with a mane and wings. Well, not 
     1152      outside the lab, anyway. 
     1153    </p><div class="source">Ran, 5 Mar 2000</div></div><div class="quotation"><p> 
     1154      "Complexity" seems to be a lot like "energy": you can 
     1155      <em>transfer</em> it from the end user to one/some of the other 
     1156      players, but the total amount seems to remain pretty much constant for 
     1157      a given task. 
     1158    </p><div class="source">Ran, 5 Mar 2000</div></div><div class="quotation"><p> 
     1159      LaTeX2HTML is pain. 
     1160    </p><div class="source">Fred Drake in a documentation checkin message, 14 Mar 2000</div></div><div class="quotation"><p> 
     1161      Here, have some cycles of reversed kielbasa. And ten (10 (0xa 
     1162      (101010b))) Usenet Points, redeemable in comp.lang.python for 
     1163      increased local prestige. Some prestige may depend upon your own 
     1164      actions. Local Prestige may or may not have any effect on your actual 
     1165      life (or lack thereof). 
     1166    </p><div class="source">William Tanksley, 21 Mar 2000</div></div><div class="quotation"><p> 
     1167      Mucking with builtins is fun the way huffing dry erase markers is fun. 
     1168      Things are very pretty at first, but eventually the brain cell lossage 
     1169      will more than outweigh that cheap thrill. 
     1170    </p><div class="source">Barry Warsaw, 23 Mar 2000</div></div><div class="quotation"><p> 
     1171      &gt;Have you ever looked at the output of a <code>bib | tbl | 
     1172      eqn</code> pipeline? 
     1173    </p><p> 
     1174      Are you kids still using that as a pick-up line? 
     1175    </p><div class="source">Roy Smith and Cameron Laird, 4 Apr 2000</div></div><div class="quotation"><p> 
     1176      This is like getting lost in a dictionary. What does quincuncial mean 
     1177      anyhow? 
     1178    </p><div class="source">Dennis Hamilton, 4 Apr 2000</div></div><div class="quotation"><p> 
     1179      UTF-8 has a certain purity in that it equally annoys every nation, and 
     1180      is nobody's default encoding. 
     1181    </p><div class="source">Andy Robinson, 10 Apr 2000</div></div><div class="quotation"><p> 
     1182      "Now if we could figure out where python programmers are from, someone 
     1183      could write a book and get rich." 
     1184    </p><p> 
     1185      "Yorkshire." 
     1186    </p><div class="source">Quinn Dunkan and Warren Postma, 11 Apr 2000</div></div><div class="quotation"><p> 
     1187      If I didn't have my part-time performance art income to help pay the 
     1188      bills, I could never afford to support my programming lifestyle. 
     1189    </p><div class="source">Jeff Bauer, 21 Apr 2000</div></div><div class="quotation"><p> 
     1190      Of course, this brought me face to face once again with Python's 
     1191      <em>pons asinorum</em>, the significance of whitespace. 
     1192    </p><div class="source">Eric S. Raymond, in the <cite>Linux Journal</cite>'s Python supplement</div></div><div class="quotation"><p> 
     1193      Surprisingly enough, Python has taught me more about Lisp than Lisp 
     1194      ever did ;-). 
     1195    </p><div class="source">Glyph Lefkowitz, 3 May 2000</div></div><div class="quotation"><p> 
     1196      How about we notate the hungarian notation with the type of hungarian 
     1197      notation, you know, hungarian meta notation: HWND 
     1198      aWin32ApiHandleDefinedInWindowsDotH_hwndWindowHandle; 
     1199    </p><div class="source">Warren Postma, 4 May 2000</div></div><div class="quotation"><p> 
     1200      Note that Python's licence is in fact the MIT X11 licence, with MIT 
     1201      filed off and CNRI written in its place in crayon. 
     1202    </p><div class="source">A.M. Kuchling, 5 May 2000</div></div><div class="quotation"><p> 
     1203      Once you've read and understood <cite>The Art of the Metaobject 
     1204      Protocol</cite> you are one quarter of the way to provisional wizard 
     1205      status. (The other three-fourths are b) understanding Haskell's 
     1206      monads, c) grokking Prolog, and d) becoming handy with a combinator- 
     1207      based language by implementing a Forth.) 
     1208    </p><div class="source">Neel Krishnaswami, 9 May 2000</div></div><div class="quotation"><p> 
     1209      "The future" has arrived but they forgot to update the docs. 
     1210    </p><div class="source">R. David Murray, 9 May 2000</div></div><div class="quotation"><p> 
     1211      /* This algorithm is from a book written before the invention of 
     1212      structured programming... */ 
     1213    </p><div class="source">Comment in parser/pgen.c, noted by Michael Hudson</div></div><div class="quotation"><p> 
     1214      For more information please see my unpublished manuscript on steam 
     1215      driven turing machines. [2000pp in crayon donated to the harvard 
     1216      library -- they never told me whether they filed it under mathematics, 
     1217      philosophy, logic, mechanical engineering, or computational science] 
     1218    </p><div class="source">Aaron Watters, 12 May 2000</div></div><div class="quotation"><p> 
     1219      Me? I hate the whole lambda calculus, not because of what it is, but 
     1220      because of what many people think it is. They think that it's the 
     1221      whole of computer science, the ultimate way to express and reason 
     1222      about programs, when in reality it's merely a shabby and incomplete 
     1223      model of how Fortran fails to work. The first thing SICP has to do is 
     1224      teach everyone how bad the lambda calculus model is -- as part of 
     1225      teaching them about a language allegedly based on lambda calculus. 
     1226    </p><p> 
     1227      I'm sorry, was my bias showing again? :-) 
     1228    </p><div class="source">William Tanksley, 13 May 2000</div></div><div class="quotation"><p> 
     1229      I never got beyond starting the data-structures in C++, I never got 
     1230      beyond seeing how it would work in Scheme. I finished it in one Python 
     1231      -filled afternoon, and discovered the idea sucked big time. I was glad 
     1232      I did it in Python, because it only cost me one afternoon to discover 
     1233      the idea sucks. 
     1234    </p><div class="source">Moshe Zadka, 13 May 2000</div></div><div class="quotation"><p> 
     1235      In truth, we use 'j' to represent sqrt(-1) for exactly the same reason 
     1236      we use a convention for the direction of current which is exactly the 
     1237      opposite of the direction the electrons actually travel: because it 
     1238      drives physicists crazy. (And if we pick up a few mathematicians or 
     1239      whatever along the way, well, that's just gravy. ;-) 
     1240    </p><div class="source">Grant R. Griffin, 14 May 2000</div></div><div class="quotation"><p> 
     1241      Unicode: everyone wants it, until they get it. 
     1242    </p><div class="source">Barry Warsaw, 16 May 2000</div></div><div class="quotation"><p> 
     1243      I saw a hack you sent me a few months ago and approved of its intent 
     1244      and was saddened by its necessity. 
     1245    </p><div class="source">Jim Fulton, 16 May 2000</div></div><div class="quotation"><p> 
     1246      Suspicions are most easily dispelled/confirmed via evidence, and 
     1247      taking the trouble to do this has the pleasant side-effect that you 
     1248      can either cease expending effort worrying, or move directly to taking 
     1249      positive action to correct the problem. 
     1250    </p><div class="source">Neel Krishnaswami, 21 May 2000</div></div><div class="quotation"><p> 
     1251      Thanks to the overnight turnaround and the early interpreter's habit 
     1252      of returning nothing at all useful if faced with a shortage of )s, one 
     1253      could easily detect the LISP users: they tended to walk around with 
     1254      cards full of )))))))... in their shirt pockets, to be slapped onto 
     1255      the end of submitted card decks: one at least got something back if 
     1256      there were too many )s. 
     1257    </p><div class="source">John W. Baxter, 21 May 2000</div></div><div class="quotation"><p> 
     1258      Python: embodies a harmony of chocolate kisses with hints of jasmine 
     1259      and rose. Trussardi's wild new fragrance. 
     1260    </p><div class="source">From <cite>Marie Claire</cite>, Australian edition, May 2000; noted by Fiona Czuczman</div></div><div class="quotation"><p> 
     1261      In arts, compromises yield mediocre results. The personality and 
     1262      vision of the artist has to go through. I like to see Python as a 
     1263      piece of art. I just hope the artist will not get too tainted by 
     1264      usability studies. 
     1265    </p><div class="source">François Pinard, 22 May 2000</div></div><div class="quotation"><p> 
     1266      In fact, I've never seen an argument about which I cared less. I'm 
     1267      completely case insensitivity insensitive. 
     1268    </p><div class="source">William Tanksley, 23 May 2000</div></div><div class="quotation"><p> 
     1269      They boo-ed when Dylan went electric. But for me its about the 
     1270      instincts of a designer, and the faith of a fan. Not science. So much 
     1271      the better. 
     1272    </p><div class="source">Arthur Siegel, 23 May 2000</div></div><div class="quotation"><p> 
     1273      Burroughs did something very odd with COBOL at one point (and no, it 
     1274      wasn't The Naked Lunch). 
     1275    </p><div class="source">Will Rose, 27 May 2000</div></div><div class="quotation"><p> 
     1276      Code generators are hacks. Sometimes necessary hacks, but hacks 
     1277      nevertheless. 
     1278    </p><div class="source">Paul Prescod, 7 Jun 2000</div></div><div class="quotation"><p> 
     1279      Very rough; like estimating the productivity of a welder by the amount 
     1280      of acetylene used. 
     1281    </p><div class="source">Paul Svensson, on measuring programmer productivity by lines of code, 19 Jun 2000</div></div><div class="quotation"><p> 
     1282      I vote for backward compatibility for now, and not only because that 
     1283      will irritate /F the most. 
     1284    </p><div class="source">Tim Peters, 30 Jun 2000</div></div><div class="quotation"><p> 
     1285      A comment is in order then. If the code is smarter than it looks, most 
     1286      people aren't going to think it looks very smart. 
     1287    </p><div class="source">Jeremy Hylton, 6 Jul 2000</div></div><div class="quotation"><p> 
     1288      You and I think too much alike ?!ng. And if that doesn't scare you 
     1289      now, you should have a talk with Gordon. 
     1290    </p><div class="source">Barry Warsaw, 12 Jul 2000</div></div><div class="quotation"><p> 
     1291      Isn't it somewhat of a political statement to allow marriages of three 
     1292      or more items? I always presumed that this function was n-ary, like 
     1293      map(). 
     1294    </p><div class="source">Paul Prescod, on the proposed name marry() for a function to combine sequences, 12 Jul 2000</div></div><div class="quotation"><p> 
     1295      Since my finger was slowest reaching my nose, I got elected Editor. On 
     1296      the positive side of that, I get to make the early decisions that will 
     1297      be cursed for generations of Python hackers to come. 
     1298    </p><div class="source">Barry Warsaw, 12 Jul 2000</div></div><div class="quotation"><p> 
     1299      Hey, you know, we can work this in. Sailor Moon + Giant Robots + 
     1300      Tentacle Demons + Python Conference == Bizarre hilarity ensues! 
     1301    </p><div class="source">Alexander Williams, 4 Aug 2000</div></div><div class="quotation"><p> 
     1302      The rapid establishment of social ties, even of a fleeting nature, 
     1303      advance not only that goal but its standing in the uberconscious mesh 
     1304      of communal psychic, subjective, and algorithmic interbeing. But I 
     1305      fear I'm restating the obvious. 
     1306    </p><div class="source">Will Ware, 28 Aug 2000</div></div><div class="quotation"><p> 
     1307      The comp.lang.python newsgroup erupted last week with a flurry of 
     1308      posts that accused the Python development team of creeping featurism, 
     1309      selling out the language to corporate interests, moving too fast, and 
     1310      turning a deaf ear to the Python community. What triggered this lava 
     1311      flow of accusations? The development team accepted a proposal to 
     1312      change the syntax of the print statement. 
     1313    </p><div class="source">Stephen Figgins, 30 Aug 2000</div></div><div class="quotation"><p> 
     1314      INTERVIEWER: Tell us how you came to be drawn into the world of 
     1315      pragmas. 
     1316    </p><p> 
     1317      COMPILER WRITER: Well, it started off with little things. Just a few 
     1318      boolean flags, a way to turn asserts on and off, debug output, that 
     1319      sort of thing. I thought, what harm can it do? It's not like I'm doing 
     1320      anything you couldn't do with command line switches, right? Then it 
     1321      got a little bit heavier, integer values for optimisation levels, even 
     1322      the odd string or two. Before I knew it I was doing the real hard 
     1323      stuff, constant expressions, conditionals, the whole shooting box. 
     1324      Then one day when I put in a hook for making arbitrary calls into the 
     1325      interpreter, that was when I finally realised I had a problem... 
     1326    </p><div class="source">Greg Ewing, 31 Aug 2000</div></div><div class="quotation"><p> 
     1327      The modules people have built for Python are like the roads the Romans 
     1328      built through Europe. On this solid ground, you can move fast as you 
     1329      work on aspects of program design that aren't so analytical -- user 
     1330      interface, multi-threaded event dispatching models, all kinds of 
     1331      things that can be done a lot of different ways and are hard to get 
     1332      right the first time through. 
     1333    </p><div class="source">Donn Cave, 3 Sep 2000</div></div><div class="quotation"><p> 
     1334      Python 2.0 beta 1 is now available from BeOpen PythonLabs. There is a 
     1335      long list of new features since Python 1.6, released earlier today. We 
     1336      don't plan on any new releases in the next 24 hours. 
     1337    </p><div class="source">Jeremy Hylton, in the 2.0b1 announcement, 5 Sep 2000</div></div><div class="quotation"><p> 
     1338      Fortunately, you've left that madness behind, and entered the clean, 
     1339      happy, and safe Python world of transvestite lumberjacks and singing 
     1340      Vikings. 
     1341    </p><div class="source">Quinn Dunkan, 17 Sep 2000</div></div><div class="quotation"><p> 
     1342      Regular expressions are among my most valued tools, along with goto, 
     1343      eval, multiple inheritance, preemptive multithreading, floating point, 
     1344      run-time type identification, a big knife, a bottle of bleach, and 
     1345      120VAC electricity. All of these things suck sometimes. 
     1346    </p><div class="source">Kragen Sitaker, 27 Sep 2000</div></div><div class="quotation"><p> 
     1347      IIRC, he didn't much care for regexps before, but actually writing a 
     1348      regexp engine drives most people who do it to intense hatred. 
     1349    </p><p> 
     1350      Just more of the magic of Python! Transmuting a few peoples' intense 
     1351      agony into the subject of others' idle amusement &lt;wink&gt;. 
     1352    </p><div class="source">Tim Peters, 27 Sep 2000</div></div><div class="quotation"><p> 
     1353      "I do not love thee, lambda; let me count the ways..." 
     1354    </p><div class="source">Aahz Maruch, 27 Sep 2000</div></div><div class="quotation"><p> 
     1355      They are called "Exceptions" because to any policy for handling them, 
     1356      imposed in advance upon all programmers by the computer system, some 
     1357      programmers will have good reason to take exception. 
     1358    </p><div class="source">William Kahan, quoted by Tim Peters, 13 Oct 2000</div></div><div class="quotation"><p> 
     1359      "Interim steps" have a tendency to become permanent in our industry, 
     1360      where "Compatibility" is the way the sins of the fathers are inflicted 
     1361      upon the third and fourth generations ... 
     1362    </p><div class="source">William Kahan, quoted by Huaiyu Zhu, 16 Oct 2000</div></div><div class="quotation"><p> 
     1363      The most successful projects I've seen and been on <em>did</em> 
     1364      rewrite all the code routinely, but one subsystem at a time. This 
     1365      happens when you're tempted to add a hack, realize it wouldn't be 
     1366      needed if an entire area were reworked, and mgmt is bright enough to 
     1367      realize that hacks compound in fatal ways over time. The "ain't broke, 
     1368      don't fix" philosophy is a good guide here, provided you've got a very 
     1369      low threshold for insisting "it's broke". 
     1370    </p><div class="source">Tim Peters, 25 Oct 2000</div></div><div class="quotation"><p> 
     1371      Humour is a tricky thing. Some people can't even get the spelling 
     1372      right. 
     1373    </p><div class="source">Richard Brodie, 30 Oct 2000</div></div><div class="quotation"><p> 
     1374      The same way as you get the name of that cat you found on your porch: 
     1375      the cat (object) itself cannot tell you its name, and it doesn't 
     1376      really care -- so the only way to find out what it's called is to ask 
     1377      all your neighbours (namespaces) if it's their cat (object)... 
     1378    </p><p> 
     1379      ....and don't be surprised if you'll find that it's known by many 
     1380      names, or no name at all! 
     1381    </p><div class="source">Fredrik Lundh, 3 Nov 2000, in answer to the question "How can I get the name of a variable from C++ when I have the PyObject*?"</div></div><div class="quotation"><p> 
     1382      These are mostly nice features, to be sure, but they're also just 
     1383      that: features. C++ has features. Python doesn't have a stellar score 
     1384      on my elegance-o-meter, but for me its major win is the lack of 
     1385      features, and lack of ambiguities. It fits in my brain. 
     1386    </p><div class="source">Quinn Dunkan, 18 Nov 2000</div></div><div class="quotation"><p> 
     1387      When explaining programming I sometimes compare programmers to 
     1388      photographers: amateur photographers talk about cameras and lenses and 
     1389      gadgets. They know how to make their camera do almost anything, and 
     1390      they are keen to argue the merits of their favorite tools. 
     1391      Professional photographers talk about contrast and lighting and 
     1392      composition. The camera is almost irrelevant. Ansel Adams used cameras 
     1393      that were less sophisticated than a supermarket disposable, back when 
     1394      photography was slow and tedious (like batch-oriented programming). 
     1395      Because the technology was so primitive, he carefully planned his 
     1396      photographs and developed discipline so he could reliably make 
     1397      excellent photographs over and over. 
     1398    </p><div class="source">Greg Jorgensen, 26 Nov 2000</div></div><div class="quotation"><p> 
     1399      As you might have guessed, I didn't do this just for fun. It is the 
     1400      old game of explaining what is there, convincing everybody that you at 
     1401      least know what you are talking about, and then three days later 
     1402      coming up with an improved application of the theory. 
     1403    </p><div class="source">Christian Tismer, 11 Dec 2000</div></div><div class="quotation"><p> 
     1404      Have they sprouted a new timbot, more geared towards newbies, more 
     1405      polite and friendly maybe, with a touch of human fallibility (hence 
     1406      the occasional slip of the keyboard) and named it Alex? 
     1407    </p><div class="source">Carel Fellinger, 12 Dec 2000</div></div><div class="quotation"><p> 
     1408      I'm spending most of my waking hours understanding this patch -- it is 
     1409      a true piece of wizardry. 
     1410    </p><div class="source">GvR, discussing a patch from Neil Schemenauer, 13 Dec 2000</div></div><div class="quotation"><p> 
     1411      Maybe they took solidity <em>for granted</em>, because, in their 
     1412      (Renaissance) times and in their (Architecture) calling, compromises 
     1413      regarding solidity were simply unthinkable. Well, we're not so lucky, 
     1414      in the software field, today; the Firmitas of <em>by far</em> most 
     1415      software around is imperfect. 
     1416    </p><p> 
     1417      We <em>must</em> live by "do the simplest thing that can possibly 
     1418      work" -- give solidity its proper, foremost place. One of the 
     1419      debilitating factors for much current software is a misplaced emphasis 
     1420      on assumed 'convenience' (funky GUIs, quirky shortcuts, special cases 
     1421      aplenty) to the detriment of solidity. A small but crucial step to 
     1422      reverse this trend, is to start by putting the order right once 
     1423      more... the way Vitruvius had it! 
     1424    </p><div class="source">Alex Martelli, 13 Dec 2000</div></div><div class="quotation"><p> 
     1425      The Martellibot Mark 1 has a completely European flavour to it, and 
     1426      adds a cosmopolitan touch of linguistics to its output, sprinkling 
     1427      foreign language references in. It is similar to the timbot in its 
     1428      overall erudition, but can be distinguished from it by its tendency to 
     1429      indulge in flamewars (which, I believe, it does mostly to convince us 
     1430      it is human). 
     1431    </p><div class="source">Steve Holden, 13 Dec 2000</div></div><div class="quotation"><p> 
     1432      In keeping with the religious nature of the battle-- and religion 
     1433      offers precise terms for degrees of damnation! --I suggest: 
     1434    </p><p> 
     1435      struggling -- a supported feature; the initial state of all features; 
     1436      may transition to Anathematized 
     1437    </p><p> 
     1438      anathematized -- this feature is now cursed, but is supported; may 
     1439      transition to Condemned or Struggling; intimacy with Anathematized 
     1440      features is perilous 
     1441    </p><p> 
     1442      condemned -- a feature scheduled for crucifixion; may transition to 
     1443      Crucified, Anathematized (this transition is called "a pardon"), or 
     1444      Struggling (this transition is called "a miracle"); intimacy with 
     1445      Condemned features is suicidal 
     1446    </p><p> 
     1447      crucified -- a feature that is no longer supported; may transition to 
     1448      Resurrected 
     1449    </p><p> 
     1450      resurrected -- a once-Crucified feature that is again supported; may 
     1451      transition to Condemned, Anathematized or Struggling; although since 
     1452      Resurrection is a state of grace, there may be no point in human time 
     1453      at which a feature is identifiably Resurrected (i.e., it may *appear*, 
     1454      to the unenlightened, that a feature moved directly from Crucified to 
     1455      Anathematized or Struggling or Condemned -- although saying so out 
     1456      loud is heresy). 
     1457    </p><div class="source">Tim Peters, 18 Dec 2000</div></div><div class="quotation"><p> 
     1458      my-python-code-runs-5x-faster-this-month-thanks-to-dumping-$2K- on-a- 
     1459      new-machine-ly y'rs 
     1460    </p><div class="source">Tim Peters, 26 Dec 2000</div></div><div class="quotation"><p> 
     1461      Really, I should pronounce on that PEP (I don't like it very much but 
     1462      haven't found the right argument to reject it :-) ) so this patch can 
     1463      either go in or be rejected. 
     1464    </p><div class="source">GvR, 04 Jan 2001, in a comment on patch #101264</div></div><div class="quotation"><p> 
     1465      The rest is history: the glory, the fame, the riches, the groupies, 
     1466      the adulation of my peers. We won't mention the financial scandal and 
     1467      subsequent bankruptcy lest it discourage you for no good reason 
     1468      &lt;wink&gt;. 
     1469    </p><div class="source">Tim Peters, 14 Jan 2001</div></div><div class="quotation"><p> 
     1470      If you're using anything besides US-ASCII, I <em>stringly</em> suggest 
     1471      Python 2.0. 
     1472    </p><div class="source">Uche Ogbuji (A fortuitous typo?), 29 Jan 2001</div></div><div class="quotation"><p> 
     1473      "There goes Tim, browsing the Playboy site just for the JavaScript. 
     1474      Honest." 
     1475    </p><p> 
     1476      "Well, it's not like they had many floating-point numbers to ogle! I 
     1477      like 'em best when the high-order mantissa bits are all perky and 
     1478      regular, standing straight up, then go monster insane in the low-order 
     1479      bits, so you can't guess *what* bit might come next! Man, that's hot. 
     1480      Top it off with an exponent field with lots of ones, and you don't 
     1481      even need any oil. Can't say I've got a preference for sign bits, 
     1482      though -- zero and one can both be saucy treats. Zero is more of a 
     1483      tease, so I guess it depends on the mood." 
     1484    </p><div class="source">Barry Warsaw and Tim Peters, 3 Feb 2001</div></div><div class="quotation"><p> 
     1485      We were sincerely hoping that the Python core team would teach their 
     1486      employers how to code Python, instead of the other way around... 
     1487    </p><div class="source">Pieter Nagel, 5 Feb 2001</div></div><div class="quotation"><p> 
     1488      This bug fix brought to you by the letters b, c, d, g, h, ... and the 
     1489      reporter Ping. 
     1490    </p><div class="source">Jeremy Hylton in a checkin message for Python/compile.c, 12 Feb 2001</div></div><div class="quotation"><p> 
     1491      "It's in ClassModules.py you dumb f**k - can't you tell by the name?" 
     1492    </p><p> 
     1493      "Furthermore, RTFM is much more effective if you do it gently and make 
     1494      them feel nicely embarrassed, rather than having them just say 'well, 
     1495      fuck you too' when reading the first insult, and not learn a thing." 
     1496    </p><p> 
     1497      "Thanks. I'll try to keep that in mind the next time I flame myself." 
     1498    </p><div class="source">Phlip, following up to a query he'd posted earlier, and Thomas Wouters, 18 Feb 2001</div></div><div class="quotation"><p> 
     1499      "Also, does the simple algorithm you used in Cyclops have a name?" 
     1500    </p><p> 
     1501      "Not officially, but it answers to "hey, dumb-ass!" 
     1502    </p><div class="source">Neil Schemenauer, interested in finding strongly connected components in graphs, and Tim Peters, 23 Feb 2001</div></div><div class="quotation"><p> 
     1503      Make this IDLE version 0.8. (We have to skip 0.7 because that was a 
     1504      CNRI release in a corner of the basement of a government building on a 
     1505      planet circling Aldebaran.) 
     1506    </p><div class="source">GvR, in a CVS commit message, 22 Mar 2001</div></div><div class="quotation"><p> 
     1507      Python: programming the way Guido indented it. 
     1508    </p><div class="source">Digital Creations T-shirt slogan at IPC9</div></div><div class="quotation"><p> 
     1509      Stackless Python: programming the way Guido prevented it. 
     1510    </p><div class="source">Christian Tismer's title slide, at IPC9</div></div><div class="quotation"><p> 
     1511      I don't think we should use rational numbers for money because money 
     1512      isn't rational. 
     1513    </p><div class="source">Moshe Zadka, at IPC9</div></div><div class="quotation"><p> 
     1514      We can't stop people from complaining but we can influence what they 
     1515      complain about. 
     1516    </p><div class="source">Tim Peters, at IPC9</div></div><div class="quotation"><p> 
     1517      Perl is like vise grips. You can do anything with it but it is the 
     1518      wrong tool for every job. 
     1519    </p><div class="source">Bruce Eckel, at IPC9</div></div><div class="quotation"><p> 
     1520      Given the choice between a good text editor and a good source control 
     1521      system, i'll take the source control, and use "cat" to write my code. 
     1522    </p><div class="source">Greg Wilson, at IPC9</div></div><div class="quotation"><p> 
     1523      here's the eff-bot's favourite lambda refactoring rule:  
     1524<em>1) write a lambda function 
    159715252) write a comment explaining what the heck that lambda does 
    159815263) study the comment for a while, and think of a name that captures 
     
    160015284) convert the lambda to a def statement, using that name 
    160115295) remove the comment 
    1602 </pre></p><div class="source">Fredrik Lundh, 01 Apr 2001</div></div><div class="quotation"><p> 
    1603 The GPL tried to protect the freedom of end-users to modify and 
    1604 redistribute their code. Most people do not believe that this is a 
    1605 legitimate freedom like freedom of speech or assembly but Richard 
    1606 Stallman does. I don't think that there is an argument that that will 
    1607 persuade a person one way or another. If freedoms could be proven, that 
    1608 famous document would probably start: "Not everyone holds these truths 
    1609 to be self-evident, so we've worked up a proof of them as Appendix A." 
    1610 </p><div class="source">Paul Prescod, 11 Apr 2001</div></div><div class="quotation"><p> 
    1611 That is one of the first goals. Also, we want to handle a C++ SAX 
    1612 stream with Python, and vice versa (feed a Python SAX stream into 
    1613 Xalan). Bi-SAXuality, in a sense. :) 
    1614 </p><div class="source">Jürgen Hermann, 11 Apr 2001</div></div><div class="quotation"><p> 
    1615 As you seem totally unwilling or unable to understand that 
    1616 <em>Weltanschauung</em> to any extent, I don't see how you could 
    1617 bring Python any constructive enhancement (except perhaps 
    1618 by some random mechanism akin to monkeys banging away on 
    1619 typewriters until 'Hamlet' comes out, I guess). 
    1620 </p><div class="source">Alex Martelli, 17 Apr 2001</div></div><div class="quotation"><p> 
    1621 "Are we more likely to add different concrete 
    1622 subclasses of Consumable in the future, or different 
    1623 concrete subclasses of Consumer?  I suspect the 
    1624  former is more likely." 
     1530</em></p><div class="source">Fredrik Lundh, 01 Apr 2001</div></div><div class="quotation"><p> 
     1531      The GPL tried to protect the freedom of end-users to modify and 
     1532      redistribute their code. Most people do not believe that this is a 
     1533      legitimate freedom like freedom of speech or assembly but Richard 
     1534      Stallman does. I don't think that there is an argument that that will 
     1535      persuade a person one way or another. If freedoms could be proven, 
     1536      that famous document would probably start: "Not everyone holds these 
     1537      truths to be self-evident, so we've worked up a proof of them as 
     1538      Appendix A." 
     1539    </p><div class="source">Paul Prescod, 11 Apr 2001</div></div><div class="quotation"><p> 
     1540      That is one of the first goals. Also, we want to handle a C++ SAX 
     1541      stream with Python, and vice versa (feed a Python SAX stream into 
     1542      Xalan). Bi-SAXuality, in a sense. :) 
     1543    </p><div class="source">Jürgen Hermann, 11 Apr 2001</div></div><div class="quotation"><p> 
     1544      As you seem totally unwilling or unable to understand that 
     1545      <em>Weltanschauung</em> to any extent, I don't see how you 
     1546      could bring Python any constructive enhancement (except perhaps by 
     1547      some random mechanism akin to monkeys banging away on typewriters 
     1548      until 'Hamlet' comes out, I guess). 
     1549    </p><div class="source">Alex Martelli, 17 Apr 2001</div></div><div class="quotation"><p> 
     1550      "Are we more likely to add different concrete subclasses of Consumable 
     1551      in the future, or different concrete subclasses of Consumer? I suspect 
     1552      the former is more likely." 
     1553    </p><p> 
     1554      "With genetic engineering being the latest growth industry, I'm not 
     1555      sure that's true. Although I expect that any new models of cow, etc. 
     1556      will have a backwards compatible food-consumption protocol." 
     1557    </p><div class="source">Alex Martelli and Greg Ewing, 19 Apr 2001</div></div><div class="quotation"><p> 
     1558      This property is called confluence, and the proof is called the Church 
     1559      -Rosser theorem. I'm sure you know this, of course, but somewhere out 
     1560      there there's a college student who is being shocked that CS is 
     1561      actually turning out to be relevant, for sufficiently small values of 
     1562      relevance. 
     1563    </p><div class="source">Neelakantan Krishnaswami, 20 Apr 2001</div></div><div class="quotation"><p> 
     1564      if the style mafia finds out, you may find a badly severed list 
     1565      comprehension in your bed one morning, but I'd say the risk is very 
     1566      low. 
     1567    </p><div class="source">Fredrik Lundh, 10 May 2001</div></div><div class="quotation"><p> 
     1568      1495 is a <em>deservedly</em> unpopular number. After all, Lorenzo de' 
     1569      Medici ("il Magnifico") died in 1492, and Giovanni de' Medici ("dalle 
     1570      Bande Nere") wasn't born until 1498, so 1495 fell right in the middle 
     1571      of a very boring and unusual lull where no really outstanding member 
     1572      of the Medici family (either branch) was around. 
     1573    </p><div class="source">Alex Martelli, 24 May 2001</div></div><div class="quotation"><p> 
     1574      "What do you call the thing that pops up and says `Searching' or 
     1575      something to reassure the user that his computer hasn't crashed and 
     1576      the application is still running?" 
     1577    </p><p> 
     1578      "On Windows, that's called 'a miracle'." 
     1579    </p><div class="source">Laura Creighton and Tim Peters, 28 May 2001</div></div><div class="quotation"><p> 
     1580      In general, my conclusion after doing numerical work for a while is 
     1581      that the desire to look at algorithms crucial to your research as 
     1582      black boxes is futile. In the end, I always had to dig into the 
     1583      details of the algorithms because they were either never black-boxable 
     1584      or the black-box versions didn't do a good enough job. 
     1585    </p><div class="source">David Ascher, 28 May 2001</div></div><div class="quotation"><p> 
     1586      "Oh, read <em>all</em> Kahan has written, and if you emerge still 
     1587      thinking you <em>know</em> what you're doing when floating point is 
     1588      involved, you're either Tim Peters, or the world champ of hubris." 
     1589    </p><p> 
     1590      "I find it's possible to be both &lt;wink&gt;." 
     1591    </p><div class="source">Alex Martelli and Tim Peters, 20 May 2001</div></div><div class="quotation"><p> 
     1592      Wow, this almost looks like a real flamefest. ("Flame" being defined 
     1593      as the presence of metacomments.) 
     1594    </p><div class="source">GvR, 13 Jun 2001</div></div><div class="quotation"><p> 
     1595      "Maybe we also have a smaller brain than the typical Lisper -- I would 
     1596      say, that would make us more normal, and if Python caters to people 
     1597      with a closer-to-average brain size, that would mean more people will 
     1598      be able to program in Python. History will decide..." 
     1599    </p><p> 
     1600      "I thought it already has, pretty much." 
     1601    </p><div class="source">GvR and A.M. Kuchling, 14 Jun 2001</div></div><div class="quotation"><p> 
     1602      Did Guido use the time machine to get a copy of the GoF book before he 
     1603      started working on the first version of Python, or are Patterns just a 
     1604      transparent attempt to cover for chronically inexpressive languages 
     1605      like C++ and Java which can't generally implement these mind-numbingly 
     1606      simple constructs in code? 
     1607    </p><div class="source">Glyph Lefkowitz, 7 Jun 2001</div></div><div class="quotation"><p> 
     1608      Google confuses me; if you search for "michael hudson" my page is the 
     1609      third hit -- but my name doesn't actually appear anywhere on the 
     1610      linked page! The "did you mean to search for..." feature is also 
     1611      downright uncanny. They've clearly sold their souls to the devil -- 
     1612      there's no other explanation. 
     1613    </p><div class="source">Michael Hudson, 28 Jun 2001</div></div><div class="quotation"><p> 
     1614      You didn't say what you want to accomplish. If the idea of "provably 
     1615      correct" programs appeals to you, Eiffel will give you more help than 
     1616      any other practical language I know of. But since your post didn't lay 
     1617      out your assumptions, your goals, or how you view language 
     1618      characteristics as fitting in with either, you're not a 
     1619      <em>natural</em> candidate for embracing Design by Contract &lt;0.6 
     1620      wink&gt;. 
     1621    </p><div class="source">Tim Peters, 3 Jun 2001</div></div><div class="quotation"><p> 
     1622      The static people talk about rigorously enforced interfaces, 
     1623      correctness proofs, contracts, etc. The dynamic people talk about 
     1624      rigorously enforced testing and say that types only catch a small 
     1625      portion of possible errors. The static people retort that they don't 
     1626      trust tests to cover everything or not have bugs and why write tests 
     1627      for stuff the compiler should test for you, so you shouldn't rely on 
     1628      <em>only</em> tests, and besides static types don't catch a small 
     1629      portion, but a large portion of errors. The dynamic people say no 
     1630      program or test is perfect and static typing is not worth the cost in 
     1631      language complexity and design difficulty for the gain in eliminating 
     1632      a few tests that would have been easy to write anyway, since static 
     1633      types catch a small portion of errors, not a large portion. The static 
     1634      people say static types don't add that much language complexity, and 
     1635      it's not design "difficulty" but an essential part of the process, and 
     1636      they catch a large portion, not a small portion. The dynamic people 
     1637      say they add enormous complexity, and they catch a small portion, and 
     1638      point out that the static people have bad breath. The static people 
     1639      assert that the dynamic people must be too stupid to cope with a real 
     1640      language and rigorous requirements, and are ugly besides. 
     1641    </p><p> 
     1642      This is when both sides start throwing rocks. 
     1643    </p><div class="source">Quinn Dunkan, 13 Jul 2001</div></div><div class="quotation"><p> 
     1644      I am becoming convinced that Unicode is a multi-national plot to take 
     1645      over the minds of our most gifted (and/or most obsessive) programmers, 
     1646      in pursuit of an elusive, unresolvable, and ultimately, undefinable 
     1647      goal. 
     1648    </p><div class="source">Ken Manheimer, 19 Jul 2001</div></div><div class="quotation"><p> 
     1649      Unicode is the first technology I have to deal with which makes me 
     1650      hope I die before I really really <em>really</em> need to understand 
     1651      it fully. 
     1652    </p><div class="source">David Ascher, 19 Jul 2001</div></div><div class="quotation"><p> 
     1653      Moore's law is slowly making type declarations irrelevant... 
     1654    </p><div class="source">Paul Prescod, 29 Jul 2001</div></div><div class="quotation"><p> 
     1655      The mark of a mature programmer is willingness to throw out code you 
     1656      spent time on when you realize it's pointless. 
     1657    </p><div class="source">Bram Cohen, 20 Sep 2001</div></div><div class="quotation"><p> 
     1658      Generators and iterators are among the most loving features ever 
     1659      introduced. They will give and give, without ever asking anything from 
     1660      you save the privilege of gracing your code, waiting with eager 
     1661      anticipation for you to resume them at your pleasure, or even to 
     1662      discard them if you tire of their charms. In fact, they're almost 
     1663      pathologically yielding. 
     1664    </p><div class="source">Tim Peters, 18 Oct 2001</div></div><div class="quotation"><p> 
     1665      IMO a bunch of the frustration I sometimes feel with Python comes from 
     1666      its originally being intended as a "glue" language. It's too good for 
     1667      that, and finds itself used as a work horse or even a race horse. 
     1668      Neither type of horse belongs in the glue factory ;-). 
     1669    </p><div class="source">Paul Rubin, 30 Oct 2001</div></div><div class="quotation"><p> 
     1670      "Which inevitably has the followup rhyme 'There was a young man from 
     1671      Verdun'." 
     1672    </p><p> 
     1673      "But somehow no one ever seems to be able to remember what it was 
     1674      about the man from Abdero." 
     1675    </p><div class="source">Simon Callan and Gareth McCaughan, 04 Nov 2001, after someone quoted the limerick "There was a young man from Wooloomooloo / Whose limericks always finished on line two."</div></div><div class="quotation"><p> 
     1676      Sometimes I feel like I'm reinventing Zope, but at least it's a Zope I 
     1677      understand. 
     1678    </p><div class="source">Quinn Dunkan, 05 Nov 2001 on the quixote-users list</div></div><div class="quotation"><p> 
     1679      Homological algebra beckons -- brain relief in this context! 
     1680    </p><div class="source">Michael Hudson, 07 Nov 2001, in a discussion of Stackless Python</div></div><div class="quotation"><p> 
     1681      If you're talking "useful", I'm not your bot. 
     1682    </p><div class="source">Tim Peters, 08 Nov 2001</div></div><div class="quotation"><p> 
     1683      "How do you do a range of floats?" 
     1684    </p><p> 
     1685      "Bring flowers, and buy them all nice dinners. Try not to be 
     1686      <em>too</em> obvious that you're out to do them, though." 
     1687    </p><div class="source">Thomas Wouters and Tim Peters, 09 Nov 2001</div></div><div class="quotation"><p> 
     1688      Changing diapers reminded Guido that he wanted to allow for some 
     1689      measure of multiple inheritance from a mix of new- and classic-style 
     1690      classes. 
     1691    </p><div class="source">Tim Peters in a checkin message, 14 Nov 2001</div></div><div class="quotation"><p> 
     1692      My late father-in-law, Ray Pigozzi, was an extremely talented 
     1693      architect (he was made a fellow of the AIA in the late 70's or early 
     1694      80's), and although he was by all accounts an excellent mentor to 
     1695      younger architects in the firm he cofounded, he also had the well- 
     1696      deserved reputation of being quite laconic (this I know from personal 
     1697      experience ;-). Early in his career, he received an award from some 
     1698      masonry organization for his use of brick in building OWP (now 
     1699      OWP&amp;P) had designed. This necessitated the usual awards ceremony 
     1700      with dinner and speeches. The recipients who preceeded Ray to the 
     1701      podium all spoke at length about their work. Ray's entire acceptance 
     1702      speech was, "The building speaks for itself." 
     1703    </p><div class="source">Skip Montanaro, 4 Jan 2002</div></div><div class="quotation"><p> 
     1704      The Lisp community is like a ghost town, with the occasional banshee 
     1705      howl echoing darkly around the chamber in lament of what might have 
     1706      been. 
     1707    </p><div class="source">Courageous, 19 Jan 2002</div></div><div class="quotation"><p> 
     1708      I'll lend you <cite>Calendrical Calculations</cite>. Even 
     1709      <em>skimming</em> the chapters on some of the world's other 
     1710      calendrical delights makes our date gimmicks blind via the intensity 
     1711      of their clarity. 
     1712    </p><div class="source">Tim Peters, 05 Mar 2002</div></div><div class="quotation"><p> 
     1713      The joy of coding Python should be in seeing short, concise, readable 
     1714      classes that express a lot of action in a small amount of clear code 
     1715      -- not in reams of trivial code that bores the reader to death. 
     1716    </p><div class="source">GvR, 20 Mar 2002</div></div><div class="quotation"><p> 
     1717      A bot may injure a human being, or, preferably, through inaction, 
     1718      allow a human being to come to harm, although laughing about either in 
     1719      the hearing of humans is MACNAM-017B3^H. 
     1720    </p><div class="source">Tim Peters, 26 Mar 2002</div></div><div class="quotation"><p> 
     1721"It works in Scheme" doesn't give me the warm fuzzy 
     1722feeling that it's been tried in real life. 
     1723</p><div class="source">GvR, 02 Oct 2002</div></div><div class="quotation"><p> 
     1724Most recipes are short enough for the attention span of the average 
     1725Python programmer. 
     1726</p><div class="source">GvR &#8212; In the introduction to  
     1727the <cite>Python Cookbook</cite></div></div><div class="quotation"><p> 
     1728We read Knuth so you don't have to. 
     1729</p><div class="source">Tim Peters &#8212; <cite>Python Cookbook</cite></div></div><div class="quotation"><p> 
     1730Here's another technique that is faster and more obvious but  
     1731that is often avoided by those who mistakenly believe that  
     1732writing two lines of code where one might do is somehow sinful. 
     1733</p><div class="source">Tim Peters &#8212; <cite>Python Cookbook</cite></div></div><div class="quotation"><p> 
     1734A fruitful approach to problem solving is known as "divide and 
     1735conquer", or making problems easier by splitting their different 
     1736aspects apart.  Making problems harder by joining several aspects 
     1737together must be an example of an approach known as "unite and suffer!" 
     1738</p><div class="source">Alex Martelli &#8212; <cite>Python Cookbook</cite></div></div><div class="quotation"><p>compromise-is-the-art-of-spreading-misery-ly y'rs 
     1739    </p><div class="source">Tim Peters, 11 Dec 2002</div></div><div class="quotation"><p> 
     1740As for Grail, it was certainly a "hot product" in the Python community      
     1741in 1995 because of the restricted execution environment which I 
     1742evaluated for a project involving mobile software agents. How 
     1743priorities and trends have changed since then! Who would have thought 
     1744that Microsoft Outlook would be the premier platform for mobile code? 
     1745</p><div class="source">Paul Boddie, 16 Jan 2004</div></div><div class="quotation"><p> 
     1746I mean, if I think about my open-source contributions, nobody wants to see 
     1747talks with these titles: 
    16251748</p><p> 
    1626 "With genetic engineering being the latest growth 
    1627 industry, I'm not sure that's true. Although I expect 
    1628 that any new models of cow, etc. will have a backwards 
    1629 compatible food-consumption protocol." 
    1630 </p><div class="source">Alex Martelli and Greg Ewing, 19 Apr 2001</div></div><div class="quotation"><p> 
    1631 This property is called confluence, and the proof is called the 
    1632 Church-Rosser theorem. I'm sure you know this, of course, but 
    1633 somewhere out there there's a college student who is 
    1634 being shocked that CS is actually turning out to be relevant, for 
    1635 sufficiently small values of relevance. 
    1636 </p><div class="source">Neelakantan Krishnaswami,  20 Apr 2001</div></div><div class="quotation"><p> 
    1637 if the style mafia finds out, you may find a badly severed list comprehension 
    1638 in your bed one morning, but I'd say the risk is very low.   
    1639 </p><div class="source">Fredrik Lundh,  10 May 2001</div></div><div class="quotation"><p> 
    1640 1495 is a <em>deservedly</em> unpopular number.  After all, 
    1641 Lorenzo de' Medici ("il Magnifico") died in 1492, and 
    1642 Giovanni de' Medici ("dalle Bande Nere") wasn't born 
    1643 until 1498, so 1495 fell right in the middle of a very 
    1644 boring and unusual lull where no really outstanding 
    1645 member of the Medici family (either branch) was around. 
    1646 </p><div class="source">Alex Martelli, 24 May 2001</div></div><div class="quotation"><p> 
    1647 "What do you call the thing that pops up and says `Searching' or 
    1648 something to reassure the user that his computer hasn't crashed 
    1649 and the application is still running?" 
     1749* The Zope API Reference: Ouch 
    16501750</p><p> 
    1651 "On Windows, that's called 'a miracle'." 
    1652 </p><div class="source">Laura Creighton and Tim Peters, 28 May 2001</div></div><div class="quotation"><p> 
    1653 In general, my conclusion after doing numerical work for a while is that 
    1654 the desire to look at algorithms crucial to your research as black boxes 
    1655 is futile.  In the end, I always had to dig into the details of the 
    1656 algorithms because they were either never black-boxable or the black-box 
    1657 versions didn't do a good enough job. 
    1658 </p><div class="source">David Ascher, 28 May 2001</div></div><div class="quotation"><p> 
    1659 "Oh, read <em>all</em> Kahan has written, and if you emerge still 
    1660 thinking you <em>know</em> what you're doing when floating point 
    1661 is involved, you're either Tim Peters, or the world champ 
    1662 of hubris." 
     1751* A Random Handful Of Bugs I've Fixed In Other Peoples' Code 
    16631752</p><p> 
    1664 "I find it's possible to be both &lt;wink&gt;."  
    1665 </p><div class="source">Alex Martelli and Tim Peters, 20 May 2001</div></div><div class="quotation"><p> 
    1666 Wow, this almost looks like a real flamefest.  ("Flame" being defined 
    1667 as the presence of metacomments.) 
    1668 </p><div class="source">GvR, 13 Jun 2001</div></div><div class="quotation"><p> 
    1669 "Maybe we also have a smaller brain than the typical Lisper -- I would 
    1670 say, that would make us more normal, and if Python caters to people 
    1671 with a closer-to-average brain size, that would mean more people will 
    1672 be able to program in Python.  History will decide..." 
     1753* An Old Crufty Project I Inherited That Has Zero Relevance To You 
    16731754</p><p> 
    1674 "I thought it already has, pretty much." 
    1675 </p><div class="source">GvR and A.M. Kuchling, 14 Jun 2001</div></div><div class="quotation"><p> 
    1676 Did Guido use the time 
    1677 machine to get a copy of the GoF book before he started working on the 
    1678 first version of Python, or are Patterns just a transparent attempt to 
    1679 cover for chronically inexpressive languages like C++ and Java which can't 
    1680 generally implement these mind-numbingly simple constructs in code? 
    1681 </p><div class="source">Glyph Lefkowitz, 7 Jun 2001</div></div><div class="quotation"><p> 
    1682 Google confuses me; if you search for "michael hudson" my page is the 
    1683 third hit -- but my name doesn't actually appear anywhere on the linked 
    1684 page! 
    1685 The "did you mean to search for..." feature is also downright 
    1686 uncanny. 
    1687 They've clearly sold their souls to the devil -- there's no other 
    1688 explanation. 
    1689 </p><div class="source">Michael Hudson, 28 Jun 2001</div></div><div class="quotation"><p> 
    1690 You didn't say what you want to accomplish.  If the idea of "provably 
    1691 correct" programs appeals to you, Eiffel will give you more help than any 
    1692 other practical language I know of.  But since your post didn't lay out your 
    1693 assumptions, your goals, or how you view language characteristics as fitting 
    1694 in with either, you're not a <em>natural</em> candidate for embracing Design by 
    1695 Contract &lt;0.6 wink&gt;. 
    1696 </p><div class="source">Tim Peters, 3 Jun 2001</div></div><div class="quotation"><p> 
    1697     The static people talk about rigorously enforced interfaces, correctness 
    1698     proofs, contracts, etc.  The dynamic people talk about rigorously 
    1699     enforced testing and say that types only catch a small portion of 
    1700     possible errors.  The static people retort that they don't trust tests 
    1701     to cover everything or not have bugs and why write tests for stuff the 
    1702     compiler should test for you, so you shouldn't rely on <em>only</em> tests, and 
    1703     besides static types don't catch a small portion, but a large portion of 
    1704     errors.  The dynamic people say no program or test is perfect and static 
    1705     typing is not worth the cost in language complexity and design 
    1706     difficulty for the gain in eliminating a few tests that would have been 
    1707     easy to write anyway, since static types catch a small portion of 
    1708     errors, not a large portion.  The static people say static types don't 
    1709     add that much language complexity, and it's not design "difficulty" but 
    1710     an essential part of the process, and they catch a large portion, not a 
    1711     small portion.  The dynamic people say they add enormous complexity, and 
    1712     they catch a small portion, and point out that the static people have 
    1713     bad breath.  The static people assert that the dynamic people must be 
    1714     too stupid to cope with a real language and rigorous requirements, and 
    1715     are ugly besides. 
    1716 </p><p> 
    1717     This is when both sides start throwing rocks. 
    1718 </p><div class="source">Quinn Dunkan, 13 Jul 2001</div></div><div class="quotation"><p> 
    1719 I am becoming convinced that Unicode is a multi-national plot to take 
    1720 over the minds of our most gifted (and/or most obsessive) programmers, in 
    1721 pursuit of an elusive, unresolvable, and ultimately, undefinable goal. 
    1722 </p><div class="source">Ken Manheimer, 19 Jul 2001</div></div><div class="quotation"><p> 
    1723 Unicode is the first technology I have to deal with which makes me hope 
    1724 I die before I really really <em>really</em> need to understand it fully. 
    1725 </p><div class="source">David Ascher, 19 Jul 2001</div></div><div class="quotation"><p> 
    1726 Moore's law is slowly making type declarations irrelevant... 
    1727 </p><div class="source">Paul Prescod, 29 Jul 2001</div></div><div class="quotation"><p> 
    1728   The mark of a mature programmer is willingness to throw out code you spent 
    1729   time on when you realize it's pointless. 
    1730 </p><div class="source">Bram Cohen, 20 Sep 2001</div></div><div class="quotation"><p> 
    1731 Generators and iterators are among the most loving features ever 
    1732 introduced.  They will give and give, without ever asking anything 
    1733 from you save the privilege of gracing your code, waiting with eager 
    1734 anticipation for you to resume them at your pleasure, or even to 
    1735 discard them if you tire of their charms.  In fact, they're almost 
    1736 pathologically yielding. 
    1737  </p><div class="source">Tim Peters, 18 Oct 2001</div></div><div class="quotation"><p> 
    1738 IMO a bunch of the frustration I sometimes feel with Python comes 
    1739 from its originally being intended as a "glue" language.  It's too 
    1740 good for that, and finds itself used as a work horse or even a race 
    1741 horse.  Neither type of horse belongs in the glue factory ;-). 
    1742  </p><div class="source">Paul Rubin, 30 Oct 2001</div></div><div class="quotation"><p> 
    1743 "Which inevitably has the followup rhyme 
    1744 'There was a young man from Verdun'." 
    1745 </p><p> 
    1746 "But somehow no one ever seems to be able to remember 
    1747 what it was about the man from Abdero." 
    1748   </p><div class="source">Simon Callan and Gareth McCaughan, 04 Nov 2001,  
    1749 after someone quoted the limerick "There was a young man from Wooloomooloo  
    1750 / Whose limericks always finished on line two."</div></div><div class="quotation"><p> 
    1751  Sometimes I feel like I'm reinventing Zope, but at 
    1752 least it's a Zope I understand. 
    1753   </p><div class="source">Quinn Dunkan, 05 Nov 2001 on the quixote-users list</div></div><div class="quotation"><p> 
    1754 Homological algebra beckons -- brain relief in this context! 
    1755   </p><div class="source">Michael Hudson, 07 Nov 2001, in a discussion of 
    1756 Stackless Python</div></div><div class="quotation"><p> 
    1757 If you're talking "useful", I'm not your bot. 
    1758   </p><div class="source">Tim Peters, 08 Nov 2001</div></div><div class="quotation"><p> 
    1759 "How do you do a range of floats?" 
    1760 </p><p> 
    1761 "Bring flowers, and buy them all nice dinners.  Try not to be <em>too</em> obvious 
    1762 that you're out to do them, though." 
    1763   </p><div class="source">Thomas Wouters and Tim Peters, 09 Nov 2001</div></div><div class="quotation"><p> 
    1764 Changing diapers reminded Guido that he wanted to allow for some measure 
    1765 of multiple inheritance from a mix of new- and classic-style classes. 
    1766 </p><div class="source">Tim Peters in a checkin message, 14 Nov 2001</div></div><div class="quotation"><p> 
    1767 My late father-in-law, Ray Pigozzi, was an extremely talented architect (he 
    1768 was made a fellow of the AIA in the late 70's or early 80's), and although 
    1769 he was by all accounts an excellent mentor to younger architects in the firm 
    1770 he cofounded, he also had the well-deserved reputation of being quite 
    1771 laconic (this I know from personal experience ;-).  Early in his career, he 
    1772 received an award from some masonry organization for his use of brick in 
    1773 building OWP (now OWP&amp;P) had designed.  This necessitated the usual awards 
    1774 ceremony with dinner and speeches.  The recipients who preceeded Ray to the 
    1775 podium all spoke at length about their work.  Ray's entire acceptance speech 
    1776 was, "The building speaks for itself." 
    1777 </p><div class="source">Skip Montanaro, 4 Jan 2002</div></div><div class="quotation"><p> 
    1778 The Lisp community is like a ghost town, with 
    1779 the occasional banshee howl echoing darkly around the chamber 
    1780 in lament of what might have been. 
    1781 </p><div class="source">Courageous, 19 Jan 2002</div></div><div class="quotation"><p> 
    1782 I'll lend you <cite>Calendrical Calculations</cite>.   
    1783 Even <em>skimming</em> the chapters 
    1784 on some of the world's other calendrical delights makes our date gimmicks  
    1785 blind via the intensity of their clarity. 
    1786 </p><div class="source">Tim Peters, 05 Mar 2002</div></div><div class="quotation"><p> 
    1787 The joy of coding Python should be in seeing short, concise, 
    1788 readable classes that express a lot of action in a small amount of 
    1789 clear code -- not in reams of trivial code that bores the reader to 
    1790 death. 
    1791 </p><div class="source">GvR, 20 Mar 2002</div></div><div class="quotation"><p> 
    1792     A bot may injure a human being, or, preferably, through inaction, 
    1793     allow a human being to come to harm, although laughing about 
    1794     either in the hearing of humans is MACNAM-017B3^H. 
    1795 </p><div class="source">Tim Peters, 26 Mar 2002</div></div></body></html> 
     1755* The Joy of Preemptive Abandonware: Release Late, If Ever 
     1756  (or, Software Design as a Nihilistic Abstract Art Form) 
     1757  (or, Sourceforge as a Medium for Cryptic Time Capsules) 
     1758</p><div class="source">Paul Winkler, 14 Mar 2005</div></div></body></html> 
  • demos/python-quotes/python-quotes.py

    r2423 r2427  
    22# -*- coding: iso-8859-1 -*- 
    33 
    4 from ll.xist import xsc, sims, parsers, xfind 
     4from ll.xist import xsc, parsers 
    55from ll.xist.ns import xml, html, meta 
    66 
     7 
     8import qel_xmlns, rdf_xmlns, rdfs_xmlns, cc_xmlns, dc_xmlns 
    79 
    810url = "python-quotes.xml" 
    911 
    1012 
    11 class note(xsc.Element): 
    12     model = sims.NoElements() 
    13  
    14     def convert(self, converter): 
    15         e = html.div(self.content, class_="note") 
    16  
    17         return e.convert(converter) 
    18  
    19  
    20 class foreign(xsc.Element): 
    21     model = sims.NoElements() 
    22  
    23     def convert(self, converter): 
    24         e = html.em(self.content) 
    25  
    26         return e.convert(converter) 
    27  
    28  
    29 class author(xsc.Element): 
    30     model = sims.NoElements() 
    31  
    32     def convert(self, converter): 
    33         e = self.content 
    34  
    35         return e.convert(converter) 
    36  
    37  
    38 class source(xsc.Element): 
    39     model = sims.NoElements() 
    40  
    41     def convert(self, converter): 
    42         e = html.div(self.content, class_="source") 
    43  
    44         return e.convert(converter) 
    45  
    46  
    47 class quotation(xsc.Element): 
    48     model = sims.Elements(author, source, note) 
    49  
    50     class Attrs(xsc.Element.Attrs): 
    51         class date(xsc.TextAttr): pass 
    52  
    53     def convert(self, converter): 
    54         e = html.div(self.content, class_="quotation") 
    55  
    56         return e.convert(converter) 
    57  
    58  
    59 class quotations(xsc.Element): 
    60     model = sims.Elements(quotation) 
    61  
    62     def convert(self, converter): 
    63         e = xsc.Frag( 
    64             html.DocTypeHTML401transitional(), 
    65             html.html( 
    66                 html.head( 
    67                     meta.contenttype(), 
    68                     html.title("Python quotes"), 
    69                     meta.stylesheet(href="root:python-quotes.css") 
    70                 ), 
    71                 html.body( 
    72                     html.h1("Python quotes"), 
    73                     html.div("(Generated from ", html.a(url, href=url), ")"), 
    74                     self[quotation] # We want to get rid of the excessive whitespace 
    75                 ) 
    76             ) 
    77         ) 
    78  
    79         return e.convert(converter) 
    80  
    81  
    82 class __ns__(xsc.Namespace): 
    83     xmlname = "quotations" 
    84     xmlurl = "http://xmlns.livinglogic.de/xist/examples/python-quotes" 
    85 __ns__.update(vars()) 
    86  
    87  
    8813if __name__ == "__main__": 
    89     prefixes = xsc.Prefixes([__ns__, html, xml]) 
     14    nspool = xsc.NSPool(html, xml, qel_xmlns, rdf_xmlns, rdfs_xmlns, cc_xmlns, dc_xmlns) 
     15    prefixes = xsc.Prefixes(xml=xml) 
    9016    base = "root:python-quotes.html" 
    91     # We don't validate, because the XML contains broken HTML (<pre> inside <p>) 
    92     e = parsers.parseURL(url, base=base, saxparser=parsers.ExpatParser, prefixes=prefixes, validate=False) 
    93     e = e[quotations][0] 
     17    e = parsers.parseURL(url, base=base, saxparser=parsers.ExpatParser, nspool=nspool, prefixes=prefixes, validate=False) 
     18    e = e[qel_xmlns.quotations][0] 
    9419    e = e.compact().conv() 
    9520    e.write(open("python-quotes.html", "wb"), base=base, encoding="iso-8859-1", validate=False) 
  • demos/python-quotes/python-quotes.xml

    r2136 r2427  
    11<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?> 
    2 <!DOCTYPE quotations  
    3   PUBLIC "+//IDN amk.ca//DTD Quotation Exchange Language 2.01//EN//XML" 
    4   "http://www.amk.ca/qel/dtd/qel-2.01.dtd" [ 
     2<!DOCTYPE quotations [ 
    53  <!ENTITY ccedil "&#231;"> <!-- latin small letter c with cedilla --> 
    64  <!ENTITY uuml   "&#252;"> <!-- latin small letter u with diaeresis --> 
    75]> 
    8 <?xml-stylesheet href="xml-quotations.css"?> 
    9  
    10 <!-- 
    11     python-quotes.xml : Quotations from the Python community 
    12     Copyright (C) 2001 A.M. Kuchling 
    13  
    14     This file is free software; you can redistribute it and/or modify 
    15     it under the terms of the GNU General Public License as published by 
    16     the Free Software Foundation; either version 2 of the License, or 
    17     (at your option) any later version. 
    18  
    19     This file is distributed in the hope that it will be useful, 
    20     but WITHOUT ANY WARRANTY; without even the implied warranty of 
    21     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
    22     GNU General Public License for more details. 
    23  
    24     You should have received a copy of the GNU General Public License 
    25     along with this file; if not, write to the Free Software 
    26     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
    27 --> 
    28  
    29 <quotations> 
    30  
    31 <quotation><p> 
    32 We will perhaps eventually be writing only small modules which are 
    33 identified by name as they are used to build larger ones, so that 
    34 devices like indentation, rather than delimiters, might become 
    35 feasible for expressing local structure in the source language. 
    36  
    37 </p><source>Donald E. Knuth, "Structured Programming with goto 
    38 Statements", Computing Surveys, Vol 6 No 4, Dec. 1974</source> 
    39 </quotation> 
    40  
    41 <quotation><p> 
    42 Some rejected alternate names for "Monty Python's Flying Circus": 
    43 </p><p> 
    44 1 2 3 /             It's Them!   
    45 / 
    46 Arthur Megapode's Flying Circus /   The Horrible Earnest Megapode 
    47 / 
    48 The Panic Show          /   The Plastic Mac Show 
    49 / 
    50 Ow!  It's Colin Plint!      /   Vaseline Review 
    51 / 
    52 Vaseline Parade         /   The Keen Show 
    53 / 
    54 Brian's Flying Circus       /   The Year of the Stoat 
    55 / 
    56 Cynthia Fellatio's Flying Circus /  Owl Stretching Time 
    57 / 
    58 The Whizzo Easishow!  (Guaranteed to last 1/2 hour!  Money back if not!) 
    59 </p><source>From Kim "Howard" Johnson's <cite>Life Before and After Monty 
    60 Python</cite>. 
    61    It's interesting to contemplate what Python would have been called 
    62      if one of these names had been chosen. 
    63 </source> 
    64 </quotation> 
    65  
    66 <quotation><p> 
    67 Anybody else on the list got an opinion?  Should I change the language 
    68 or not? 
    69 </p><source>Guido van Rossum, 28 Dec 1991 
    70 </source> 
    71 </quotation> 
    72  
    73 <quotation><p> 
    74 in-any-case-the-best-christmas-present-i-got-today!-ly y'rs - tim 
    75 </p><source>Tim Peters, 29 Dec 1991 
    76   [First occurrence of Tim Peters's long-phrase-ly idiom.] 
    77 </source> 
    78 </quotation> 
    79  
    80 <quotation><p> 
    81 but-i'm-not-even-motivated-enough-to-finish-this-sig- 
    82 </p><source>Tim Peters, 20 Dec 2000</source> 
    83 </quotation> 
    84  
    85 <quotation><p> 
    86 Ha -- you have done me the favor of underestimating my ignorance &lt;smile&gt;. 
    87 </p><source>Tim Peters, 30 Dec 1991</source> 
    88 </quotation> 
    89  
    90 <quotation><p> 
    91 I prefer (all things being equal) regularity/orthogonality and logical 
    92 syntax/semantics in a language because there is less to have to remember. 
    93 (Of course I <em>know</em> all things are NEVER really equal!) 
    94 </p><source>Guido van Rossum, 6 Dec 1991 
    95 </source> 
    96 </quotation> 
    97  
    98 <quotation><p> 
    99 The details of that silly code are irrelevant. 
    100 </p><source>Tim Peters, 4 Mar 1992 
    101 </source> 
    102 </quotation> 
    103  
    104 <quotation><p> 
    105 Frankly, I'd rather not try to compete with Perl in the 
    106 areas where Perl is best -- it's a battle that's impossible to win, 
    107 and I don't think it is a good idea to strive for the number of 
    108 obscure options and shortcuts that Perl has acquired through the years. 
    109 </p><source>Guido van Rossum, 7 Jul 1992</source> 
    110 </quotation> 
    111  
    112 <quotation><p> 
    113 Python is a truly wonderful language. When somebody comes up with a 
    114 good idea it takes about 1 minute and five lines to program something 
    115 that almost does what you want. Then it takes only an hour to extend 
    116 the script to 300 lines, after which it still does almost what you 
    117 want. 
    118 </p><source>Jack Jansen, 8 Jul 1992 
    119 </source> 
    120 </quotation> 
    121  
    122 <quotation><p> 
    123 If you have a browser from CERN's WWW project (World-Wide Web, a 
    124 distributed hypertext system) you can browse a WWW hypertext version 
    125 of the manual... 
    126 </p><source>Guido van Rossum, 19 Nov 1992 
    127    [First mention of the Web on python-list.] 
    128 </source> 
    129 </quotation> 
    130  
    131 <quotation><p> 
    132 Just a success note for Guido and the list: 
    133 Python 0.9.9, stdwin, readline, gmp, and md5 all go up on 
    134 linux 0.99 pl11 without much problems. 
    135 </p><source>Allan Bailey, 2 Aug 1993 
    136    [First mention of Linux on python-list.] 
    137 </source> 
    138 </quotation> 
    139  
    140 <quotation><p> 
    141 Rule: "You shouldn't have to open up a black box and take it apart to 
    142 find out you've been pushing the wrong buttons!" 
    143  
    144 Corollary: "Every black box should have at least TWO blinking lights: 
    145 "Paper Jam" and "Service Required" (or equivalent)." 
    146 </p><source>Steven D. Majewski, 9 Sep 1993 
    147 </source> 
    148 </quotation> 
    149  
    150 <quotation><p> 
    151 We've been through a couple of syntax changes, but I have sort of 
    152 assumed that by the time we get to version 1.0 release, the language, 
    153 (if not the implementation) will essentially be stable. 
    154 </p><source>Steven D. Majewski, 14 Sep 1993 
    155 </source> 
    156 </quotation> 
    157  
    158 <quotation><p> 
    159 "Python tricks" is a tough one, cuz the language is so clean.  E.g., C 
    160 makes an art of confusing pointers with arrays and strings, which leads 
    161 to lotsa neat pointer tricks; APL mistakes everything for an array, 
    162 leading to neat one-liners; and Perl confuses everything period, making 
    163 each line a joyous adventure &lt;wink&gt;. 
    164 </p><source>Tim Peters, 16 Sep 1993 
    165 </source> 
    166 </quotation> 
    167  
    168 <quotation><p> 
    169 I've seen Python criticized as "ugly" precisely because it <em>doesn't</em> have 
    170 a trick-based view of the world.  In many ways, it's a dull language, 
    171 borrowing solid old concepts from many other languages &amp; styles:  boring 
    172 syntax, unsurprising semantics, few automatic coercions, etc etc.  But 
    173 that's one of the things I like about it. 
    174 </p><source>Tim Peters, 16 Sep 1993 
    175 </source> 
    176 </quotation> 
    177  
    178 <quotation><p> 
    179 One of the things that makes it interesting, is exactly how much Guido 
    180 has managed to exploit that <em>one</em> implementation trick of 
    181 'namespaces'. 
    182 </p><source>Steven D. Majewski, 17 Sep 1993 
    183 </source> 
    184 </quotation> 
    185  
    186 <quotation><p> 
    187 Anyone familiar with Modula-3 should appreciate the difference between 
    188 a layered approach, with generic Rd/Wr types, and the Python 'C with 
    189 foam padding' approach.   
    190 </p><source>John Redford, 24 Nov 1993 
    191 </source> 
    192 </quotation> 
    193  
    194 <quotation><p> 
    195 People simply will not agree on what should and shouldn't be "an 
    196 error", and once exception-handling mechanisms are introduced to give 
    197 people a choice, they will far less agree on what to do with them. 
    198 </p><source>Tim Peters, 17 Dec 1993 
    199 </source> 
    200 </quotation> 
    201  
    202 <quotation><p> 
    203 Note that because of its semantics, 'del' <em>can't</em> be a function: "del 
    204 a" deletes 'a' from the current namespace. A function can't delete 
    205 something from the calling namespace (except when written by Steve 
    206 Majewski :-). 
    207 </p><source>Guido van Rossum, 1 Aug 1994  
    208 </source> 
    209 </quotation> 
    210  
    211 <quotation><p> 
    212 I don't know a lot about this artificial life stuff 
    213 -- but I'm suspicious of anything Newsweek gets goofy about 
    214 -- and I suspect its primary use is as another money extraction tool 
    215 to be applied by ai labs to the department of defense 
    216 (and more power to 'em). 
    217 </p><p> 
    218 Nevertheless in wondering why free software is so good these days 
    219 it occurred to me that the propagation of free software is one gigantic 
    220 artificial life evolution experiment, but the metaphor isn't perfect. 
    221 </p><p> 
    222 Programs are thrown out into the harsh environment, and the bad ones 
    223 die. The good ones adapt rapidly and become very robust in short 
    224 order. 
    225 </p><p> 
    226 The only problem with the metaphor is that the process isn't random 
    227 at all. Python <em>chooses</em> to include Tk's genes; Linux decides 
    228 to make itself more suitable for symbiosis with X, etcetera.  
    229 </p><p> 
    230 Free software is artificial life, but better. 
    231 </p><source>Aaron Watters, 29 Sep 1994</source> 
    232 </quotation> 
    233  
    234 <quotation><p> 
    235 I claim complete innocence and ignorance! It must have been Tim. 
    236 I wouldn't know a Trondheim Hammer if it fell on my foot! 
    237 </p><source>Steve Majewski, 10 Jan 1995 
    238 </source> 
    239 </quotation> 
    240  
    241 <quotation><p> 
    242 (Aieee!  Yet another thing on my TODO pile!) 
    243 </p><source>A.M. Kuchling, 10 Jan 1995 
    244 </source> 
    245 </quotation> 
    246  
    247 <quotation><p> 
    248 [After someone wrote "...assignment capability, a la djikstra"] 
    249  
    250 Ehh, the poor old man's name is Dijkstra.  I should know, "ij" is a 
    251 well known digraph in the Dutch language.  And before someone asks the 
    252 obvious: his famous "P and V" names for semaphores are derived for the 
    253 Dutch words "Passeer" and "Verlaat", or "Pass" and "Leave".  And no, I 
    254 haven't met him (although he did work at CWI back in the fifties when 
    255 it was called, as it should still be today, Mathematical Centre).  he 
    256 currently lives in Austin, Texas I believe.  (While we're at 
    257 it... does anybody remember the Dijkstra font for Macintoshes?  It was 
    258 a scanned version of his handwriting.  I believe Luca Cardelli scanned 
    259 it -- the author of Obliq, a somewhat Python-like distributed language 
    260 built on Modula-3.  I could go on forever... :-)  
    261 </p><source>Guido van Rossum, 19 Jan 1995 
    262 </source> 
    263 </quotation> 
    264  
    265 <quotation><p> 
    266 As always, I'll leave it to a volunteer to experiment with this. 
    267 </p><source>Guido van Rossum, 20 Jan 1995 
    268 </source> 
    269 </quotation> 
    270  
    271 <quotation><p> 
    272 Non-masochists, please delete this article NOW. 
    273 </p><source>Aaron Watters, 20 Jan 1995 
    274 </source> 
    275 </quotation> 
    276  
    277 <quotation><p> 
    278 If Perl weren't 
    279 around, I'd probably be using Python right now.   
    280 </p><source>Tom Christiansen in comp.lang.perl, 2 Jun 1995</source> 
    281 </quotation> 
    282  
    283 <quotation><p> 
    284 GUI stuff is <em>supposed</em> to be hard.  It builds character. 
    285 </p><source>Jim Ahlstrom, at one of the early Python workshops</source> 
    286 </quotation> 
    287  
    288 <quotation><p> 
    289 &gt;VERY cool mod, Peter.  I'll be curious to see GvR's reaction to your syntax. 
    290 </p><p> 
    291 Hm. 
    292 </p><source>Nick Seidenman and Guido van Rossum, 1 Aug 1996</source> 
    293 </quotation> 
    294  
    295 <quotation><p> 
    296 Python is an experiment in how much freedom programmers need.  Too 
    297 much freedom and nobody can read another's code; too little and 
    298 expressiveness is endangered.   
    299 </p><source>Guido van Rossum, 13 Aug 1996</source> 
    300 </quotation> 
    301  
    302 <quotation><p> 
    303 [On regression testing] Another approach is to renounce all worldly 
    304 goods and retreat to a primitive cabin in Montana, where you can live 
    305 a life of purity, unpolluted by technological change.  But now and 
    306 then you can send out little packages.... 
    307 </p><source>Aaron Watters 
    308 </source> 
    309 </quotation> 
    310  
    311 <quotation><p> 
    312 Ah, you're a recent victim of forceful evangelization.  Write your own 
    313 assert module, use it, and come back in a few months to tell me 
    314 whether it really caught 90% of your bugs. 
    315 </p><source>Guido van Rossum, 7 Feb 1997 
    316 </source> 
    317 </quotation> 
    318  
    319 <quotation><p> 
    320 The larger scientific computing centers generally have a "theory" 
    321 division and a "actually uses the computer" &lt;wink&gt; division.  The 
    322 theory division generally boasts some excellent theoreticians and 
    323 designers, while the other division generally boasts some excellent 
    324 physical scientists who simply want to get their work done.  In most 
    325 labs I've seen, the two divisions hate each others' guts (or, rarely, 
    326 blissfully ignore each other), &amp; the politics is so thick you float on 
    327 it even after they embed your feet in cement blocks (hence even the 
    328 simple relief of death is denied you &lt;wink&gt;). 
    329 </p><source>Tim Peters, 25 Mar 1997 
    330 </source> 
    331 </quotation> 
    332  
    333 <quotation><p> 
    334 In one particular way the conflict is fundamental &amp; eternal: the 
    335 "working scientists" generally understand the hardware du jour 
    336 perfectly, and passionately resent any attempt to prevent them from 
    337 fiddling with it directly -- while the theory folks are forever 
    338 inventing new ways to hide the hardware du jour.  That two groups can 
    339 both be so right and so wrong at the same time is my seventh proof for 
    340 the existence of God ... 
    341 </p><source>Tim Peters, 25 Mar 1997</source> 
    342 </quotation> 
    343  
    344 <quotation><p> 
    345 You're going to be in a minority - you're coming to Python programming 
    346 from a language which offers you a lot more in the way of comfortable 
    347 operations than Python, instead of coming from medieval torture 
    348 chambers like C or Fortran, which offer so much less. 
    349 </p><source>Andrew Mullhaupt, 26 Jun 1997 
    350 </source> 
    351 </quotation> 
    352  
    353 <quotation><p> 
    354 ...although Python uses an obsolete approach to memory management, it 
    355 is a <em>good</em> implementation of that approach, as opposed to S, which 
    356 uses a combination of bad implementation and demented design decisions 
    357 to arrive at what may very well be the worst memory behavior of any 
    358 actually useful program. 
    359 </p><source>Andrew Mullhaupt, 26 Jun 1997 
    360 </source> 
    361 </quotation> 
    362  
    363 <quotation><p> 
    364 I suggested holding a "Python Object Oriented Programming Seminar", but 
    365 the acronym was unpopular. 
    366 </p><source>Joseph Strout, 28 Feb 1997 
    367 </source> 
    368 </quotation> 
    369  
    370 <quotation><p> 
    371 Strangely enough I saw just such a beast at the grocery store last 
    372 night. Starbucks sells Javachip. (It's ice cream, but that shouldn't 
    373 be an obstacle for the Java marketing people.) 
    374 </p><source>Jeremy Hylton, 29 Apr 1997 
    375 </source> 
    376 </quotation> 
    377  
    378 <quotation><p> 
    379 A little girl goes into a pet show and asks for a wabbit. The shop 
    380 keeper looks down at her, smiles and says: 
    381 </p><p> 
    382 "Would you like a lovely fluffy little white rabbit, or a cutesy 
    383 wootesly little brown rabbit?" 
    384 </p><p> 
    385 "Actually", says the little girl, "I don't think my python would notice." 
    386 </p><source>Told by Nick Leaton, 4 Dec 1996 
    387 </source> 
    388 </quotation> 
    389  
    390 <quotation><p> 
    391 When I originally designed Perl 5's OO, I thought about a lot of this 
    392 stuff, and chose the explicit object model of Python as being the 
    393 least confusing.  So far I haven't seen a good reason to change my 
    394 mind on that. 
    395 </p><source>Larry Wall, 27 Feb 1997 on perl5-porters 
    396 </source> 
    397 </quotation> 
    398  
    399 <quotation><p> 
     6<?xml-stylesheet href="http://www.amk.ca/qel/qel.css"?> 
     7 
     8<quotations xmlns="http://www.amk.ca/qel/" 
     9            xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
     10            xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"> 
     11  <title>Python Quotations</title> 
     12  <editor>A.M. Kuchling</editor> 
     13  <description>Quotations from the Python community</description> 
     14  <!-- Creative Commons Attribution-ShareAlike license --> 
     15  <rdf:RDF xmlns="http://web.resource.org/cc/" 
     16    xmlns:dc="http://purl.org/dc/elements/1.1/" 
     17    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> 
     18    <Work rdf:about=""> 
     19       <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" /> 
     20       <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" /> 
     21    </Work> 
     22 
     23    <License rdf:about="http://creativecommons.org/licenses/by-sa/2.0/"> 
     24       <permits rdf:resource="http://web.resource.org/cc/Reproduction" /> 
     25       <permits rdf:resource="http://web.resource.org/cc/Distribution" /> 
     26       <requires rdf:resource="http://web.resource.org/cc/Notice" /> 
     27       <requires rdf:resource="http://web.resource.org/cc/Attribution" /> 
     28       <permits rdf:resource="http://web.resource.org/cc/DerivativeWorks" /> 
     29       <requires rdf:resource="http://web.resource.org/cc/ShareAlike" /> 
     30    </License> 
     31 
     32    </rdf:RDF> 
     33 
     34  <quotation id="q1"> 
     35    <p> 
     36      We will perhaps eventually be writing only small modules which are 
     37      identified by name as they are used to build larger ones, so that 
     38      devices like indentation, rather than delimiters, might become 
     39      feasible for expressing local structure in the source language. 
     40    </p> 
     41    <source>Donald E. Knuth, "Structured Programming with goto Statements", Computing Surveys, Vol 6 No 4, Dec. 1974</source> 
     42  </quotation> 
     43 
     44  <quotation id="q315"> 
     45    <p>Python's syntax succeeds in combining the mistakes of Lisp and Fortran. 
     46I do not construe that as progress. 
     47    </p> 
     48    <source>Larry Wall, May 12 2004</source> 
     49  </quotation> 
     50 
     51  <quotation id="q2"> 
     52    <p> 
     53      Some rejected alternate names for "Monty Python's Flying Circus": 
     54    </p> 
     55    <p> 
     56      1 2 3 / It's Them! / Arthur Megapode's Flying Circus / The Horrible 
     57      Earnest Megapode / The Panic Show / The Plastic Mac Show / Ow! It's 
     58      Colin Plint! / Vaseline Review / Vaseline Parade / The Keen Show / 
     59      Brian's Flying Circus / The Year of the Stoat / Cynthia Fellatio's 
     60      Flying Circus / Owl Stretching Time / The Whizzo Easishow! (Guaranteed 
     61      to last 1/2 hour! Money back if not!) 
     62    </p> 
     63    <source>From Kim "Howard" Johnson's <cite>Life Before and After Monty Python</cite>. It's interesting to contemplate what Python would have been called if one of these names had been chosen.</source> 
     64  </quotation> 
     65 
     66  <quotation id="q3"> 
     67    <p> 
     68      Anybody else on the list got an opinion? Should I change the language 
     69      or not? 
     70    </p> 
     71    <source>Guido van Rossum, 28 Dec 1991</source> 
     72  </quotation> 
     73 
     74  <quotation id="q4"> 
     75    <p> 
     76      in-any-case-the-best-christmas-present-i-got-today!-ly y'rs - tim 
     77    </p> 
     78    <source>Tim Peters, 29 Dec 1991 [First occurrence of Tim Peters's long-phrase-ly idiom.]</source> 
     79  </quotation> 
     80 
     81  <quotation id="q5"> 
     82    <p> 
     83      but-i'm-not-even-motivated-enough-to-finish-this-sig- 
     84    </p> 
     85    <source>Tim Peters, 20 Dec 2000</source> 
     86  </quotation> 
     87 
     88  <quotation id="q6"> 
     89    <p> 
     90      Ha -- you have done me the favor of underestimating my ignorance 
     91      &lt;smile&gt;. 
     92    </p> 
     93    <source>Tim Peters, 30 Dec 1991</source> 
     94  </quotation> 
     95 
     96  <quotation id="q7"> 
     97    <p> 
     98      I prefer (all things being equal) regularity/orthogonality and logical 
     99      syntax/semantics in a language because there is less to have to 
     100      remember. (Of course I <em>know</em> all things are NEVER really 
     101      equal!) 
     102    </p> 
     103    <source>Guido van Rossum, 6 Dec 1991</source> 
     104  </quotation> 
     105 
     106  <quotation id="q8"> 
     107    <p> 
     108      The details of that silly code are irrelevant. 
     109    </p> 
     110    <source>Tim Peters, 4 Mar 1992</source> 
     111  </quotation> 
     112 
     113  <quotation id="q9"> 
     114    <p> 
     115      Frankly, I'd rather not try to compete with Perl in the areas where 
     116      Perl is best -- it's a battle that's impossible to win, and I don't 
     117      think it is a good idea to strive for the number of obscure options 
     118      and shortcuts that Perl has acquired through the years. 
     119    </p> 
     120    <source>Guido van Rossum, 7 Jul 1992</source> 
     121  </quotation> 
     122 
     123  <quotation id="q10"> 
     124    <p> 
     125      Python is a truly wonderful language. When somebody comes up with a 
     126      good idea it takes about 1 minute and five lines to program something 
     127      that almost does what you want. Then it takes only an hour to extend 
     128      the script to 300 lines, after which it still does almost what you 
     129      want. 
     130    </p> 
     131    <source>Jack Jansen, 8 Jul 1992</source> 
     132  </quotation> 
     133 
     134  <quotation id="q11"> 
     135    <p> 
     136      If you have a browser from CERN's WWW project (World-Wide Web, a 
     137      distributed hypertext system) you can browse a WWW hypertext version 
     138      of the manual... 
     139    </p> 
     140    <source>Guido van Rossum, 19 Nov 1992 [First mention of the Web on python-list.]</source> 
     141  </quotation> 
     142 
     143  <quotation id="q12"> 
     144    <p> 
     145      Just a success note for Guido and the list: Python 0.9.9, stdwin, 
     146      readline, gmp, and md5 all go up on linux 0.99 pl11 without much 
     147      problems. 
     148    </p> 
     149    <source>Allan Bailey, 2 Aug 1993 [First mention of Linux on python-list.]</source> 
     150  </quotation> 
     151 
     152  <quotation id="q13"> 
     153    <p> 
     154      Rule: "You shouldn't have to open up a black box and take it apart to 
     155      find out you've been pushing the wrong buttons!" Corollary: "Every 
     156      black box should have at least TWO blinking lights: "Paper Jam" and 
     157      "Service Required" (or equivalent)." 
     158    </p> 
     159    <source>Steven D. Majewski, 9 Sep 1993</source> 
     160  </quotation> 
     161 
     162  <quotation id="q14"> 
     163    <p> 
     164      We've been through a couple of syntax changes, but I have sort of 
     165      assumed that by the time we get to version 1.0 release, the language, 
     166      (if not the implementation) will essentially be stable. 
     167    </p> 
     168    <source>Steven D. Majewski, 14 Sep 1993</source> 
     169  </quotation> 
     170 
     171  <quotation id="q15"> 
     172    <p> 
     173      "Python tricks" is a tough one, cuz the language is so clean. E.g., C 
     174      makes an art of confusing pointers with arrays and strings, which 
     175      leads to lotsa neat pointer tricks; APL mistakes everything for an 
     176      array, leading to neat one-liners; and Perl confuses everything 
     177      period, making each line a joyous adventure &lt;wink&gt;. 
     178    </p> 
     179    <source>Tim Peters, 16 Sep 1993</source> 
     180  </quotation> 
     181 
     182  <quotation id="q16"> 
     183    <p> 
     184      I've seen Python criticized as "ugly" precisely because it 
     185      <em>doesn't</em> have a trick-based view of the world. In many ways, 
     186      it's a dull language, borrowing solid old concepts from many other 
     187      languages &amp; styles: boring syntax, unsurprising semantics, few 
     188      automatic coercions, etc etc. But that's one of the things I like 
     189      about it. 
     190    </p> 
     191    <source>Tim Peters, 16 Sep 1993</source> 
     192  </quotation> 
     193 
     194  <quotation id="q17"> 
     195    <p> 
     196      One of the things that makes it interesting, is exactly how much Guido 
     197      has managed to exploit that <em>one</em> implementation trick of 
     198      'namespaces'. 
     199    </p> 
     200    <source>Steven D. Majewski, 17 Sep 1993</source> 
     201  </quotation> 
     202 
     203  <quotation id="q18"> 
     204    <p> 
     205      Anyone familiar with Modula-3 should appreciate the difference between 
     206      a layered approach, with generic Rd/Wr types, and the Python 'C with 
     207      foam padding' approach. 
     208    </p> 
     209    <source>John Redford, 24 Nov 1993</source> 
     210  </quotation> 
     211 
     212  <quotation id="q19"> 
     213    <p> 
     214      People simply will not agree on what should and shouldn't be "an 
     215      error", and once exception-handling mechanisms are introduced to give 
     216      people a choice, they will far less agree on what to do with them. 
     217    </p> 
     218    <source>Tim Peters, 17 Dec 1993</source> 
     219  </quotation> 
     220 
     221  <quotation id="q20"> 
     222    <p> 
     223      Note that because of its semantics, 'del' <em>can't</em> be a 
     224      function: "del a" deletes 'a' from the current namespace. A function 
     225      can't delete something from the calling namespace (except when written 
     226      by Steve Majewski :-). 
     227    </p> 
     228    <source>Guido van Rossum, 1 Aug 1994</source> 
     229  </quotation> 
     230 
     231  <quotation id="q21"> 
     232    <p> 
     233      I don't know a lot about this artificial life stuff -- but I'm 
     234      suspicious of anything Newsweek gets goofy about -- and I suspect its 
     235      primary use is as another money extraction tool to be applied by ai 
     236      labs to the department of defense (and more power to 'em). 
     237    </p> 
     238    <p> 
     239      Nevertheless in wondering why free software is so good these days it 
     240      occurred to me that the propagation of free software is one gigantic 
     241      artificial life evolution experiment, but the metaphor isn't perfect. 
     242    </p> 
     243    <p> 
     244      Programs are thrown out into the harsh environment, and the bad ones 
     245      die. The good ones adapt rapidly and become very robust in short 
     246      order. 
     247    </p> 
     248    <p> 
     249      The only problem with the metaphor is that the process isn't random at 
     250      all. Python <em>chooses</em> to include Tk's genes; Linux decides to 
     251      make itself more suitable for symbiosis with X, etcetera. 
     252    </p> 
     253    <p> 
     254      Free software is artificial life, but better. 
     255    </p> 
     256    <source>Aaron Watters, 29 Sep 1994</source> 
     257  </quotation> 
     258 
     259  <quotation id="q22"> 
     260    <p> 
     261      I claim complete innocence and ignorance! It must have been Tim. I 
     262      wouldn't know a Trondheim Hammer if it fell on my foot! 
     263    </p> 
     264    <source>Steve Majewski, 10 Jan 1995</source> 
     265  </quotation> 
     266 
     267  <quotation id="q23"> 
     268    <p> 
     269      (Aieee! Yet another thing on my TODO pile!) 
     270    </p> 
     271    <source>A.M. Kuchling, 10 Jan 1995</source> 
     272  </quotation> 
     273 
     274  <quotation id="q24"> 
     275    <p> 
     276      [After someone wrote "...assignment capability, a la djikstra"] Ehh, 
     277      the poor old man's name is Dijkstra. I should know, "ij" is a well 
     278      known digraph in the Dutch language. And before someone asks the 
     279      obvious: his famous "P and V" names for semaphores are derived for the 
     280      Dutch words "Passeer" and "Verlaat", or "Pass" and "Leave". And no, I 
     281      haven't met him (although he did work at CWI back in the fifties when 
     282      it was called, as it should still be today, Mathematical Centre). he 
     283      currently lives in Austin, Texas I believe. (While we're at it... does 
     284      anybody remember the Dijkstra font for Macintoshes? It was a scanned 
     285      version of his handwriting. I believe Luca Cardelli scanned it -- the 
     286      author of Obliq, a somewhat Python-like distributed language built on 
     287      Modula-3. I could go on forever... :-) 
     288    </p> 
     289    <source>Guido van Rossum, 19 Jan 1995</source> 
     290  </quotation> 
     291 
     292  <quotation id="q25"> 
     293    <p> 
     294      As always, I'll leave it to a volunteer to experiment with this. 
     295    </p> 
     296    <source>Guido van Rossum, 20 Jan 1995</source> 
     297  </quotation> 
     298 
     299  <quotation id="q26"> 
     300    <p> 
     301      Non-masochists, please delete this article NOW. 
     302    </p> 
     303    <source>Aaron Watters, 20 Jan 1995</source> 
     304  </quotation> 
     305 
     306  <quotation id="q27"> 
     307    <p> 
     308      If Perl weren't around, I'd probably be using Python right now. 
     309    </p> 
     310    <source>Tom Christiansen in comp.lang.perl, 2 Jun 1995</source> 
     311  </quotation> 
     312 
     313  <quotation id="q28"> 
     314    <p> 
     315      GUI stuff is <em>supposed</em> to be hard. It builds character. 
     316    </p> 
     317    <source>Jim Ahlstrom, at one of the early Python workshops</source> 
     318  </quotation> 
     319 
     320  <quotation id="q29"> 
     321    <p> 
     322      &gt;VERY cool mod, Peter. I'll be curious to see GvR's reaction to 
     323      your syntax. 
     324    </p> 
     325    <p> 
     326      Hm. 
     327    </p> 
     328    <source>Nick Seidenman and Guido van Rossum, 1 Aug 1996</source> 
     329  </quotation> 
     330 
     331  <quotation id="q30"> 
     332    <p> 
     333      Python is an experiment in how much freedom programmers need. Too much 
     334      freedom and nobody can read another's code; too little and 
     335      expressiveness is endangered. 
     336    </p> 
     337    <source>Guido van Rossum, 13 Aug 1996</source> 
     338  </quotation> 
     339 
     340  <quotation id="q31"> 
     341    <p> 
     342      [On regression testing] Another approach is to renounce all worldly 
     343      goods and retreat to a primitive cabin in Montana, where you can live 
     344      a life of purity, unpolluted by technological change. But now and then 
     345      you can send out little packages.... 
     346    </p> 
     347    <source>Aaron Watters</source> 
     348  </quotation> 
     349 
     350  <quotation id="q32"> 
     351    <p> 
     352      Ah, you're a recent victim of forceful evangelization. Write your own 
     353      assert module, use it, and come back in a few months to tell me 
     354      whether it really caught 90% of your bugs. 
     355    </p> 
     356    <source>Guido van Rossum, 7 Feb 1997</source> 
     357  </quotation> 
     358 
     359  <quotation id="q33"> 
     360    <p> 
     361      The larger scientific computing centers generally have a "theory" 
     362      division and a "actually uses the computer" &lt;wink&gt; division. The 
     363      theory division generally boasts some excellent theoreticians and 
     364      designers, while the other division generally boasts some excellent 
     365      physical scientists who simply want to get their work done. In most 
     366      labs I've seen, the two divisions hate each others' guts (or, rarely, 
     367      blissfully ignore each other), &amp; the politics is so thick you 
     368      float on it even after they embed your feet in cement blocks (hence 
     369      even the simple relief of death is denied you &lt;wink&gt;). 
     370    </p> 
     371    <source>Tim Peters, 25 Mar 1997</source> 
     372  </quotation> 
     373 
     374  <quotation id="q34"> 
     375    <p> 
     376      In one particular way the conflict is fundamental &amp; eternal: the 
     377      "working scientists" generally understand the hardware du jour 
     378      perfectly, and passionately resent any attempt to prevent them from 
     379      fiddling with it directly -- while the theory folks are forever 
     380      inventing new ways to hide the hardware du jour. That two groups can 
     381      both be so right and so wrong at the same time is my seventh proof for 
     382      the existence of God ... 
     383    </p> 
     384    <source>Tim Peters, 25 Mar 1997</source> 
     385  </quotation> 
     386 
     387  <quotation id="q35"> 
     388    <p> 
     389      You're going to be in a minority - you're coming to Python programming 
     390      from a language which offers you a lot more in the way of comfortable 
     391      operations than Python, instead of coming from medieval torture 
     392      chambers like C or Fortran, which offer so much less. 
     393    </p> 
     394    <source>Andrew Mullhaupt, 26 Jun 1997</source> 
     395  </quotation> 
     396 
     397  <quotation id="q36"> 
     398    <p> 
     399      ...although Python uses an obsolete approach to memory management, it 
     400      is a <em>good</em> implementation of that approach, as opposed to S, 
     401      which uses a combination of bad implementation and demented design 
     402      decisions to arrive at what may very well be the worst memory behavior 
     403      of any actually useful program. 
     404    </p> 
     405    <source>Andrew Mullhaupt, 26 Jun 1997</source> 
     406  </quotation> 
     407 
     408  <quotation id="q37"> 
     409    <p> 
     410      I suggested holding a "Python Object Oriented Programming Seminar", 
     411      but the acronym was unpopular. 
     412    </p> 
     413    <source>Joseph Strout, 28 Feb 1997</source> 
     414  </quotation> 
     415 
     416  <quotation id="q38"> 
     417    <p> 
     418      Strangely enough I saw just such a beast at the grocery store last 
     419      night. Starbucks sells Javachip. (It's ice cream, but that shouldn't 
     420      be an obstacle for the Java marketing people.) 
     421    </p> 
     422    <source>Jeremy Hylton, 29 Apr 1997</source> 
     423  </quotation> 
     424 
     425  <quotation id="q39"> 
     426    <p> 
     427      A little girl goes into a pet show and asks for a wabbit. The shop 
     428      keeper looks down at her, smiles and says: 
     429    </p> 
     430    <p> 
     431      "Would you like a lovely fluffy little white rabbit, or a cutesy 
     432      wootesly little brown rabbit?" 
     433    </p> 
     434    <p> 
     435      "Actually", says the little girl, "I don't think my python would 
     436      notice." 
     437    </p> 
     438    <source>Told by Nick Leaton, 4 Dec 1996</source> 
     439  </quotation> 
     440 
     441  <quotation id="q40"> 
     442    <p> 
     443      When I originally designed Perl 5's OO, I thought about a lot of this 
     444      stuff, and chose the explicit object model of Python as being the 
     445      least confusing. So far I haven't seen a good reason to change my mind 
     446      on that. 
     447    </p> 
     448    <source>Larry Wall, 27 Feb 1997 on perl5-porters</source> 
     449  </quotation> 
     450 
     451  <quotation id="q41"> 
     452    <p> 
     453       
    400454<pre> 
    401455PSA 1996 Budget 
     
    420474$      (21.76) Total Profit (Loss) 
    421475</pre> 
    422  
    423 Notes: 
    424 </p><p> 
    425      (1) Many of you many not be aware of the fabulously successful 
    426 'Guido for President' Campaign. While Guido has no interest in being the 
    427 president, the PSA thought it would be a cool way to collect money. The 
    428 centerpiece of the campaign featured an attractive offer to spend the 
    429 night in Guido's spare bedroom in exchange for a $50,000.00 
    430 contribution. (Mark Lutz stayed TWICE!) 
    431 </p><p> 
    432      (2) Since the proliferation of Monty Python related names (Python, 
    433 Monty, Grail, Eric-the-Half-a-Compiler, et al.) has increased over the 
    434 past year, the PSA felt it would be wise to licencing the Python name to 
    435 forestall any lawsuits. An added benefit is that John Cleese is teaching 
    436 Guido how to walk funny. 
    437 </p><p> 
    438      (3) Pre-Release vacations are spent in the Catskills. Post-Release 
    439 vacations are spent in the Bahamas. Guido is currently working on a 
    440 system which will allow him to make more releases of Python; thus 
    441 octupling the number of vacations he takes in a year. 
    442 </p><source>Matthew Lewis Carroll Smith, 4 Apr 1997 
    443 </source> 
    444 </quotation> 
    445  
    446 <quotation><p> 
    447 I mean, just take a look at Joe Strout's brilliant little "python for 
    448 beginners" page.  Replace all print-statements with  
    449 <code>sys.stdout.write( string.join(map(str, args)) + "\n")</code> 
    450 and you'll surely won't get any new beginners.  And That Would Be A 
    451 Very Bad Thing. 
    452 </p><source>Fredrik Lundh, 27 Aug 1996 
    453 </source> 
    454 </quotation> 
    455  
    456 <quotation><p> 
    457 Ya, ya, ya, except ... if I were built out of KSR chips, I'd be 
    458 running at 25 or 50 MHz, and would be wrong about ALMOST EVERYTHING 
    459 almost ALL THE TIME just due to being a computer! Think about it -- 
    460 when's the last time you spent 20 hours straight debugging your 
    461 son/wife/friend/neighbor/dog/ferret/snake?  And they <em>still</em> fell over 
    462 anyway?  Except in a direction you've never seen before each time you 
    463 try it?  The easiest way to tell you're dealing with a computer is 
    464 when the other side keeps making the same moronic misteakes over and 
    465 misteakes over and misteakes over and misteakes over and misteakes 
    466 over and misteakes CTRL-C again.   
    467 </p><source>Tim Peters, 30 Apr 1997 
    468 </source> 
    469 </quotation> 
    470  
    471 <quotation><p> 
    472 BTW, a member of the ANSI C committee once told me that the only 
    473 thing rand is used for in C code is to decide whether to pick up the 
    474 axe or throw the dwarf, and if that's true I guess "the typical libc 
    475 rand" is adequate for all but the most fanatic of gamers &lt;wink&gt;.   
    476 </p><source>Tim Peters, 21 June 1997. 
    477 </source> 
    478 </quotation> 
    479  
    480 <quotation><p> 
    481 Things in Python are very clear, but are harder to find than the 
    482 secrets of wizards. Things in Perl are easy to find, but look like 
    483 arcane spells to invoke magic.  
    484 </p><source>Mike Meyer, 6 Nov 1997</source> 
    485 </quotation> 
    486  
    487 <quotation><p> 
    488 Indeed, as Palin has come to understand, being part of Python means 
    489 never really knowing what may lurk around the corner. 
    490 </p><p> 
    491 "We've never really followed any rules at all with Python," he said. 
    492 "We're a spontaneous lot. It's more fun that way." 
    493 </p><source>Michael Palin, quoted from a Reuters/Variety news item titled  
    494    "Rare Python Reunion", Jan 15 1998.</source> 
    495 </quotation> 
    496  
    497 <quotation><p> 
    498 Python is an excellent language for learning object orientation. (It also  
    499 happens to be my favorite OO scripting language.)  
    500 </p> 
    501 <author>Sriram Srinivasan</author> 
    502 <source><cite>Advanced Perl Programming</cite></source> 
    503 </quotation> 
    504  
    505 <quotation><p> 
    506 The point is that newbies almost always read more into the semantics 
    507 of release than are specified, so it's worthwile to be explicit about 
    508 how little is being said &lt;wink&gt;. 
    509 </p><source>Tim Peters, 12 Feb 1998</source> 
    510 </quotation> 
    511  
    512 <quotation><p> 
    513 Ah!  "Never mind" to a bunch of what I said before (this editor can't 
    514 move backwards &lt;wink&gt;). 
    515 </p><source>Tim Peters, 12 Feb 1998</source> 
    516 </quotation> 
    517  
    518 <quotation><p> 
    519 After 1.5 years of Python, I'm still discovering richness (and still  
    520 unable to understand what the hell Jim Fulton is talking about). 
    521 </p><source>Gordon McMillan, 13 Mar 1998</source> 
    522 </quotation> 
    523  
    524 <quotation><p> 
    525 Tabs are good, spaces are bad and mixing the two just means that your  
    526 motives are confused and that you don't use enough functions. 
    527 </p><source>John J. Lehmann, 19 Mar 1998</source> 
    528 </quotation> 
    529  
    530 <quotation><p> 
    531 ... but whenever optimization comes 
    532 up, people get sucked into debates about exciting but elaborate schemes 
    533 not a one of which ever gets implemented; better to get an easy 2% today 
    534 than dream about 100% forever. 
    535 </p><source>Tim Peters, 22 Mar 1998</source> 
    536 </quotation> 
    537  
    538 <quotation><p> 
    539 I've been playing spoilsport in an attempt to 
    540 get tabnanny.py working, but now that there's absolutely no reason to 
    541 continue with this, the amount of my life I'm willing to devote to it is 
    542 unbounded &lt;0.9 wink&gt;. 
    543 </p><source>Tim Peters, 30 Mar 1998</source> 
    544 </quotation> 
    545  
    546 <quotation><p> 
    547 Python is a little weak in forcing encapsulation. It isn't made for 
    548 bondage and domination environments. 
    549 </p><source>Paul Prescod, 30 Mar 1998</source> 
    550 </quotation> 
    551  
    552 <quotation><p> 
    553 One of my 
    554 first big programming assignments as a student of computer science was 
    555 a source formatter for Pascal.  The assignment was designed to show us 
    556 the real-life difficulties of group programming projects.  It 
    557 succeeded perhaps too well.  For a long time, I was convinced that 
    558 source code formatters were a total waste of time, and decided to 
    559 write beautiful code that no automatic formatter could improve upon. 
    560 In fact, I would intentionally write code that formatters could only 
    561 make worse. 
    562 </p><source>Guido van Rossum, 31 Mar 1998</source> 
    563 </quotation> 
    564  
    565 <quotation><p> 
    566    You need to build a system that is futureproof; it's no good just 
    567    making a modular system. You need to realize that your 
    568    system is just going to be a module in some bigger system to come, and 
    569    so you have to be part of something else, and it's a bit of a way of 
    570    life. 
    571 </p><source>Tim Berners-Lee, at the WWW7 conference</source> 
    572 </quotation> 
    573  
    574 <quotation><p> 
    575 From gotos to the evolution of life in 10 posts; that's 
    576 comp.lang.python for you! 
    577 </p><source>A.M. Kuchling, 4 Apr 1998</source> 
    578 </quotation> 
    579  
    580 <quotation><p> 
    581 This is <em>Python</em>!  If we didn't care what code looked like, most 
    582 of us would probably be hacking in some version of Lisp -- which already 
    583 covered most of Python's abstract <em>semantics</em> way back when Guido was just a 
    584 wee snakelet frolicking in the lush Amsterdam jungle.  
    585 </p><source>Tim Peters, 24 Apr 1998</source> 
    586 </quotation> 
    587  
    588 <quotation><p> 
    589 The infinities aren't contagious except in that they often appear that way 
    590 due to their large size. 
    591 </p><source>Tim Peters on the IEEE 754 floating point standard, 27 Apr 1998</source> 
    592 </quotation> 
    593  
    594 <quotation><p> 
    595 The "of course, while <em>I</em> have no problem with 
    596 this at all, it's surely too much for a lesser being" flavor of argument 
    597 always rings hollow to me.  Are you personally confused by the meanings for 
    598 "+" that exist today?  <em>Objecting</em> to the variations is a different story; 
    599 I'm wondering whether you personally stumble over them in practice.  I 
    600 don't; Steven doesn't; I doubt that you do either.  I'm betting that almost 
    601 <em>nobody</em> ever does, in which case those "less nimble colleagues and 
    602 students" must be supernaturally feeble to merit such concern. 
    603 </p><source>Tim Peters, 29 Apr 1998</source> 
    604 </quotation> 
    605  
    606 <quotation><p> 
    607 "Ideally, IMO, two messages with the same name should have 
    608  the same meaning but possibly different implementations. 
    609  Of course, "meaning" is somewhat relative, but the notion 
    610  that two messages with the same name should have the same 
    611  'meaning' is very useful." 
    612 </p><p> 
    613 "Like clothes.launder() vs money.launder(), or shape.draw() vs blood.draw(), 
    614 or matrix.norm() vs hi.norm() &lt;wink&gt;? 
    615 I'm afraid English thrives on puns, 
    616 and the same word routinely means radically different things across 
    617 application areas.  Therefore, to insist that a word have "one true meaning" 
    618 in a programming language is insisting that the language cater to one true 
    619 application domain." 
    620 </p><source>Jim Fulton and Tim Peters, in a discussion of rich comparisons, 29 Apr 1998</source> 
    621 </quotation> 
    622  
    623 <quotation><p> 
    624 Indeed, when I design <em>my</em> killer language, the identifiers "foo" and "bar" 
    625 will be reserved words, never used, and not even mentioned in the reference 
    626 manual.  Any program using one will simply dump core without comment. 
    627 Multitudes will rejoice. 
    628 </p><source>Tim Peters, 29 Apr 1998</source> 
    629 </quotation> 
    630  
    631 <quotation><p> 
    632 Too little freedom makes life 
    633 confusingly clumsy; too much, clumsily confusing.  Luckily, the tension 
    634 between freedom and restraint eventually gets severed by Guido's Razor. 
    635 </p><source>Tim Peters, 29 Apr 1998</source> 
    636 </quotation> 
    637  
    638 <quotation><p> 
    639 In other words, I'm willing to see dark 
    640 corners added to the language, as long as I don't have to go into them 
    641 myself. 
    642 </p><source>A.M. Kuchling, 29 Apr 1998</source> 
    643 </quotation> 
    644  
    645 <quotation><p> 
    646 This argument is specious.  What on earth would it mean to compare an 
    647 object you created with another object from someone else's code unless 
    648 you knew exactly what each object's semantics were?  Do you really 
    649 want to ask if my abstract syntax tree is less then your HTTP 
    650 connection object? 
    651 </p><source>Jeremy Hylton, in a discussion of rich comparisons, 29 Apr 1998</source> 
    652 </quotation> 
    653  
    654 <quotation><p> 
    655 Two things I learned for sure during a particularly intense acid trip in my 
    656 own lost youth: (1) everything is a trivial special case of something else; 
    657 and, (2) death is a bunch of blue spheres. 
    658 </p><source>Tim Peters, 1 May 1998</source> 
    659 </quotation> 
    660  
    661 <quotation><p> 
    662 Well, they will be:  "&lt;" will mean what everyone thinks it means when 
    663 applied to builtin types, and will mean whatever __lt__ makes it mean 
    664 otherwise, except when __lt__ isn't defined but __cmp__ is in which case it 
    665 will mean whatever __cmp__ makes it mean, except when neither __lt__ or 
    666 __cmp__ are defined in which case it's still unsettled.  I think.  Or isn't 
    667 that what you meant by "clearly defined"? 
    668 </p><source>Tim Peters, 6 May 1998</source> 
    669 </quotation> 
    670  
    671 <quotation><p> 
    672 You write a great program, regardless of 
    673 language, by redoing it over &amp; over &amp; over &amp; over, until your fingers bleed 
    674 and your soul is drained.  But if you tell newbies <em>that</em>, they might decide 
    675 to go off and do something sensible, like bomb defusing&lt;wink&gt;. 
    676 </p><source>Tim Peters, 5 Jun 1998</source> 
    677 </quotation> 
    678  
    679 <quotation><p> 
    680 OO styles help in part because they make it easier to redo large parts over, 
    681 or, when the moon is shining just right, to steal large parts from someone 
    682 else.  Python helps in many additional ways regardless of style, not least 
    683 of which in that it hurts less to throw away 50 lines of code than 5,000 
    684 &lt;0.5 wink&gt;.  The pains, and joys, of programming are <em>qualitatively</em> the 
    685 same under Python.  There's less pain less often, and joy comes quicker. 
    686 And that's worth a whole lot. 
    687 </p><source>Tim Peters, 5 Jun 1998</source> 
    688 </quotation> 
    689  
    690  
    691 <quotation><p> 
    692 I've had a DBA tell me that what I wanted to do  
    693 "could not" be done because his silly $5000 tool couldn't model it.  
    694 Proving him wrong simply increased his conviction that what I was  
    695 doing was immoral and perverse. 
    696 Which, come to think of it, it probably was. Hee hee. 
    697 </p><source>Gordon McMillan, 8 Jun 1998</source> 
    698 </quotation> 
    699  
    700 <quotation><p> 
    701 The majority of programmers aren't really looking for flexibility.  Most 
    702 languages that enjoy huge success seem to do so not because they're 
    703 flexible, but because they do one particular thing <em>extremely</em> well.  Like 
    704 Fortran for fast number-crunching in its day, or Perl for regexps, or C++ 
    705 for compatibility with C, or C for ... well, C's the exception that proves 
    706 the rule.  
    707 </p><source>Tim Peters, 11 Jun 1998</source> 
    708 </quotation> 
    709  
    710 <quotation><p> 
    711 It has also been referred to as the "Don Beaudry <em>hack</em>," but 
    712 that's a misnomer.  There's nothing hackish about it -- in fact, 
    713 it is rather elegant and deep, even though there's something dark 
    714 to it. 
    715 </p><source>Guido van Rossum, <cite>Metaclass Programming in Python 1.5</cite></source> 
    716 </quotation> 
    717  
    718 <quotation><p>  
    719 Just point your web browser at 
    720 http://www.python.org/search/ and look for "program", "doesn't", 
    721 "work", or "my".  Whenever you find someone else whose program didn't 
    722 work, don't do what they did.  Repeat as needed.   
    723 </p><source>Tim Peters, on python-help, 16 Jun 1998</source> </quotation> 
    724  
    725 <quotation><p> 
    726 Now some people see unchecked raw power and flee from perceived danger, 
    727 while others rush toward perceived opportunity.  That's up to them.  But I 
    728 think it's enormously <em>clarifying</em> in either case to see just  
    729 <em>how</em> raw this 
    730 particular gimmick can get. 
    731 </p><source>Tim Peters, 16 Jun 1998</source> 
    732 </quotation> 
    733  
    734 <quotation><p> 
    735 Every language has its partisans, usually among folks deeply immersed in 
    736 their particular theology, triumphant in having divined the inner meaning of 
    737 some esoteric operations, like a medieval Jesuit hot on the trail of the 
    738 final ontological proof,  whose conciseness in solving a single problem 
    739 makes them almost swoon with ecstacy at the expected savings of many 
    740 keystrokes, as if those very keystrokes represented a lot of heavy lifting 
    741 and hauling on their part. 
    742 </p><source>John Holmgren, 18 Jun 1998</source> 
    743 <!-- Jesuits weren't medieval, but it's still a good quote. --> 
    744 </quotation> 
    745  
    746 <quotation><p> 
    747 > In general, the situation sucks. 
    748 </p><p> 
    749 mind-if-i-use-that-as-my-epitaph&lt;wink&gt;?-ly y'rs  - tim 
    750 </p><source>Timothy J. Grant and Tim Peters, 22 Jun 1998</source> 
    751 </quotation> 
    752  
    753 <quotation><p> 
    754 &gt; Just for the record, on AIX, the following C program: 
    755 </p><p> 
    756 Oh no you don't!  I followed AIX threads for the first year it came out, but 
    757 eventually decided there was no future in investing time in baffling 
    758 discussions that usually ended with "oh, never mind -- turns out it's a bug" 
    759 &lt;0.9 wink&gt;. 
    760 </p><source>Vladimir Marangozov and Tim Peters, 23 Jun 1998</source> 
    761 </quotation> 
    762  
    763 <quotation><p> 
    764 Python - why settle for snake oil when you can have the <em>whole</em> snake? 
    765 </p><source>Mark Jackson, 26 Jun 1998</source> 
    766 </quotation> 
    767  
    768 <quotation><p> 
    769 The problem I have with "SETL sets" in Python is the same I have with every 
    770 other language's "killer core" in Python:  SETL is much more than just "a 
    771 set type", Eiffel is much more than just fancy pre- and post-conditions, 
    772 Perl's approach to regexps is much more than just its isolated regexp 
    773 syntax, Scheme is much more than just first-class functions &amp; lexical 
    774 closures, and so on.  Good languages aren't random collections of 
    775 interchangeable features:  they have a philosophy and internal coherence 
    776 that's never profitably confused with their surface features. 
    777 </p><source>Tim Peters, 10 Jul 1998</source> 
    778 </quotation> 
    779  
    780 <quotation><p> 
    781 "Since I'm so close to the pickle module, I just look at the 
    782 pickles directly, as I'm pretty good at reading pickles." 
    783 </p><p> 
    784 "As you all can imagine, this trick goes over really well at parties." 
    785 </p><source>Jim Fulton and Paul Everitt on the Bobo list, 17 Jul 1998</source> 
    786 </quotation> 
    787  
    788 <quotation><p> 
    789 My theory is that the churning of old threads and reminiscences  
    790 (Continuations, Icon influences, old-T-shirts, the pre news-group 
    791 mailing list archive, whitespace, closures, .... ) has brought  
    792 some old messages to the surface, via some mechanism similar to 
    793 the way plankton and other nutrients are cycled in the ocean.  
    794 </p><source>Steven D. Majewski, 23 Jul 1998</source> 
    795 </quotation> 
    796  
    797 <quotation><p> 
    798 In general, Our Guido flees from schemes that merely change <em>which</em> foot 
    799 gets blown off &lt;0.45 caliber wink&gt;.  Schemes that remove the firing pin 
    800 entirely have a much better, um, shot &lt;wink&gt;. 
    801 </p><source>Tim Peters, 25 Jul 1998</source> 
    802 </quotation> 
    803  
    804 <quotation><p> 
    805  I don't know what "invert the control structure" means -- but if it's 
    806  anything like turning a hamster inside-out, I would <em>expect</em> 
    807 it to be messy &lt;wink&gt;. 
    808 </p><source>Tim Peters, 25 Jul 1998</source> 
    809 </quotation> 
    810  
    811 <quotation><p> 
    812 This makes it possible to pass complex object hierarchies to a C 
    813 coder who thinks computer science has made no worthwhile advancements 
    814 since the invention of the pointer. 
    815 </p><source>Gordon McMillan, 30 Jul 1998</source> 
    816 </quotation> 
    817  
    818 <quotation><p>  
    819 The nice thing about list comprehensions is that their 
    820 most useful forms could be implemented directly as light sugar for 
    821 ordinary Python loops, leaving lambdas out of it entirely.  You end up 
    822 with a subtly different beast, but so far it appears to be a beast 
    823 that's compatible with cuddly pythons.   
    824 </p><source>Tim Peters, 6 Aug 1998</source>  
    825 </quotation> 
    826  
    827 <quotation><p>  
    828 I wonder what Guido thinks he might do in Python2 (assuming, of course, that 
    829 he doesn't hire a bus to run over him before then &lt;wink&gt;). 
    830 </p><source>Tim Peters, 26 Aug 1998</source>  
    831 </quotation> 
    832  
    833 <quotation><p> After writing CGI scripts the traditional way for a few 
    834 years, it is taking awhile to reshape my thinking. No sledgehammer to 
    835 the head yet, but lots of small sculpting hammers...   
    836 </p><source>John Eikenberry on the Bobo list, 27 Aug 1998</source>  
    837 </quotation> 
    838  
    839 <quotation><p> 
    840 I believe sometimes numbers 
    841 creep into my programs as strings, so '4'/2 needs to also be 2. 
    842 Other languages do this.  Since this is due in part to user input, 
    843 I guess 'four'/2, 'quattro/2', 'iv/2' etc. need to be 2 as well; 
    844 don't know any other language that does so, but Python could take the 
    845 lead here in software reliability.  Any white space should be ignored, 
    846 including between my ears.  I don't have time to write any useful 
    847 software, so I've decided to devote myself to proposing various 
    848 changes to the Python interpreter. 
    849 </p><source>Donn Cave uses sarcasm with devastating effect, 28 Aug 1998</source>  
    850 </quotation> 
    851  
    852 <quotation><p> 
    853 then-again-if-history-were-important-god-wouldn't-have-hid- 
    854 it-in-the-past-ly y'rs 
    855 </p><source>Tim Peters, 28 Aug 1998</source>  
    856 </quotation> 
    857  
    858 <quotation><p> 
     476    </p> 
     477    <p>Notes:</p> 
     478    <p> 
     479      (1) Many of you many not be aware of the fabulously successful 'Guido 
     480      for President' Campaign. While Guido has no interest in being the 
     481      president, the PSA thought it would be a cool way to collect money. 
     482      The centerpiece of the campaign featured an attractive offer to spend 
     483      the night in Guido's spare bedroom in exchange for a $50,000.00 
     484      contribution. (Mark Lutz stayed TWICE!) 
     485    </p> 
     486    <p> 
     487      (2) Since the proliferation of Monty Python related names (Python, 
     488      Monty, Grail, Eric-the-Half-a-Compiler, et al.) has increased over the 
     489      past year, the PSA felt it would be wise to licencing the Python name 
     490      to forestall any lawsuits. An added benefit is that John Cleese is 
     491      teaching Guido how to walk funny. 
     492    </p> 
     493    <p> 
     494      (3) Pre-Release vacations are spent in the Catskills. Post-Release 
     495      vacations are spent in the Bahamas. Guido is currently working on a 
     496      system which will allow him to make more releases of Python; thus 
     497      octupling the number of vacations he takes in a year. 
     498    </p> 
     499    <source>Matthew Lewis Carroll Smith, 4 Apr 1997</source> 
     500  </quotation> 
     501 
     502  <quotation id="q42"> 
     503    <p> 
     504      I mean, just take a look at Joe Strout's brilliant little "python for 
     505      beginners" page. Replace all print-statements with 
     506      <code>sys.stdout.write( string.join(map(str, args)) + "\n")</code> and 
     507      you surely won't get any new beginners. And That Would Be A Very 
     508      Bad Thing. 
     509    </p> 
     510    <source>Fredrik Lundh, 27 Aug 1996</source> 
     511  </quotation> 
     512 
     513  <quotation id="q43"> 
     514    <p> 
     515      Ya, ya, ya, except ... if I were built out of KSR chips, I'd be 
     516      running at 25 or 50 MHz, and would be wrong about ALMOST EVERYTHING 
     517      almost ALL THE TIME just due to being a computer! Think about it -- 
     518      when's the last time you spent 20 hours straight debugging your 
     519      son/wife/friend/neighbor/dog/ferret/snake? And they <em>still</em> 
     520      fell over anyway? Except in a direction you've never seen before each 
     521      time you try it? The easiest way to tell you're dealing with a 
     522      computer is when the other side keeps making the same moronic 
     523      misteakes over and misteakes over and misteakes over and misteakes 
     524      over and misteakes over and misteakes CTRL-C again. 
     525    </p> 
     526    <source>Tim Peters, 30 Apr 1997</source> 
     527  </quotation> 
     528 
     529  <quotation id="q44"> 
     530    <p> 
     531      BTW, a member of the ANSI C committee once told me that the only thing 
     532      rand is used for in C code is to decide whether to pick up the axe or 
     533      throw the dwarf, and if that's true I guess "the typical libc rand" is 
     534      adequate for all but the most fanatic of gamers &lt;wink&gt;. 
     535    </p> 
     536    <source>Tim Peters, 21 June 1997.</source> 
     537  </quotation> 
     538 
     539  <quotation id="q45"> 
     540    <p> 
     541      Things in Python are very clear, but are harder to find than the 
     542      secrets of wizards. Things in Perl are easy to find, but look like 
     543      arcane spells to invoke magic. 
     544    </p> 
     545    <source>Mike Meyer, 6 Nov 1997</source> 
     546  </quotation> 
     547 
     548  <quotation id="q46"> 
     549    <p> 
     550      Indeed, as Palin has come to understand, being part of Python means 
     551      never really knowing what may lurk around the corner. 
     552    </p> 
     553    <p> 
     554      "We've never really followed any rules at all with Python," he said. 
     555      "We're a spontaneous lot. It's more fun that way." 
     556    </p> 
     557    <source>Michael Palin, quoted from a Reuters/Variety news item titled "Rare Python Reunion", Jan 15 1998.</source> 
     558  </quotation> 
     559 
     560  <quotation id="q47"> 
     561    <p> 
     562      Python is an excellent language for learning object orientation. (It 
     563      also happens to be my favorite OO scripting language.) 
     564    </p> 
     565    <author>Sriram Srinivasan</author> 
     566    <source><cite>Advanced Perl Programming</cite></source> 
     567  </quotation> 
     568 
     569  <quotation id="q48"> 
     570    <p> 
     571      The point is that newbies almost always read more into the semantics 
     572      of release than are specified, so it's worthwile to be explicit about 
     573      how little is being said &lt;wink&gt;. 
     574    </p> 
     575    <source>Tim Peters, 12 Feb 1998</source> 
     576  </quotation> 
     577 
     578  <quotation id="q49"> 
     579    <p> 
     580      Ah! "Never mind" to a bunch of what I said before (this editor can't 
     581      move backwards &lt;wink&gt;). 
     582    </p> 
     583    <source>Tim Peters, 12 Feb 1998</source> 
     584  </quotation> 
     585 
     586  <quotation id="q50"> 
     587    <p> 
     588      After 1.5 years of Python, I'm still discovering richness (and still 
     589      unable to understand what the hell Jim Fulton is talking about). 
     590    </p> 
     591    <source>Gordon McMillan, 13 Mar 1998</source> 
     592  </quotation> 
     593 
     594  <quotation id="q51"> 
     595    <p> 
     596      Tabs are good, spaces are bad and mixing the two just means that your 
     597      motives are confused and that you don't use enough functions. 
     598    </p> 
     599    <source>John J. Lehmann, 19 Mar 1998</source> 
     600  </quotation> 
     601 
     602  <quotation id="q52"> 
     603    <p> 
     604      ... but whenever optimization comes up, people get sucked into debates 
     605      about exciting but elaborate schemes not a one of which ever gets 
     606      implemented; better to get an easy 2% today than dream about 100% 
     607      forever. 
     608    </p> 
     609    <source>Tim Peters, 22 Mar 1998</source> 
     610  </quotation> 
     611 
     612  <quotation id="q53"> 
     613    <p> 
     614      I've been playing spoilsport in an attempt to get tabnanny.py working, 
     615      but now that there's absolutely no reason to continue with this, the 
     616      amount of my life I'm willing to devote to it is unbounded &lt;0.9 
     617      wink&gt;. 
     618    </p> 
     619    <source>Tim Peters, 30 Mar 1998</source> 
     620  </quotation> 
     621 
     622  <quotation id="q54"> 
     623    <p> 
     624      Python is a little weak in forcing encapsulation. It isn't made for 
     625      bondage and domination environments. 
     626    </p> 
     627    <source>Paul Prescod, 30 Mar 1998</source> 
     628  </quotation> 
     629 
     630  <quotation id="q55"> 
     631    <p> 
     632      One of my first big programming assignments as a student of computer 
     633      science was a source formatter for Pascal. The assignment was designed 
     634      to show us the real-life difficulties of group programming projects. 
     635      It succeeded perhaps too well. For a long time, I was convinced that 
     636      source code formatters were a total waste of time, and decided to 
     637      write beautiful code that no automatic formatter could improve upon. 
     638      In fact, I would intentionally write code that formatters could only 
     639      make worse. 
     640    </p> 
     641    <source>Guido van Rossum, 31 Mar 1998</source> 
     642  </quotation> 
     643 
     644  <quotation id="q56"> 
     645    <p> 
     646      You need to build a system that is futureproof; it's no good just 
     647      making a modular system. You need to realize that your system is just 
     648      going to be a module in some bigger system to come, and so you have to 
     649      be part of something else, and it's a bit of a way of life. 
     650    </p> 
     651    <source>Tim Berners-Lee, at the WWW7 conference</source> 
     652  </quotation> 
     653 
     654  <quotation id="q57"> 
     655    <p> 
     656      From gotos to the evolution of life in 10 posts; that's 
     657      comp.lang.python for you! 
     658    </p> 
     659    <source>A.M. Kuchling, 4 Apr 1998</source> 
     660  </quotation> 
     661 
     662  <quotation id="q58"> 
     663    <p> 
     664      This is <em>Python</em>! If we didn't care what code looked like, most 
     665      of us would probably be hacking in some version of Lisp -- which 
     666      already covered most of Python's abstract <em>semantics</em> way back 
     667      when Guido was just a wee snakelet frolicking in the lush Amsterdam 
     668      jungle. 
     669    </p> 
     670    <source>Tim Peters, 24 Apr 1998</source> 
     671  </quotation> 
     672 
     673  <quotation id="q59"> 
     674    <p> 
     675      The infinities aren't contagious except in that they often appear that 
     676      way due to their large size. 
     677    </p> 
     678    <source>Tim Peters on the IEEE 754 floating point standard, 27 Apr 1998</source> 
     679  </quotation> 
     680 
     681  <quotation id="q60"> 
     682    <p> 
     683      The "of course, while <em>I</em> have no problem with this at all, 
     684      it's surely too much for a lesser being" flavor of argument always 
     685      rings hollow to me. Are you personally confused by the meanings for 
     686      "+" that exist today? <em>Objecting</em> to the variations is a 
     687      different story; I'm wondering whether you personally stumble over 
     688      them in practice. I don't; Steven doesn't; I doubt that you do either. 
     689      I'm betting that almost <em>nobody</em> ever does, in which case those 
     690      "less nimble colleagues and students" must be supernaturally feeble to 
     691      merit such concern. 
     692    </p> 
     693    <source>Tim Peters, 29 Apr 1998</source> 
     694  </quotation> 
     695 
     696  <quotation id="q61"> 
     697    <p> 
     698      "Ideally, IMO, two messages with the same name should have the same 
     699      meaning but possibly different implementations. Of course, "meaning" 
     700      is somewhat relative, but the notion that two messages with the same 
     701      name should have the same 'meaning' is very useful." 
     702    </p> 
     703    <p> 
     704      "Like clothes.launder() vs money.launder(), or shape.draw() vs 
     705      blood.draw(), or matrix.norm() vs hi.norm() &lt;wink&gt;? I'm afraid 
     706      English thrives on puns, and the same word routinely means radically 
     707      different things across application areas. Therefore, to insist that a 
     708      word have "one true meaning" in a programming language is insisting 
     709      that the language cater to one true application domain." 
     710    </p> 
     711    <source>Jim Fulton and Tim Peters, in a discussion of rich comparisons, 29 Apr 1998</source> 
     712  </quotation> 
     713 
     714  <quotation id="q62"> 
     715    <p> 
     716      Indeed, when I design <em>my</em> killer language, the identifiers 
     717      "foo" and "bar" will be reserved words, never used, and not even 
     718      mentioned in the reference manual. Any program using one will simply 
     719      dump core without comment. Multitudes will rejoice. 
     720    </p> 
     721    <source>Tim Peters, 29 Apr 1998</source> 
     722  </quotation> 
     723 
     724  <quotation id="q63"> 
     725    <p> 
     726      Too little freedom makes life confusingly clumsy; too much, clumsily 
     727      confusing. Luckily, the tension between freedom and restraint 
     728      eventually gets severed by Guido's Razor. 
     729    </p> 
     730    <source>Tim Peters, 29 Apr 1998</source> 
     731  </quotation> 
     732 
     733  <quotation id="q64"> 
     734    <p> 
     735      In other words, I'm willing to see dark corners added to the language, 
     736      as long as I don't have to go into them myself. 
     737    </p> 
     738    <source>A.M. Kuchling, 29 Apr 1998</source> 
     739  </quotation> 
     740 
     741  <quotation id="q65"> 
     742    <p> 
     743      This argument is specious. What on earth would it mean to compare an 
     744      object you created with another object from someone else's code unless 
     745      you knew exactly what each object's semantics were? Do you really want 
     746      to ask if my abstract syntax tree is less then your HTTP connection 
     747      object? 
     748    </p> 
     749    <source>Jeremy Hylton, in a discussion of rich comparisons, 29 Apr 1998</source> 
     750  </quotation> 
     751 
     752  <quotation id="q66"> 
     753    <p> 
     754      Two things I learned for sure during a particularly intense acid trip 
     755      in my own lost youth: (1) everything is a trivial special case of 
     756      something else; and, (2) death is a bunch of blue spheres. 
     757    </p> 
     758    <source>Tim Peters, 1 May 1998</source> 
     759  </quotation> 
     760 
     761  <quotation id="q67"> 
     762    <p> 
     763      Well, they will be: "&lt;" will mean what everyone thinks it means 
     764      when applied to builtin types, and will mean whatever __lt__ makes it 
     765      mean otherwise, except when __lt__ isn't defined but __cmp__ is in 
     766      which case it will mean whatever __cmp__ makes it mean, except when 
     767      neither __lt__ or __cmp__ are defined in which case it's still 
     768      unsettled. I think. Or isn't that what you meant by "clearly defined"? 
     769    </p> 
     770    <source>Tim Peters, 6 May 1998</source> 
     771  </quotation> 
     772 
     773  <quotation id="q68"> 
     774    <p> 
     775      You write a great program, regardless of language, by redoing it over 
     776      &amp; over &amp; over &amp; over, until your fingers bleed and your 
     777      soul is drained. But if you tell newbies <em>that</em>, they might 
     778      decide to go off and do something sensible, like bomb 
     779      defusing&lt;wink&gt;. 
     780    </p> 
     781    <source>Tim Peters, 5 Jun 1998</source> 
     782  </quotation> 
     783 
     784  <quotation id="q69"> 
     785    <p> 
     786      OO styles help in part because they make it easier to redo large parts 
     787      over, or, when the moon is shining just right, to steal large parts 
     788      from someone else. Python helps in many additional ways regardless of 
     789      style, not least of which in that it hurts less to throw away 50 lines 
     790      of code than 5,000 &lt;0.5 wink&gt;. The pains, and joys, of 
     791      programming are <em>qualitatively</em> the same under Python. There's 
     792      less pain less often, and joy comes quicker. And that's worth a whole 
     793      lot. 
     794    </p> 
     795    <source>Tim Peters, 5 Jun 1998</source> 
     796  </quotation> 
     797 
     798  <quotation id="q70"> 
     799    <p> 
     800      I've had a DBA tell me that what I wanted to do "could not" be done 
     801      because his silly $5000 tool couldn't model it. Proving him wrong 
     802      simply increased his conviction that what I was doing was immoral and 
     803      perverse. Which, come to think of it, it probably was. Hee hee. 
     804    </p> 
     805    <source>Gordon McMillan, 8 Jun 1998</source> 
     806  </quotation> 
     807 
     808  <quotation id="q71"> 
     809    <p> 
     810      The majority of programmers aren't really looking for flexibility. 
     811      Most languages that enjoy huge success seem to do so not because 
     812      they're flexible, but because they do one particular thing 
     813      <em>extremely</em> well. Like Fortran for fast number-crunching in its 
     814      day, or Perl for regexps, or C++ for compatibility with C, or C for 
     815      ... well, C's the exception that proves the rule. 
     816    </p> 
     817    <source>Tim Peters, 11 Jun 1998</source> 
     818  </quotation> 
     819 
     820  <quotation id="q72"> 
     821    <p> 
     822      It has also been referred to as the "Don Beaudry <em>hack</em>," but 
     823      that's a misnomer. There's nothing hackish about it -- in fact, it is 
     824      rather elegant and deep, even though there's something dark to it. 
     825    </p> 
     826    <source>Guido van Rossum, <cite>Metaclass Programming in Python 1.5</cite></source> 
     827  </quotation> 
     828 
     829  <quotation id="q73"> 
     830    <p> 
     831      Just point your web browser at http://www.python.org/search/ and look 
     832      for "program", "doesn't", "work", or "my". Whenever you find someone 
     833      else whose program didn't work, don't do what they did. Repeat as 
     834      needed. 
     835    </p> 
     836    <source>Tim Peters, on python-help, 16 Jun 1998</source> 
     837  </quotation> 
     838 
     839  <quotation id="q74"> 
     840    <p> 
     841      Now some people see unchecked raw power and flee from perceived 
     842      danger, while others rush toward perceived opportunity. That's up to 
     843      them. But I think it's enormously <em>clarifying</em> in either case 
     844      to see just <em>how</em> raw this particular gimmick can get. 
     845    </p> 
     846    <source>Tim Peters, 16 Jun 1998</source> 
     847  </quotation> 
     848 
     849  <quotation id="q75"> 
     850    <p> 
     851      Every language has its partisans, usually among folks deeply immersed 
     852      in their particular theology, triumphant in having divined the inner 
     853      meaning of some esoteric operations, like a medieval Jesuit hot on the 
     854      trail of the final ontological proof, whose conciseness in solving a 
     855      single problem makes them almost swoon with ecstacy at the expected 
     856      savings of many keystrokes, as if those very keystrokes represented a 
     857      lot of heavy lifting and hauling on their part. 
     858    </p> 
     859    <source>John Holmgren, 18 Jun 1998</source> 
     860    <note><p>Jesuits weren't medieval, the order having been founded in 1540, 
     861      but it's still a good quotation.</p></note> 
     862  </quotation> 
     863 
     864  <quotation id="q76"> 
     865    <p> 
     866      &gt; In general, the situation sucks. 
     867    </p> 
     868    <p> 
     869      mind-if-i-use-that-as-my-epitaph&lt;wink&gt;?-ly y'rs - tim 
     870    </p> 
     871    <source>Timothy J. Grant and Tim Peters, 22 Jun 1998</source> 
     872  </quotation> 
     873 
     874  <quotation id="q77"> 
     875    <p> 
     876      &gt; Just for the record, on AIX, the following C program: 
     877    </p> 
     878    <p> 
     879      Oh no you don't! I followed AIX threads for the first year it came 
     880      out, but eventually decided there was no future in investing time in 
     881      baffling discussions that usually ended with "oh, never mind -- turns 
     882      out it's a bug" &lt;0.9 wink&gt;. 
     883    </p> 
     884    <source>Vladimir Marangozov and Tim Peters, 23 Jun 1998</source> 
     885  </quotation> 
     886 
     887  <quotation id="q78"> 
     888    <p> 
     889      Python - why settle for snake oil when you can have the <em>whole</em> 
     890      snake? 
     891    </p> 
     892    <source>Mark Jackson, 26 Jun 1998</source> 
     893  </quotation> 
     894 
     895  <quotation id="q79"> 
     896    <p> 
     897      The problem I have with "SETL sets" in Python is the same I have with 
     898      every other language's "killer core" in Python: SETL is much more than 
     899      just "a set type", Eiffel is much more than just fancy pre- and post- 
     900      conditions, Perl's approach to regexps is much more than just its 
     901      isolated regexp syntax, Scheme is much more than just first-class 
     902      functions &amp; lexical closures, and so on. Good languages aren't 
     903      random collections of interchangeable features: they have a philosophy 
     904      and internal coherence that's never profitably confused with their 
     905      surface features. 
     906    </p> 
     907    <source>Tim Peters, 10 Jul 1998</source> 
     908  </quotation> 
     909 
     910  <quotation id="q80"> 
     911    <p> 
     912      "Since I'm so close to the pickle module, I just look at the pickles 
     913      directly, as I'm pretty good at reading pickles." 
     914    </p> 
     915    <p> 
     916      "As you all can imagine, this trick goes over really well at parties." 
     917    </p> 
     918    <source>Jim Fulton and Paul Everitt on the Bobo list, 17 Jul 1998</source> 
     919  </quotation> 
     920 
     921  <quotation id="q81"> 
     922    <p> 
     923      My theory is that the churning of old threads and reminiscences 
     924      (Continuations, Icon influences, old-T-shirts, the pre news-group 
     925      mailing list archive, whitespace, closures, .... ) has brought some 
     926      old messages to the surface, via some mechanism similar to the way 
     927      plankton and other nutrients are cycled in the ocean. 
     928    </p> 
     929    <source>Steven D. Majewski, 23 Jul 1998</source> 
     930  </quotation> 
     931 
     932  <quotation id="q82"> 
     933    <p> 
     934      In general, Our Guido flees from schemes that merely change 
     935      <em>which</em> foot gets blown off &lt;0.45 caliber wink&gt;. Schemes 
     936      that remove the firing pin entirely have a much better, um, shot 
     937      &lt;wink&gt;. 
     938    </p> 
     939    <source>Tim Peters, 25 Jul 1998</source> 
     940  </quotation> 
     941 
     942  <quotation id="q83"> 
     943    <p> 
     944      I don't know what "invert the control structure" means -- but if it's 
     945      anything like turning a hamster inside-out, I would <em>expect</em> it 
     946      to be messy &lt;wink&gt;. 
     947    </p> 
     948    <source>Tim Peters, 25 Jul 1998</source> 
     949  </quotation> 
     950 
     951  <quotation id="q84"> 
     952    <p> 
     953      This makes it possible to pass complex object hierarchies to a C coder 
     954      who thinks computer science has made no worthwhile advancements since 
     955      the invention of the pointer. 
     956    </p> 
     957    <source>Gordon McMillan, 30 Jul 1998</source> 
     958  </quotation> 
     959 
     960  <quotation id="q85"> 
     961    <p> 
     962      The nice thing about list comprehensions is that their most useful 
     963      forms could be implemented directly as light sugar for ordinary Python 
     964      loops, leaving lambdas out of it entirely. You end up with a subtly 
     965      different beast, but so far it appears to be a beast that's compatible 
     966      with cuddly pythons. 
     967    </p> 
     968    <source>Tim Peters, 6 Aug 1998</source> 
     969  </quotation> 
     970 
     971  <quotation id="q86"> 
     972    <p> 
     973      I wonder what Guido thinks he might do in Python2 (assuming, of 
     974      course, that he doesn't hire a bus to run over him before then 
     975      &lt;wink&gt;). 
     976    </p> 
     977    <source>Tim Peters, 26 Aug 1998</source> 
     978  </quotation> 
     979 
     980  <quotation id="q87"> 
     981    <p> 
     982      After writing CGI scripts the traditional way for a few years, it is 
     983      taking awhile to reshape my thinking. No sledgehammer to the head yet, 
     984      but lots of small sculpting hammers... 
     985    </p> 
     986    <source>John Eikenberry on the Bobo list, 27 Aug 1998</source> 
     987  </quotation> 
     988 
     989  <quotation id="q88"> 
     990    <p> 
     991      I believe sometimes numbers creep into my programs as strings, so 
     992      '4'/2 needs to also be 2. Other languages do this. Since this is due 
     993      in part to user input, I guess 'four'/2, 'quattro/2', 'iv/2' etc. need 
     994      to be 2 as well; don't know any other language that does so, but 
     995      Python could take the lead here in software reliability. Any white 
     996      space should be ignored, including between my ears. I don't have time 
     997      to write any useful software, so I've decided to devote myself to 
     998      proposing various changes to the Python interpreter. 
     999    </p> 
     1000    <source>Donn Cave uses sarcasm with devastating effect, 28 Aug 1998</source> 
     1001  </quotation> 
     1002 
     1003  <quotation id="q89"> 
     1004    <p> 
     1005      then-again-if-history-were-important-god-wouldn't-have-hid- it-in-the- 
     1006      past-ly y'rs 
     1007    </p> 
     1008    <source>Tim Peters, 28 Aug 1998</source> 
     1009  </quotation> 
     1010 
     1011  <quotation id="q90"> 
     1012    <p> 
     1013       
    8591014<pre> 
    8601015&gt; &gt;( float ( / 1 3 )) 
    8611016&gt; 0.33333333333333331 
    8621017</pre> 
    863 Now <em>that</em> one is impressive:  it's the best possible 17-digit decimal 
    864 representation of the best possible 53-bit fp binary representation of 1/3, 
    865 and 17 is the minimum number of decimal digits you need in general so that a 
    866 53-bit binary fp value can be exactly reconstructed by a best-possible atof. 
    867 </p><source>Tim Peters, 2 Sep 1998</source>  
    868 </quotation> 
    869  
    870 <quotation><p> 
    871 This is not a technical issue so much as a human issue; we  
    872 are limited and so is our time.  (Is this a bug or a feature of time? 
    873 Careful; trick question!) 
    874 </p><source>Fred Drake on the Documentation SIG, 9 Sep 1998</source>  
    875 </quotation> 
    876  
    877 <quotation><p> 
    878 There are also some surprises [in the late Miocene Australia] 
    879 some small mammals totally unknown and not obviously related 
    880 to any known marsupial (appropriately awarded names such as 
    881 <foreign>Thingodonta</foreign> and <foreign>Weirdodonta</foreign>) and a giant 
    882 python immortalized as <foreign>Montypythonoides</foreign>. 
    883 </p><source><cite>The Book of Life</cite>, found by Aaron Watters 
    884 </source>  
    885 </quotation> 
    886  
    887 <quotation><p> 
    888 Can the denizens of this group enlighten me about what the 
    889 advantages of Python are, versus Perl ? 
    890 </p><p> 
    891 "python" is more likely to pass unharmed through 
    892 your spelling checker than "perl". 
    893  
    894 </p><source>An unknown poster and Fredrik Lundh, 11 Sep 1998 
    895 </source>  
    896 </quotation> 
    897  
    898 <quotation><p> 
    899 I have to say that the Dragon book is good when you consider 
    900 the alternatives, but compared with the Platonic ideal it leaves 
    901 much to be desired.  In particular the algorithm descriptions 
    902 are described at such a low level  it's difficult to understand 
    903 how they work -- and at a higher conceptual level 
    904 involving graph theoretical transforms of automata (which I got 
    905 thanks to Jean Gallier by word of mouth and effort of chalk) 
    906 is nearly invisible for the trees.  
    907 </p><source>Aaron Watters, 17 Sep 1998</source>  
    908 </quotation> 
    909  
    910 <quotation><p> 
    911 ... and at a higher conceptual level involving graph theoretical 
    912 transforms of automata (which I got thanks to Jean Gallier by word of 
    913 mouth and effort of chalk) ... 
    914 </p><source>Aaron Watters, 17 Sep 1998</source>  
    915 </quotation> 
    916  
    917 <quotation><p> 
    918 Every clarity vanished? :-) 
    919 </p><source>Christian Tismer after answering a poster's question, 17 Sep 1998</source>  
    920 </quotation> 
    921  
    922 <quotation><p> 
    923 Take the "public" modifier off 
    924    Joseph's interface, or leave it there but nest the interface inside 
    925    class "closure", or even move the interface to its own printer.java 
    926    file, and it compiles and runs without incident. Most of the big boys 
    927    I hang with aren't paralyzed by self-explanatory compiler msgs &lt;wink&gt;. 
    928 </p><p> 
    929    not-to-mention-the-girls-ly y'rs  
    930 </p><source>Tim Peters, 24 Sep 1998</source>  
    931 </quotation> 
    932  
    933 <quotation><p> 
    934    &lt;shakes head ruefully&gt; You kids today, with your piercings and your 
    935    big pants and your purple-and-green hair and your X-Files and your 
    936    Paula Cole and your espresso coffee and your Seattle grunge rock and 
    937    your virtual machines and your acid-washed jeans and your Ernest 
    938    Hemingway and your object-oriented languages and your fax machines and 
    939    your hula hoops and your zoot suits and your strange slang phrases 
    940    like "That's so bogus" or "What a shocking bad hat" and those atonal 
    941    composers like Arnold Schoenberg and Milton Babbit that you kids seem 
    942    to like these days and your cubist painters and your Ally McBeal and 
    943    that guy in Titanic and your TCP/IP protocol and your heads filled 
    944    with all that Cartesian dualism these days and ... well, I just don't 
    945    get you kids. &lt;shakes head ruefully again&gt; 
    946 </p><source>A.M. Kuchling, 1 Oct 1998</source>  
    947 </quotation> 
    948  
    949 <quotation><p> 
    950 E.g., at the REBOL prompt I typed 
     1018       Now <em>that</em> one is impressive: it's the best possible 17-digit 
     1019      decimal representation of the best possible 53-bit fp binary 
     1020      representation of 1/3, and 17 is the minimum number of decimal digits 
     1021      you need in general so that a 53-bit binary fp value can be exactly 
     1022      reconstructed by a best-possible atof. 
     1023    </p> 
     1024    <source>Tim Peters, 2 Sep 1998</source> 
     1025  </quotation> 
     1026 
     1027  <quotation id="q91"> 
     1028    <p> 
     1029      This is not a technical issue so much as a human issue; we are limited 
     1030      and so is our time. (Is this a bug or a feature of time? Careful; 
     1031      trick question!) 
     1032    </p> 
     1033    <source>Fred Drake on the Documentation SIG, 9 Sep 1998</source> 
     1034  </quotation> 
     1035 
     1036  <quotation id="q92"> 
     1037    <p> 
     1038      There are also some surprises [in the late Miocene Australia] some 
     1039      small mammals totally unknown and not obviously related to any known 
     1040      marsupial (appropriately awarded names such as 
     1041      <foreign>Thingodonta</foreign> and <foreign>Weirdodonta</foreign>) and 
     1042      a giant python immortalized as <foreign>Montypythonoides</foreign>. 
     1043    </p> 
     1044    <source><cite>The Book of Life</cite>, found by Aaron Watters</source> 
     1045  </quotation> 
     1046 
     1047  <quotation id="q93"> 
     1048    <p> 
     1049      Can the denizens of this group enlighten me about what the advantages 
     1050      of Python are, versus Perl ? 
     1051    </p> 
     1052    <p> 
     1053      "python" is more likely to pass unharmed through your spelling checker 
     1054      than "perl". 
     1055    </p> 
     1056    <source>An unknown poster and Fredrik Lundh, 11 Sep 1998</source> 
     1057  </quotation> 
     1058 
     1059  <quotation id="q94"> 
     1060    <p> 
     1061      I have to say that the Dragon book is good when you consider the 
     1062      alternatives, but compared with the Platonic ideal it leaves much to 
     1063      be desired. In particular the algorithm descriptions are described at 
     1064      such a low level it's difficult to understand how they work -- and at 
     1065      a higher conceptual level involving graph theoretical transforms of 
     1066      automata (which I got thanks to Jean Gallier by word of mouth and 
     1067      effort of chalk) is nearly invisible for the trees. 
     1068    </p> 
     1069    <source>Aaron Watters, 17 Sep 1998</source> 
     1070  </quotation> 
     1071 
     1072  <quotation id="q95"> 
     1073    <p> 
     1074      ... and at a higher conceptual level involving graph theoretical 
     1075      transforms of automata (which I got thanks to Jean Gallier by word of 
     1076      mouth and effort of chalk) ... 
     1077    </p> 
     1078    <source>Aaron Watters, 17 Sep 1998</source> 
     1079  </quotation> 
     1080 
     1081  <quotation id="q96"> 
     1082    <p> 
     1083      Every clarity vanished? :-) 
     1084    </p> 
     1085    <source>Christian Tismer after answering a poster's question, 17 Sep 1998</source> 
     1086  </quotation> 
     1087 
     1088  <quotation id="q97"> 
     1089    <p> 
     1090      Take the "public" modifier off Joseph's interface, or leave it there 
     1091      but nest the interface inside class "closure", or even move the 
     1092      interface to its own printer.java file, and it compiles and runs 
     1093      without incident. Most of the big boys I hang with aren't paralyzed by 
     1094      self-explanatory compiler msgs &lt;wink&gt;. 
     1095    </p> 
     1096    <p> 
     1097      not-to-mention-the-girls-ly y'rs 
     1098    </p> 
     1099    <source>Tim Peters, 24 Sep 1998</source> 
     1100  </quotation> 
     1101 
     1102  <quotation id="q98"> 
     1103    <p> 
     1104      &lt;shakes head ruefully&gt; You kids today, with your piercings and 
     1105      your big pants and your purple-and-green hair and your X-Files and 
     1106      your Paula Cole and your espresso coffee and your Seattle grunge rock 
     1107      and your virtual machines and your acid-washed jeans and your Ernest 
     1108      Hemingway and your object-oriented languages and your fax