object-oriented design is the roman numerals of computing.
-- Rob Pike
There are two ways of constructing a software design: One way is to make it so
simple that there are obviously no deficiencies and the other way is to make it so
complicated that there are no obvious deficiencies.
-- C.A.R. Hoare, The 1980 ACM Turing Award Lecture
The cheapest, fastest, and most reliable components are those that aren't there.
-- Gordon Bell
One of my most productive days was throwing away 1000 lines of code.
-- Ken Thompson
When in doubt, use brute force
-- Ken Thompson
We have persistant objects, they're called files.
-- ken
If you want to go somewhere, goto is the best way to get there
-- ken
The X server has to be the biggest program I've ever seen that doesn't do anything
for you.
-- ken
A smart terminal is not a smartass terminal, but rather a terminal you can educate
-- Rob Pike
object-oriented design is the roman numerals of computing.
-- Rob Pike
Not only is UNIX dead, it's starting to smell really bad.
-- Rob Pike circa 1991
cat came back from Berkeley waving flags
-- Rob Pike
The most effective debugging tool is still careful thought, coupled with
judiciously placed print statements.
-- Brian W. Kernighan, in the paper Unix for Beginners (1979)
Debugging is twice as hard as writing the code in the first place. Therefore, if
you write the code as cleverly as possible, you are, by definition, not smart
enough to debug it.
-- Brian W. Kernighan
Controlling complexity is the essence of computer programming.
-- Brian Kernigan
Beauty is more important in computing than anywhere else in technology because
software is so complicated. Beauty is the ultimate defence against complexity.
-- David Gelernter
UNIX was not designed to stop its users from doing stupid things, as that would
also stop them from doing clever things.
-- Doug Gwyn
If you're willing to restrict the flexibility of your approach, you can almost
always do something better.
-- John Carmack
And folks, let's be honest. Sturgeon was an optimist. Way more than 90% of code
is crap.
-- viro [http://www.ussg.iu.edu/hypermail/linux/kernel/0310.0/0870.html]
A data structure is just a stupid programming language.
-- R. Wm. Gosper
The essence of XML is this: the problem it solves is not hard, and it does not
solve the problem well.
-- Phil Wadler, POPL 2003
A program that produces incorrect results twice as fast is infinitely slower.
-- John Osterhout
Life is too short to run proprietary software.
-- Bdale Garbee
And my orders are to weed out all non-hackers who do not pack the gear to serve in
my beloved Corps!
-- Master Gunnery Sergeant Boyd Hartman
God-awful Compiler Crap
I had a nightmare once in which I a had convinced a friend how wonderful C++ is.
A while later he came back., and he was mad.
-- Robin Rosenberg
[http://groups.google.com/groups?selm=1fYEA-pz-21%40gated-at.bofh.it]
software.
XML is like violence: if it doesn't solve your problem, you aren't using enough of
it
-- Heard from someone working at M$
threads [and] signals [are] a platform-dependant trail of misery, despair, horror
and madness
-- Anthony Baxter [http://mail.python.org/pipermail/python-dev/2005-July/]
Computers are about making life easier in much the same way that the Republican
party is about fiscal responsibility and a culture of life.
-- mister_borogove
[http://www.livejournal.com/users/jwz/536902.html?thread=9506374#t9506374]
The Internet is not for sissies.
-- Paul Vixie
[http://groups.google.com/groups?selm=VIXIE.94Sep26163002%40gw.home.vix.com]
All software sucks, be it open-source [or] proprietary. The only question is what
can be done with particular instance of suckage, and that's where having the
source matters.
-- viro [http://www.ussg.iu.edu/hypermail/linux/kernel/0404.3/1344.html]
the computing scientist's main challenge is not to get confused by the
complexities of his own making
-- E. W. Dijkstra
In computer science, we stand on each other's feet.
-- Brian Reid
it's not that perl programmers are idiots, it's that the language rewards idiotic
behavior in a way that no other language or tool has ever done
-- Erik Naggum, comp.lang.lisp
Out-of-band == should be on a separate channel...
-- Al Viro
It's a curious thing about our industry: not only do we not learn from our
mistakes, we also don't learn from our successes.
-- Keith Braithwaite
Ethernet always wins.
-- Andy Bechtolsheim
The central enemy of reliability is complexity.
-- Geer et al.
Simplicity is prerequisite for reliability.
-- Edsger W. Dijkstra
Beware of "the real world". A speaker's apeal to it is always an invitation not
to challenge his tacit assumptions.
-- Edsger W. Dijkstra
Unix is a junk OS designed by a committee of PhDs
-- Dave Cutler
i've wondered whether Linux sysfs should be called syphilis
-- forsyth
A program is portable to the extent that it can be easily moved to a new computing
environment with much less effort than would be required to write it afresh.
-- W. Stan Brown
[http://groups.google.com/group/comp.std.c/msg/083fb09444dbbc76]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
The Eight Fallacies of Distributed Computing
Essentially everyone, when they first build a distributed application, makes
the following eight assumptions. All prove to be false in the long run and all
cause big trouble and painful learning experiences.
1. The network is reliable
2. Latency is zero
3. Bandwidth is infinite
4. The network is secure
5. Topology doesn't change
6. There is one administrator
7. Transport cost is zero
8. The network is homogeneous
-- Peter Deutsch
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
From: rsc@plan9.bell-labs.com (Russ Cox)
Subject: Re: [9fans] design clairvoyance & the 9 way
Date: Thu, 8 May 2003 04:05:31 GMT
> What does tomorrow's unix look like?
I'm confident that tomorrow's Unix will look like today's Unix, only cruftier.
Russ
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
You want to make your way in the CS field? Simple. Calculate rough time of
amnesia (hell, 10 years is plenty, probably 10 months is plenty), go to the
dusty archives, dig out something fun, and go for it. It's worked for many
people, and it can work for you.
-- Ron Minnich
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
From: Alexander Viro
Subject: Re: ANNOUNCE: Linux Kernel ORB: kORBit
Date: Sat, 9 Dec 2000 00:39:36 -0500 (EST)
[...]
Yeah... "Infinitely extendable API" and all such. Roughly translated
as "we can't live without API bloat". Frankly, judging by the GNOME
codebase people who designed the thing[GNOME] are culturally incompatible with
UNIX.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> What's wrong with perl?
It combines all the worst aspects of C and Lisp: a billion different
sublanguages in one monolithic executable. It combines the power of
C with the readability of PostScript.
> To me perl is the triumph of utalitarianism.
So are cockroaches. So is `sendmail'.
-- jwz [http://groups.google.com/groups?selm=33F4D777.7BF84EA3%40netscape.com]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
From: ron minnich
Date: Wed, 3 Mar 2004 06:05:39 -0700 (MST)
Subject: [9fans] microkernels
are they the O-O of the OS world? Always the promises ...
ron
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Subject: Re: BK, deltas, snapshots and fate of -pre...
From: Alexander Viro (viro@math.psu.edu)
Date: Sun Apr 21 2002 - 01:27:56 EST
Url: http://groups.google.com/group/fa.linux.kernel/msg/caede4c7fd703c4e
[...]
Sigh... When it comes to software there are three systems of beliefs.
One of them:
* Thou shalt know by your heart that all software sucks.
* Beware of those who say that their software does not suck, for they
are either fools or liars.
* Beware of those who give you garments and do not allow to mend them,
for sooner or later thou shalt find what needs mending.
* But beware also of those who give you badly rotten garments and say
"Thou shalt prefer that above everything, for thou art allowed to
mend it".
* Thou shalt not treat software as a living being, for it is not one.
* Choose a license of thine liking for sofware thou writest and do not
blame those who choose differently for software they write.
* Know when to say "It can be mended, I shalt do that" and when to
say "It is rotten beyond repair".
* Choose free over non-free when it is better or when thou art willing
to fix what is broken.
* When shit happens, think how to fix it.
Another:
* All software wants to be free
* Thou shalt not use non-free software
* Thou shalt not mention non-free software
* Thou shalt make all thine software free
* Thou shalt choose free above working, even if free one is broken
beyond repair
* When shit happens, add new features
and the last one:
* Our 3133t! K3wl! Software! Does Not Suck!!!
* Always choose our software above everything else
* When shit happens, we add new features
If you happen to believe in second variant, you have my condolence as
long as you don't force your beliefs on everybody else. If you choose
to emulate door-to-door pests^H^H^H^Hreachers - don't expect to be
treated differently.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
People do have a right to put their code under whatever license they like.
Now, _I_ won't use the stuff I don't have a source for unless I have
exceptionally good reason to believe that authors of that stuff are
among the few percents of programmers who *can* find their arse without
outside help. But that has nothing to do with licensing or any moral
considerations and everything to the fact that I know what kind of crap
most of the software is.
- Al Viro on linux-kernel
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Linus Torvalds wrote:
> Ehh.. Telling people "don't do that" simply doesn't work. Not if they can
> do it easily anyway. Things really don't get fixed unless people have a
> certain pain-level to induce it to get fixed.
Umm... How about the following: you hit delete on patches that introduce
new ioctls, I help to provide required level of pain. Deal?
- Al Viro on linux-kernel
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
James Simmons wrote:
> Crap can work. Given enough thrust pigs will fly, but it's not necessary a
> good idea. [ Alexander Viro on linux-kernel ]
Watch the attributions.
With sufficient thrust, pigs fly just fine.
However, this is not necessarily a good idea.
It is hard to be sure where they are going to land,
and it could be dangerous sitting under them as they fly overhead.
From RFC1925, R Callon, 1996.
- Al Viro on linux-kernel
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
In the same world where Vomit-Making System is elegant, SGI "designs" are
and NT is The Wave Of Future(tm). Pardon me, but I'll stay in our universe
and away from the drugs of such power.
- Al Viro on linux-kernel
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> > Or even XML. Ouch! No need to throw things at me!
>
> It seems they would be thrown! XML in kernel is too much. OpenOffice and
They won't be thrown. They will be slowly driven under the nails, so that
victim could experience the joy equal to that of dealing with XML.
- Alexander Viro on linux-kernel
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
A Professor of Computer Science gave a paper on how he uses Linux to teach his
undergraduates about operating systems. Someone in the audience asked `why use
Linux rather than Plan 9?' and the professor's answer was approximately `Plan 9
looks like it was written by experts; Linux looks like something my students
could aspire to write'.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Computer: Your nominators and endorsers for the Kanai Award consistently
characterized your work as simple yet powerful. How do you discover such
powerful abstractions?
Thompson: It is the way I think. I am a very bottom-up thinker. If you give
me the right kind of Tinker Toys, I can imagine the building. I can sit there
and see primitives and recognize their power to build structures a half mile
high, if only I had just one more to make it functionally complete. I can see
those kinds of things.
The converse is true, too, I think. I can't from the building imagine the
Tinker Toys. When I see a top-down description of a system or language that
has infinite libraries described by layers and layers, all I just see is a
morass. I can't get a feel for it. I can't understand how the pieces fit; I
can't understand something presented to me that's very complex. Maybe I do
what I do because if I built anything more complicated, I couldn't understand
it. I really must break it down into little pieces.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
if you're capable of understanding `finalised virtual hyperstationary factory
class', remembering the Java class hierarchy, and all the details of the Java
Media Framework, you are (a) a better man than i am (b) capable of filling your
mind with large chunks of complexity, so concurrent programming should be
simple by comparison. go for it.
ps. i made up the hyperstationary, but then again, it's probably a design
pattern.
-- forsyth
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
..At first I hoped that such a technically unsound project would collapse but I
soon realized it was doomed to success. Almost anything in software can be
implemented, sold, and even used given enough determination. There is nothing a
mere scientist can say that will stand against the flood of a hundred million
dollars. But there is one quality that cannot be purchased in this way -and
that is reliability. The price of reliability is the pursuit of the utmost
simplicity. It is a price which the very rich find most hard to pay.
- C.A.R. Hoare
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Deleted code is debugged code.
-- Jeff Sickel
No comments:
Post a Comment