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