From 84b25c6877ab8ba4eee3c331b89ebb774085f480 Mon Sep 17 00:00:00 2001 From: "hemanth.hm" Date: Sat, 26 May 2012 22:46:22 +0530 Subject: [PATCH] Removed .said file --- lib/.said | 1621 ----------------------------------------------------- 1 file changed, 1621 deletions(-) delete mode 100644 lib/.said diff --git a/lib/.said b/lib/.said deleted file mode 100644 index f200334..0000000 --- a/lib/.said +++ /dev/null @@ -1,1621 +0,0 @@ ---- -- :c: | - I Hate Programming. - I Hate Programming. - I Hate Programming. - It works! - I Love Programming. - -- :c: Perl - The only language that looks the same before and after RSA encryption. - :a: Keith Bostic - -- :c: I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. - :a: Alan Kay - -- :c: Debugging is anticipated with distaste, performed with reluctance, and bragged about forever. - :a: Dan Kaminsky - -- :c: Memory is like an orgasm. It's a lot better if you don't have to fake it. - :a: Seymour Cray on virtual memory - -- :c: The most exciting phrase to hear in science, the one that heralds new discoveries, is not 'Eureka!' but 'That's funny...' - :a: Isaac Asimov - -- :c: A computer lets you make more mistakes faster than any other invention in human history, with the possible exceptions of handguns and tequila. - :a: Mitch Ratcliffe - -- :c: Engineers are all basically high-functioning autistics who have no idea how normal people do stuff. - :a: Cory Doctorow - -- :c: Any sufficiently advanced magic is indistinguishable from a rigged demonstration. - -- :c: Vi is a subset of evil. - -- :c: The difference between theory and practice is smaller in theory than in practice. - -- :c: "There are only 3 numbers of interest to a computer scientist: 1, 0 and infinity." - -- :c: Debuggers don't remove bugs. They only show them in slow motion. - -- :c: Never trust a programmer in a suit. - -- :c: In theory, theory and practice are the same. In practice, they're not. - -- :c: Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves. - :a: Alan Kay - -- :c: The trouble with programmers is that you can never tell what a programmer is doing until it's too late." - :a: Seymour Cray - -- :c: Measuring programming progress by lines of code is like measuring aircraft building progress by weight. - :a: Bill Gates - -- :c: It is practically impossible to teach good programming style to students that have had prior exposure to BASIC. As potential programmers, they are mentally mutilated beyond hope of regeneration. - :a: E. W. Dijkstra - -- :c: With regard to adding more programmers to get a project done faster - Nine people can't make a baby in a month. - :a: Fred Brooks - -- :c: "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. The first method is far more difficult." - :a: C.A.R. Hoare. - -- :c: Weeks of coding can save you hours of planning. - -- :c: | - A programmer started to cuss - Because getting to sleep was a fuss - As he lay there in bed - Looping 'round in his head - was: while(!asleep()) sheep++; - -- :c: Beware of bugs in the above code; I have only proved it correct, not tried it. - :a: Donald Knuth - -- :c: "C++: an octopus made by nailing extra legs onto a dog." - :a: Steve Taylor - -- :c: If Java had true garbage collection, most programs would delete themselves upon execution. - :a: Robert Sewell - -- :c: My definition of an expert in any field is a person who knows enough about what's really going on to be scared. - :a: P. J. Plauger - -- :c: An expert is a man who has made all the mistakes that can be made in a very narrow field. - :a: Niels Bohr - -- :c: "Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why." - -- :c: You can stand on the shoulders of giants OR a big enough pile of dwarfs, works either way. - -- :c: XML is like violence - if it's not working for you, you're not using enough of it. - -- :c: Whereas Europeans generally pronounce my name the right way ('Nick-louse Veert'), Americans invariably mangle it into 'Nickel's Worth.' This is to say that Europeans call me by name, but Americans call me by value. - :a: Niklaus Wirth - -- :c: Any fool can write code that a computer can understand. Good programmers write code that humans can understand. - :a: Martin Fowler - -- :c: There are 10 types of people in the world, those who can read binary, and those who can't. - -- :c: Programs must be written for people to read, and only incidentally for machines to execute. - :a: From SICP - -- :c: Every language has an optimization operator. In C++ that operator is ‘//’ - -- :c: Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. - :a: Rich Cook - -- :c: An idiot with a computer is a faster, better idiot. - :a: Rich Julius - -- :c: Brevity is the soul of wit. - :a: Shakespeare - -- :c: The question of whether computers can think is just like the question of whether submarines can swim. - :a: Edsger W. Dijkstra - -- :c: There's no test like production. - -- :c: We better hurry up and start coding, there are going to be a lot of bugs to fix. - -- :c: Mostly, when you see programmers, they aren't doing anything. One of the attractive things about programmers is that you cannot tell whether or not they are working simply by looking at them. Very often they're sitting there seemingly drinking coffee and gossiping, or just staring into space. What the programmer is trying to do is get a handle on all the individual and unrelated ideas that are scampering around in his head. - :a: Charles M Strauss - -- :c: The greatest performance improvement of all is when a system goes from not-working to working. - :a: John Ousterhout - -- :c: Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter. - :a: Eric Raymond - -- :c: To iterate is human, to recurse divine. - :a: L. Peter Deutsch - -- :c: "C++ : Where friends have access to your private members." - :a: Gavin Russell Baker - -- :c: A computer is a stupid machine with the ability to do incredibly smart things, while computer programmers are smart people with the ability to do incredibly stupid things. They are, in short, a perfect match. - :a: Bill Bryson - -- :c: UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. - :a: Dennis Ritchie - -- :c: Walking on water and developing software from a specification are easy if both are frozen. - :a: Edward V Berard - -- :c: It always takes longer than you expect, even when you take into account Hofstadter's Law. - :a: Hofstadter's Law - -- :c: Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. - :a: Rick Osborne - -- :c: 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. - :a: Brian Kernighan - -- :c: The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time. - :a: Tom Cargill - -- :c: Java is to JavaScript what Car is to Carpet. - :a: Chris Heilmann - -- :c: If you want to set off and go develop some grand new thing, you don't need millions of dollars of capitalization. You need enough pizza and Diet Coke to stick in your refrigerator, a cheap PC to work on and the dedication to go through with it. - :a: John Carmack - -- :c: The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying. - :a: John Carmack on software patents - -- :c: "Some people, when confronted with a problem, think \"I know, I'll use regular expressions.\" Now they have two problems." - :a: Jamie Zawinski - -- :c: "There are only two kinds of languages: the ones people complain about and the ones nobody uses." - :a: Bjarne Stroustrup - -- :c: I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone. - :a: Bjarne Stroustrup - -- :c: Linux is only free if your time has no value. - :a: Jamie Zawinski - -- :c: It works on my machine. - -- :c: It should be noted that no ethically-trained software engineer would ever consent to write a DestroyBaghdad procedure. Basic professional ethics would instead require him to write a DestroyCity procedure, to which Baghdad could be given as a parameter. - :a: Nathaniel S Borenstein - -- :c: In order to understand recursion, one must first understand recursion. - -- :c: On two occasions I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question. - :a: Charles Babbage - -- :c: If debugging is the process of removing software bugs, then programming must be the process of putting them in. - :a: Edsger Dijkstra - -- :c: PHP is a minor evil perpetrated and created by incompetent amateurs, whereas Perl is a great and insidious evil perpetrated by skilled but perverted professionals. - :a: Jon Ribbens - -- :c: Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away. - :a: Antoine de Saint Exupéry - -- :c: Computer Science is no more about computers than astronomy is about telescopes. - :a: E. W. Dijkstra - -- :c: Better train people and risk they leave – than do nothing and risk they stay. - -- :c: Before software should be reusable, it should be usable. - :a: Ralph Johnson - -- :c: The generation of random numbers is too important to be left to chance. - :a: Robert R. Coveyou, Oak Ridge National Laboratory - -- :c: Anyone who considers arithmetic methods of producing random digits is, of course, in a state of sin. - :a: John von Neumann - -- :c: APL, I believe, can only be learned by writing one-liners–only by seeing in a sense, what you can compress into a line. - :a: Alan J Perlis - -- :c: I love deadlines. I like the whooshing sound they make as they fly by. - :a: Douglas Adams - -- :c: A good programmer looks both ways before crossing a one-way street. - -- :c: Owning a computer without programming is like having a kitchen and using only the microwave oven. - :a: Charles Petzold - -- :c: The only "intuitive" interface is the nipple. After that it's all learned. - :a: Bruce Ediger - -- :c: God could create the world in six days because he didn't have to make it compatible with the previous version. - -- :c: "We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil." - :a: Donald Knuth - -- :c: When art critics get together they talk about Form and Structure and Meaning. When artists get together they talk about where you can buy cheap turpentine. - :a: Pablo Picasso - -- :c: I would love to change the world, but they won't give me the source code. - -- :c: If we're supposed to work in Hex, why have we only got A fingers? - -- :c: "Programming is like sex: one mistake and you have to support it for the rest of your life." - :a: Michael Sinz - -- :c: Think twice before you start programming or you will program twice before you start thinking. - -- :c: If I had more time, I would have written a shorter letter. - :a: Cicero - -- :c: "Software is like sex: It's better when it's free." - :a: Linus Torvalds - -- :c: Profanity is the one language all programmers know best. - -- :c: Any sufficiently advanced technology is indistinguishable from magic. - :a: Sir Arthur C Clarke - -- :c: You start writing code, I'll go see what the customer wants - -- :c: Good programmers never write what they can steal or borrow. - :a: Jeff Atwood - -- :c: Debugging is like farting - it's not so bad when it's your own code. - -- :c: When I am working on a problem I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong. - :a: R. Buckminster Fuller - -- :c: If you don't have time to do it right, when will you have time to do it over? - :a: John Wooden, basketball coach - -- :c: Sufficiently advanced incompetence is indistinguishable from malice. - :a: Clark's law - -- :c: Don't worry about people stealing your ideas. If it's original, you'll have to ram it down their throats. - :a: Howard Aiken - -- :c: Saying that Java is good because it works on all platforms is like saying anal sex is good because it works on all genders. - -- :c: ... one of the main causes of the fall of the Roman Empire was that, lacking zero, they had no way to indicate successful termination of their C programs. - :a: Robert Firth - -- :c: Never memorize what you can look up in books. - :a: Albert Einstein - -- :c: "There are only two hard problems in Computer Science: cache invalidation and naming things." - :a: Phil Karlton - -- :c: It is easier to optimize correct code than to correct optimized code. - -- :c: Software and cathedrals are much the same - first we build them, then we pray. - -- :c: | - Rules for optimization: - 1. Don't do it. - 2. (for experts only) Don't do it yet. - :a: Michael A Jackson - -- :c: "Confidence, n.: The feeling you have before you understand the situation." - -- :c: "There are two major products that come out of Berkeley: LSD and UNIX. We don't believe this to be a coincidence." - :a: Jeremy S. Anderson - -- :c: Good judgement is the result of experience ... Experience is the result of bad judgement. - :a: Fred Brooks - -- :c: If architects built houses the way programmers built programs, the first woodpecker to come along would destroy civilization. - :a: Gerald Weinberg - -- :c: All problems in computer science can be solved with another level of indirection. - :a: David Wheeler - -- :c: Java is a DSL to transform big Xml documents into long exception stack traces. - :a: Scott Bellware - -- :c: "There are only two industries that refer to their customers as users: the computer industry and the drug trade." - :a: Edward Tufte - -- :c: If the code and the comments disagree, then both are probably wrong. - -- :c: Man is the best computer we can put aboard a spacecraft...and the only one that can be mass produced with unskilled labor. - :a: Wernher von Braun - -- :c: I have not failed. I've just found 10,000 ways that won't work. - :a: Thomas A. Edison - -- :c: When debugging, novices insert corrective code; experts remove defective code. - :a: Richard Pattis - -- :c: Simplicity is prerequisite for reliability. - :a: Edsger Dijkstra - -- :c: You can't solve social problems through technical means. - -- :c: "Question: How does a large software project get to be one year late? Answer: One day at a time!" - :a: Fred Brooks - -- :c: Pasting code from the Internet into production code is like chewing gum found in the street. - -- :c: One programmer can do in one day what two programmers can do in two. - -- :c: Java. The elegant simplicity of C++. The blazing speed of Smalltalk. - -- :c: Giving pointers and threads to programmers is like giving whisky and car keys to teenagers. - :a: P. J. O'Rourke - -- :c: There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code. - -- :c: Human beings are not accustomed to being perfect, and few areas of human activity demand it. Adjusting to the requirement for perfection is, I think, the most difficult part of learning to program. - -- :c: Think of compilation as cooking. Dynamic typing means the steak is juicy and still a little red, like red meat is supposed to be. Static typing means you burnt it to a crisp. - :a: Erik Naggum - -- :c: It seems to me you can program with discipline or you can program with bondage and discipline. You can't avoid the discipline either way, but bondage appeals to some people. - :a: Patrick Logan - -- :c: | - One who works with their hands is a laborer. - One who works with their hands and their mind is a craftsman. - One who works with their hands, mind and heart is an artist. - -- :c: Nothing is more permanent than a temporary solution. - :a: Thomas' First Law - -- :c: "Fast, Cheap, Reliable: Pick any two." - -- :c: | - Make it correct, - make it clear, - make it concise, - make it fast. - - In that order. - :a: Wes Dyer - -- :c: Must be zero, or equal to MAPI_UNICODE. In either case, however, this parameter is ignored. - :a: MSDN - -- :c: The best code is no code at all. - -- :c: Easy things should be easy and hard things should be possible. - :a: Larry Wall - -- :c: | - How do we convince people that in programming simplicity and clarity —in short: what mathematicians call "elegance"— are not a dispensable luxury, but a crucial matter that decides between success and failure? - :a: Edsger W. Dijkstra - -- :c: It takes an intelligent person to build something complex; it takes a genius to build something simple. - -- :c: Programmers usually have good reasons for making bad decisions. - -- :c: Let the code run free, if it needs to be debugged, it will come back. - -- :c: If you can't explain something to a six-year-old, you really don't understand it yourself. - :a: Albert Einstein - -- :c: My programs don't have bugs, they just develop random features. - -- :c: In C, its easy to shoot yourself in the foot. C++ makes it more difficult, but when you do, you'll blow your whole leg off. - :a: Stroustrup - -- :c: Multi-threading is the art of screwing things up before, during or after something else. - -- :c: "Programming languages are like girlfriends: The new one is better because you are better." - -- :c: When all you have is a hammer, everything starts to look like a nail. - -- :c: Engineering is the art of doing with one dollar what any damn fool can do with two. - :a: From Space Systems Failures by David M. Harland and Ralph D. Lorenz - -- :c: I don't care if it works on your machine! We are not shipping your machine! - :a: Ovidiu Platon - -- :c: I know it doesn't sound like a big effort, but programmers are really, really lazy, and they like to minimize motion. They'd use feeder tubes if the Health Department would let them. - :a: Steve Yegge - -- :c: UNIX is user friendly. It just picks whom it wants to be friends with. - -- :c: | - "It depends" is the answer to all good software engineering questions, but to be a good software engineer, you should know on what it depends, and why. - -- :c: You're never done, you just run out of time. - -- :c: Program testing can be a very effective way to show the presence of bugs, but is hopelessly inadequate for showing their absence. - :a: Edsger Dijkstra - -- :c: The competent programmer is fully aware of the limited size of his own skull. He therefore approaches his task with full humility, and avoids clever tricks like the plague. - :a: Edsger Dijkstra - -- :c: Good design adds value faster than it adds cost. - :a: Thomas C. Gale - -- :c: | - With all due respect John, I am the head of IT and I have it on good authority. If you type "Google" into Google, you can break the Internet. - :a: | - Jen, "The IT Crowd" - -- :c: The two most common elements in the universe are hydrogen and stupidity. - :a: Harlan Ellison - -- :c: There is no IRL, only AFK - -- :c: A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools. - :a: Douglas Adams - -- :c: A C program is like a fast dance on a newly waxed dance floor by people carrying razors. - :a: Waldi Ravens - -- :c: God did not create the world in seven days; for six days he screwed around and then pulled an all-nighter. - -- :c: if you are a programmer working in 2003 and you don't know the basics of characters, character sets, encodings, and Unicode, and I catch you, I'm going to punish you by making you peel onions for 6 months in a submarine. - :a: Joel Spolsky - -- :c: | - If we'd asked the customers what they wanted, they would have said "faster horses". - :a: Henry Ford - -- :c: | - The word “experienced” often refers to someone who’s gotten away with doing the wrong thing more frequently than you have. - :a: Laurence Gonzales - -- :c: Real Programmers don't comment their code. If it was hard to write, it should be hard to understand. - -- :c: | - 'Goto' is always evil, like in 'goto school' or 'goto work'. - -- :c: Your code is both good and original. Unfortunately the parts that are good are not original, and the parts that are original are not good. - -- :c: They did not know it was impossible, so they did it! - :a: Mark Twain - -- :c: I (...) am rarely happier than when spending an entire day programming my computer to perform automatically a task that would otherwise take me a good ten seconds to do by hand. - :a: Douglas Adams - -- :c: People who are really serious about software should make their own hardware. - :a: Alan Kay - -- :c: "Consider the postage stamp: its usefulness consists in the ability to stick to one thing until it gets there." - :a: Josh Billings - -- :c: Don't tell people how to do things, tell them what to do and let them surprise you with their results. - :a: George S. Patton - -- :c: Multitasking is the art of distracting yourself from two things you’d rather not be doing by doing them simultaneously. - -- :c: Code never lies, comments sometimes do. - :a: Ron Jeffries - -- :c: A computer programmer is a device for turning coffee into bugs. - :a: Bram Moolenaar - -- :c: Any sufficiently advanced bug is indistinguishable from a feature. - :a: Rich Kulawiec - -- :c: From a programmer's point of view, the user is a peripheral that types when you issue a read request. - :a: Peter Williams - -- :c: Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration. - :a: Stan Kelly-Bootle - -- :c: God is Real, unless declared Integer. - -- :c: We all agree on the necessity of compromise. We just can't agree on when it's necessary to compromise. - :a: Larry Wall - -- :c: And don't tell me there isn't one bit of difference between null and space, because that's exactly how much difference there is. - :a: Larry Wall - -- :c: It won't be covered in the book. The source code has to be useful for something, after all... - :a: Larry Wall - -- :c: Just don't create a file called -rf. - :a: Larry Wall - -- :c: Sex is fun, but it probably doesn't solve all your problems. - :a: Larry Wall - -- :c: My assertion that we can do better with computer languages is a persistent belief and fond hope, but you'll note I don't actually claim to be either rational or right. Except when it's convenient. - :a: Larry Wall - -- :c: People who deal with bits should expect to get bitten. - :a: Jon Bentley - -- :c: All parts should go together without forcing. You must remember that the parts you are reassembling were disassembled by you. Therefore, if you can't get them together again, there must be a reason. By all means, do not use a hammer. - :a: IBM Manual, 1925 - -- :c: There is nothing quite so permanent as a quick fix. - -- :c: Shipping is a feature. - :a: Richard Campbell - -- :c: If C didn't exist, we would be programming in OBOL, PASAL or BASI - -- :c: The Internet? Is that thing still around? - :a: Homer Simpson - -- :c: They have computers, and they may have other weapons of mass destruction. - :a: Janet Reno - -- :c: Only Half of programming is coding. The other 90% is debugging. - -- :c: Now I'm a pretty lazy person and am prepared to work quite hard in order to avoid work. - :a: Martin Fowler - -- :c: What I cannot build, I do not understand. - :a: Richard Feynman - -- :c: First, solve the problem. Then, write the code. - :a: John Johnson - -- :c: Artificial Intelligence is no match for natural stupidity. - -- :c: The more bizarre the behavior, the more stupid the mistake. - :a: Ed's Law of Debugging - -- :c: There are no significant bugs in our released software that any significant number of users want fixed. - :a: Bill Gates - -- :c: Yes, sometimes Perl looks like line noise to the uninitiated, but to the seasoned Perl programmer, it looks like checksummed line noise with a mission in life. - :a: Randal Schwartz - -- :c: Any problem in computer science can be solved with another layer of indirection. But that usually will create another problem. - :a: David Wheeler - -- :c: In my experience, one of the most significant problems in software development is assuming. If you assume a method will passed the right parameter value, the method will fail. - :a: Paul M. Duvall - -- :c: The sooner we start coding fewer frameworks and more programs the sooner we’ll become better programmers. - :a: Warped Java Guy Elementary Java Solutions - -- :c: Starting a startup is hard, but having a 9 to 5 job is hard too, and in some ways a worse kind of hard. - :a: Paul Graham - -- :c: In essence, let the market design the product. - :a: Paul Graham - -- :c: A startup now can be just a pair of 22 year old guys. A company like that can move much more easily than one with 10 people, half of whom have kids. - :a: Paul Graham - -- :c: Startups almost never get it right the first time. Much more commonly you launch something, and no one cares. Don’t assume when this happens that you’ve failed. That’s normal for startups. But don’t sit around doing nothing. Iterate. - :a: Paul Graham - -- :c: The key to performance is elegance, not battalions of special cases. - :a: Jon Bentley and Doug McIlroy - -- :c: You’ll spend far more time babysitting old technologies than implementing new ones. - :a: Jason Hiner IT Dirty Secrets - -- :c: No one hates software more than software developers. - :a: Jeff Atwood - -- :c: I was a C++ programmer before I started designing Ruby. I programmed in C++ exclusively for two or three years. And after two years of C++ programming, it still surprised me. - :a: Matz - -- :c: Good architecture is necessary to give programs enough structure to be able to grow large without collapsing into a puddle of confusion. - :a: Douglas Crockford - -- :c: Programming is difficult. At its core, it is about managing complexity. Computer programs are the most complex things that humans make. Quality is illusive and elusive. - :a: Douglas Crockford - -- :c: Code reuse is the Holy Grail of Software Engineering. - :a: Douglas Crockford - -- :c: The structure of software systems tend to reflect the structure of the organization that produce them. - :a: Douglas Crocford - -- :c: I went to school to learn how to program software applications, which inevitably have bug defects. There was no course at my university on testing, debugging, profiling, or optimization. These things you have to learn on your own, usually in a tight deadline. - :a: Juixe TechKnow - -- :c: To most Java developers, Ruby/Rails is like a mistress. Ruby/Rails is young, new, and exciting; but eventually we go back to old faithful, dependable, and employable Java with some new tricks and idioms and we are the better programmer for it. - :a: Juixe TechKnow - -- :c: You might as well pay your customers 50K because they are just your QA. - :a: Juixe TechKnow - -- :c: You can't eliminate problems, but you can make trades to get problems that you prefer over the ones you have now. - :a: Eric Sink’s Axiom of Software Development - -- :c: "Manually managing blocks of memory in C is like juggling bars of soap in a prison shower: It's all fun and games until you forget about one of them." - -- :c: If it doesn't work, it doesn't matter how fast it doesn't work. - :a: Ravera's observation on premature optimization - -- :c: Any set of procedures, no matter how well intentioned or useful, that are too difficult to follow, will be circumvented. - :a: Ravera's First Law of System Administration - -- :c: Deleted code is debugged code. - :a: Jeff Sickel - -- :c: All programs have at least one bug remaining and can be optimized by one byte. Thus, by mathematical induction, all programs can be reduced to one byte. And it won't work. - -- :c: The sooner you get behind in your work, the more time you have to catch up. - -- :c: It’s hard to read through a book on the principles of magic without glancing at the cover periodically to make sure it isn’t a book on software design. - :a: Bruce Tognazzini - -- :c: Java is like a variant of the game of Tetris in which none of the pieces can fill gaps created by the other pieces, so all you can do is pile them up endlessly. - :a: Steve Yegge - -- :c: Software is hard. - :a: Donald Knuth - -- :c: Designing software in a team is like writing poetry in a committee meeting. - :a: Joel Spolsky - -- :c: Education is the process of learning more and more about less and less until one knows everything about nothing and is entitled to call oneself 'Doctor'. - -- :c: | - You have to "solve" the problem once in order to clearly define it and then solve it again to create a solution that works. - -- :c: A logician trying to explain logic to a programmer is like a cat trying to explain to a fish what it's like to get wet. - -- :c: Documentation is like sex. When it's good, it's fantastic. When it's bad, it's still better than nothing. - -- :c: "Three things should never be seen in the process of being created: laws, sausage, and software." - -- :c: "I have found that the reason a lot of people are interested in artificial intelligence is the same reason a lot of people are interested in artificial limbs: they are missing one." - :a: David Parnas - -- :c: On the 7th day ... God began debugging. - -- :c: If we can't fix it, then it ain't broke. - :a: Jon Bentley - -- :c: Every truth passes through three stages before it is recognized. In the first, it is ridiculed, in the second it is opposed, in the third it is regarded as self-evident. - :a: Arthur Schopenhauer - -- :c: Fight code entropy. - :a: John Carmack - -- :c: The cheapest, fastest, and most reliable components are those that aren't there. - :a: Gordon Bell - -- :c: | - Good programmers learn more from "That's not what I expected!" than from getting it right the first time. - -- :c: Computers are useless. They can only give you answers. - :a: Pablo Picasso - -- :c: For every complex problem there is an answer that is clear, simple, and wrong. - :a: H L Mencken - -- :c: When you want to do something differently from the rest of the world, it's a good idea to look into whether the rest of the world knows something you don't. - -- :c: If you require information, do not free memory containing the information. - :a: MSDN - -- :c: Part of the inhumanity of the computer is that, once it is competently programmed and working smoothly, it is completely honest. - :a: Isaac Asimov - -- :c: Simplicity is the ultimate sophistication. - :a: Leonardo da Vinci - -- :c: Anything that can go wrong will go wrong, anything that can't go wrong will go wrong anyway. - -- :c: Code is never finished, only abandoned. - -- :c: Don't code today what you can't debug tomorrow - -- :c: Software is like entropy. It is difficult to grasp, weighs nothing, and obeys the second law of thermodynamics; i.e. it always increases. - -- :c: Don't fix it if it ain't broke presupposes that you can't improve something that works reasonably well already. If the world's inventors had believed this, we'd still be driving Model A Fords and using outhouses. - :a: H. W. Kenton - -- :c: Inside every complex program is a simple program trying to get out. - -- :c: Users are a terrible thing. Systems would be infinitely more stable without them. - :a: Michael T. Nygard. - -- :c: If it doesn't work, change the documentation. - -- :c: If you can build it, your users can break it. - -- :c: C is quirky, flawed and an enormous success. - :a: Dennis Ritchie - -- :c: Hardware is the part of a system you can kick. Software is the one you can only curse at. - -- :c: Good software, like wine, takes time. - :a: Joel Spolsky - -- :c: The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offence. - :a: Edsger Dijkstra - -- :c: If you give someone a program, you will frustrate them for a day; if you teach them how to program, you will frustrate them for a lifetime. - -- :c: The best things are simple, but finding these simple things is not simple. - -- :c: Software is either testable or detestable. - -- :c: The definition of insanity is doing the same thing over and over and expecting a different result. - -- :c: Are you quite sure that all those bells and whistles, all those wonderful facilities of your so called powerful programming languages, belong to the solution set rather than the problem set? - :a: Edsger W. Dijkstra - -- :c: I have always found that plans are useless, but planning is indispensable. - :a: Dwight D. Eisenhower - -- :c: If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside. - :a: Robert X. Cringely - -- :c: | - You want a dot operator in PHP? - eval(str_replace('.', '->', $code_with_dot_operator)) - :a: Matthew Leffler - -- :c: In a world without walls and fences, who needs Windows and Gates? - -- :c: It's interface, not in your face. - :a: Kai Krause - -- :c: No code is faster than no code. - -- :c: | - I finally found a definition for "middleware". "Middleware" is the software nobody wants to pay for. - :a: Chris Stone - -- :c: If you lie to the compiler, it will get its revenge. - :a: Henry Spencere - -- :c: The primary duty of an exception handler is to get the error out of the lap of the programmer and into the surprised face of the user. Provided you keep this cardinal rule in mind, you can't go far wrong. - :a: Verity Stob - -- :c: A fool with a tool is still a fool. - -- :c: Never attribute to malice that which can be adequately explained by stupidity. - :a: Hanlon's Razor - -- :c: Once you've dressed and before you leave the house, look in the mirror and take at least one thing off. - :a: Coco Chanel - -- :c: The function name should define everything the function does. - -- :c: "Every revolutionary idea seems to evoke three stages of reaction: One, it's completely impossible. Two, it's possible, but it's not worth doing. Three, I said it was a good idea all along." - :a: Arthur C. Clarke - -- :c: Make something fool-proof and someone will make a better fool. - -- :c: The real money isn't in the software. It's in the service you build with that software. - :a: Jeff Atwood - -- :c: The limits of my language mean the limits of my world. - :a: Ludwig Wittgenstein - -- :c: Compatibility means deliberately repeating other people's mistakes. - -- :c: | - [The common definition of estimate is] "An estimate is the most optimistic prediction that has a non-zero probability of coming true" . . . - Accepting this definition leads irrevocably toward a method called what's-the-earliest- date-by-which-you-can't-prove-you-won't-be- finished estimating. - :a: Tom DeMarco - -- :c: All programmers are optimists. - :a: Frederick Brooks - -- :c: C++ is more of a rube-goldberg type thing full of high-voltages, large chain-driven gears, sharp edges, exploding widgets, and spots to get your fingers crushed. And because of it's complexity many (if not most) of it's users don't know how it works, and can't tell ahead of time what's going to cause them to loose an arm. - :a: Grant Edwards - -- :c: "C: a language that combines all the elegance and power of assembly language with all the readability and maintainability of assembly language." - -- :c: Selecting a project due date before the requirements are properly gathered is like selecting which corner you want to paint yourself into, while simultaneously negating the doorway as a viable option. - :a: Chris Ames - -- :c: Like a gas, software expands to fill its containing memory completely. - -- :c: If you get it free, it is worthless. If you pay for it, it has value. If you build it yourself, it is priceless. - :a: Raj More - -- :c: | - When a professional race car driver races, his pulse gets lower and he relaxes. - When I code it is the same thing. - :a: Jun-ichiro Hagino - -- :c: C++ is to C as Lung Cancer is to Lung. - -- :c: | - People who think, "Oh this is a one-off," need to be offed, or perhaps politely removed from the project. - :a: George Neville-Neil - -- :c: Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations. - :a: Conway's Law - -- :c: An ideal world is left as an exercise to the reader. - :a: From Paul Graham's "On Lisp" - -- :c: | - What you’ve described, “The bottleneck in writing code isn’t in the writing of the code, it’s in understanding and conceptualising what needs to be done,” is common to all highly abstract programming languages. Writing Haskell, for example, involves an hour of meditation followed by the emission of a fold expression. - :a: Jonathan Feinberg - -- :c: Complexity has nothing to do with intelligence, simplicity does. - :a: Larry Bossidy - -- :c: C is to programming as Latin is to literature. - -- :c: "Think of it this way: threads are like salt, not like pasta. You like salt, I like salt, we all like salt. But we eat more pasta." - :a: Larry McVoy - -- :c: A programmer never dies he just degrades gracefully. - -- :c: All real programmers know C of course. - :a: Jeff Atwood - -- :c: Good enough is neither. - :a: Jim Spivey - -- :c: Use four digits. A new millenium is coming. - :a: Jon Bentley (1976) - -- :c: KISS - Keep It Simple Stupid - -- :c: If you want to confuse your enemies, give them the source code. If you want to really confuse them, give them the documentation. - -- :c: Good programmers invest the effort to learn how to use current practices. Not-so-good programmers just learn the buzzwords, and that’s been a software industry constant for a half century. - :a: Boris Beizer - -- :c: Processes and methodologies can make good servants but are poor masters. - :a: Mark Dowd, John McDonald & Justin Schuh - -- :c: Simplicity is hard to build, easy to use, and hard to charge for. Complexity is easy to build, hard to use, and easy to charge for. - :a: Chris Sacca - -- :c: If you've seen one picture of the Mandelbrot Set, you've seen them all. - :a: Bill Karwin - -- :c: The third version is the first version that doesn't suck. - :a: Mike Simpson - -- :c: Computers make it easier to do a lot of things, but most of the things they make it easier to do don't need to be done. - :a: Andy Rooney - -- :c: Like wine, the mastery of programming matures with time. But, unlike wine, it gets sweeter in the process. - :a: Lawrence Mucheka - -- :c: Amateur programmers think there are 1000 bytes in a kilobyte; Real Programmers know there are 1024 meters in a kilometer. - -- :c: A documented bug is not a bug; it is a feature. - :a: James P. MacLennan - -- :c: I'm not a great programmer; I'm just a good programmer with great habits. - :a: Kent Beck - -- :c: If you use copy and paste while you're coding, you're probably committing a design error. - :a: David Parnas - -- :c: Programming is not like being in the CIA; you don't get credit for being sneaky. It's more like advertising; you get lots of credit for making your connections as blatant as possible. - :a: Steve McConnell on coupling from, "Code Complete." - -- :c: It's not what the software does. It's what the user does. - :a: Hugh Macleod - -- :c: Good programmers know what to write. Great ones know what to rewrite (and reuse). - :a: Eric Raymond - -- :c: Testing like the TSA. - :a: David Heinemeier Hansson on testing too much - -- :c: When in doubt, leave it out. - :a: Joshua Bloch - -- :c: | - A computer scientist counts to ten: 0, 1, 2, 3, 4 ... - Everyone else counts to ten: 1, 2, 3, 4, 5 - -- :c: A complex system that works is invariably found to have evolved from a simple system that worked. - :a: John Gall - -- :c: Enlightened trial and error outperforms the planning of flawless intellects. - :a: David Kelly - -- :c: It's OK to figure out murder mysteries, but you shouldn't need to figure out code. You should be able to read it. - :a: Steve McConnell - -- :c: Working software is the primary measure of progress. - :a: Agile Manifesto - -- :c: Simplicity - the art of maximizing the amount of work not done - is essential. - :a: Agile Manifesto - -- :c: C trades a slap on the wrist at compile time for a knife in the back at run time. - -- :c: Elegance is not optional. - :a: Richard A. O'Keefe (from The Craft of Prolog) - -- :c: It makes no sense to try to do what we can. We must do what is necessary. - :a: Winston Churchill - -- :c: 80 percent of my problems are simple logic errors. 80 percent of the remaining problems are pointer errors. The remaining problems are hard. - :a: Mark Donner, IBM Watson Research Center - -- :c: Software isn't about methodologies, languages, or even operating systems. It is about working applications. - :a: Christopher Baus - -- :c: | - ... what society overwhelmingly asks for is snake oil. Of course, the snake oil has the most impressive names — otherwise you would be selling nothing — like "Structured Analysis and Design", "Software Engineering", "Maturity Models", "Management Information Systems", "Integrated Project Support Environments" "Object Orientation" and "Business Process Re-engineering" (the latter three being known as IPSE, OO and BPR, respectively). - :a: Edsger W. Dijkstra - -- :c: Python's syntax succeeds in combining the mistakes of Lisp and Fortran. I do not construe that as progress. - :a: Larry Wall - -- :c: He who hasn't hacked assembly language as a youth has no heart. He who does as an adult has no brain. - :a: John Moore - -- :c: Any intelligent fool can make things bigger and more complex. It takes a touch of genius - and a lot of courage - to move in the opposite direction. - :a: E.F. Schumacher - -- :c: If it doesn't have to work, we can do it real quick. - :a: Watts Humphrey - -- :c: If at first you don't succeed, try/catch, try/catch again. - -- :c: Software Engineering isn't rocket science ... it's harder. - -- :c: I do not fear computers. I fear the lack of them. - :a: Isaac Asimov - -- :c: Never underestimate the disparity between developer excitement and user apathy. - -- :c: Lines of code are only worth counting, when time has come to delete them. - -- :c: Sure, it's overkill. But you can never have too much overkill... - -- :c: The reason we plan ahead is so that we don't have to do anything right now. - -- :c: Don't worry if it doesn't work right. If everything did, you'd be out of a job. - :a: Mosher's Law of Software Engineering - -- :c: Code is everything I thought poetry was, back when we were in school. Clean, expressive, urgent, all-encompassing. Fourteen lines can open up to fill the available universe. - :a: Richard Powers - -- :c: I've never written the best code I've ever written. - -- :c: The most likely way for the world to be destroyed, most experts agree, is by accident. That's where we come in; we're computer professionals. We cause accidents. - :a: Nathaniel Borenstein - -- :c: If your bug has a one in a million chance of happening, it'll happen next tuesday. - -- :c: The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures. - :a: Frederick P. Brooks Jr. - -- :c: When I have a specific goal in mind and a complicated piece of code to write, I spend my time making it happen rather than telling myself stories about it. - :a: Steve Yegge - -- :c: Only in wealth, there is room for a bad idea. - :a: Jasper van der Meer - -- :c: "Team debugging: the act of intimidating a PC into doing for two people what it refuses to do for one." - -- :c: I get as much enjoyment from trashing code as I do from scratching it out in the first place! - -- :c: It can scarcely be denied that the supreme goal of all theory is to make the irreducible basic elements as simple and as few as possible without having to surrender the adequate representation of a single datum of experience. - :a: Albert Einstein - -- :c: God is a hacker, not an engineer. You can do reverse engineering, but you can’t do reverse hacking. - :a: Francis Crick - -- :c: All programming is an exercise in caching. - :a: Terje Mathisen - -- :c: Talk is cheap, show me the code! - :a: Linus Torvalds - -- :c: | - * No technique works if it isn't used. - * Ethics change with technology. - * "F × S = k" the product of freedom and security is a constant. - :a: Niven's laws - -- :c: In effect, we conjure the spirits of the computer with our spells. - :a: From SICP - -- :c: This is important, and a little hard to understand. English is useful because it's a mess. Since English is a mess, it maps well onto the problem space, which is also a mess, which we call reality. Similarly, Perl was designed to be a mess (though in the nicest of possible ways). - :a: Larry Wall - -- :c: You can have a negative percent chance of succeeding in a task. For example, if you have a -5% chance of succeeding, not only will you fail every time you make an attempt, you will also fail 1 in 20 times that you don't even try. - -- :c: Rules are for the obedience of the inexperienced and the guidance of the wise. - -- :c: There is a great satisfaction in building good tools for other people to use. - :a: Freeman Dyson - -- :c: Process is no substitute for synaptic activity. - :a: Jeff DeLuca - -- :c: If I have not seen as far as others, it is because giants were standing on my shoulders. - :a: Hal Abelson - -- :c: Every dark corner you haven't explored with your flashlight is full of bugs. - :a: Kent Beck and Martin Fowler - -- :c: Singleton is a misconcept in OOP unless it's used as a misconcepted paradigm for application development. - -- :c: Anyone who has a wife and small kids knows that programming belongs to the easy things in life. - -- :c: The goal of Computer Science is to build something that will last at least until we've finished building it. - -- :c: Good web applications should look like trifle. - :a: Cal Henderson - -- :c: The time machine's software will have a recursive main method. - -- :c: Behind Every Successful Coder, there'an even more successful De-Coder to understand that Code. - -- :c: In the good old days physicists repeated each other's experiments, just to be sure. Today they stick to FORTRAN, so that they can share each other's programs, bugs included. - :a: Edsger W. Dijkstra - -- :c: Some programmers try to reach higher by standing on other programmers' shoulders. Other programmers try to reach higher by standing on other programmers' toes. - -- :c: If our customers wanted a product that worked that way, tell them to purchase a product that works that way. - -- :c: It’s hardware that makes a machine fast. It’s software that makes a fast machine slow. - :a: Craig Bruce - -- :c: If you're going to break it, then break it good. Break everything. Get to the very front of the line. Don't like move up a couple of slots. That's pointless. - :a: Anders Hejlsberg - -- :c: There are 10 types of people. Those who can read ternary, those who can't and those who mistake it for binary. - -- :c: The whole HTML validation exercise is questionable, but validating as XHTML is flat-out masochism. Only recommended for those that enjoy pain. Or programmers. I can't always tell the difference. - :a: Jeff Atwood - -- :c: You can write software expecting the hardware to be perfect, unfortunately hardware is not perfect and you have to fix it in code. - :a: W. Giraud - -- :c: A well-written program is its own heaven; a poorly-written program is its own hell. - :a: Tao of Programming - -- :c: It's hard enough to find an error in your code when you're looking for it; it's even harder when you've assumed your code is error-free. - :a: Steve McConnell - -- :c: Perspective is worth 80 I.Q. points - :a: Alan Kay - -- :c: Arrogance in computer science is measured in nano-Dijkstras. - :a: Alan Kay - -- :c: Design bugs are often subtle and occur by evolution with early assumptions being forgotten as new features or uses are added to a system. - :a: Fernando J. Corbató - -- :c: Any sufficiently well-documented lisp program contains an ML program in its comments. - -- :c: It compiles. Ship it! - -- :c: People who find Wiki-markup too difficult to use and need a WYSIWYG-editor shouldn't be using a Wiki in the first place. - -- :c: j++; // increment j - -- :c: "One Page Principle: A specification that will not fit on one page of 8.5x11 inch paper cannot be understood." - :a: Mark Ardis - -- :c: Jesus saves but only Buddha makes incremental backups. - -- :c: They won't tell you that they don't understand it; they will happily invent their way through the gaps and obscurities. - :a: V.A. Vyssotsky on software programmers and their views on specifications - -- :c: Software with no bugs is obsolete. - -- :c: Computer programmers don't byte, they nibble a bit. - -- :c: In software, the most beautiful code, the most beautiful functions, and the most beautiful programs are sometimes not there at all. - :a: Jon Bentley - -- :c: If it is worth doing once, it is worth automating... - -- :c: Anything that can go wrong, will go wrong. - :a: Murphy's Law - -- :c: Tell me what you need and I'll tell you how to get along without it. - -- :c: "The 50-50-90 rule: Anytime you have a 50-50 chance of getting something right, there's a 90% probability you'll get it wrong." - -- :c: The whole point of getting things done is knowing what to leave undone. - :a: Oswald Chambers - -- :c: I'll try to be nicer if you try to be smarter. - :a: Assaf Nitzan - -- :c: When a programming language is created that allows programmers to program in simple English, it will be discovered that programmers cannot speak English. - -- :c: One man's constant is another man's variable. - :a: Alan J. Perlis - -- :c: | - Ready, fire, aim: the fast approach to software development. - Ready, aim, aim, aim, aim: the slow approach to software development. - -- :c: Programmer - an organism that turns coffee into software. - -- :c: Though a program be but three lines long, someday it will have to be maintained. - :a: Tao Of Programming - -- :c: Great things are not done by impulse, but by a series of small things brought together. - :a: Vincent van Gogh - -- :c: When it comes to code it never pays to rush. - :a: Marick's Law - -- :c: True glory consists in doing what deserves to be written; in writing what deserves to be read. - :a: Pliny the Elder - -- :c: Don’t fix bugs later; fix them now. - :a: Steve Maguire - -- :c: Blame doesn't fix bugs. - -- :c: I will not be a lemming and follow the crowd over the cliff and into the C. - :a: John Beidler - -- :c: The C Programming Language — A language which combines the flexibility of assembly language with the power of assembly language. - -- :c: C(++) is a write-only, high-level assembler language. - :a: Stefan Van Baelen - -- :c: As soon as we started programming, we found to our surprise that it wasn't as easy to get programs right as we had thought. - :a: Maurice Wilkes - -- :c: Any technology that surpasses 50% penetration will never double again (in any number of months). - :a: Peter Norvig's law - -- :c: I’ve finally learned what ‘upward compatible’ means. It means we get to keep all our old mistakes. - :a: Dennie van Tassel - -- :c: What happens in the mind of a fine artist is nothing different from that going on in the mind of an expert coder. Both see and thrive in the quintessential nature of patterns. - :a: Lawrence Mucheka - -- :c: If you don't think you're doing great things, you're probably right. - -- :c: Development has two outputs... Code & Bugs - -- :c: Errors, like straws, upon the surface flow; He who would search for pearls must dive down below. - :a: John Dryden - -- :c: I think there's a world market for about five computers. - :a: Thomas J Watson Senior, 1945 - -- :c: There's more than one way to do it. - :a: Larry Wall about Perl - -- :c: It is often easier to not do something dumb than it is to do something smart. - -- :c: Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can. - :a: Jamie Zawinski - -- :c: As a rule, software systems do not work well until they have been used, and have failed repeatedly, in real applications. - :a: Dave Parnas - -- :c: The goal is to deliver clean code that works - now. - :a: Kent Beck - -- :c: ...basically, avoid comments. If your code needs a comment to be understood, it would be better to rewrite it so it's easier to understand. - :a: Rob Pike - -- :c: The function of good software is to make the complex appear to be simple. - :a: Grady Booch - -- :c: Intellectuals solve problems; geniuses prevent them. - :a: Albert Einstein - -- :c: If you don't fail at least 90 percent of the time, you're not aiming high enough. - :a: Alan Kay - -- :c: "Web Development is a lot like kickboxing: You have to watch your cookies." - -- :c: A programmer that is 10 times better than another will probably be happy making only 3 times as much. - :a: Paul Graham - -- :c: The future will be like the past, because in the past the future was like the past. - :a: About estimations - -- :c: There's a fine line between being on the leading edge and being in the lunatic fringe. - :a: Frank Armstrong - -- :c: Any fool can use a computer. Many do. - :a: Ted Nelson - -- :c: The best thing about a boolean is even if you are wrong, you are only off by a bit. - -- :c: There are two ways to write error-free programs; only the third one works. - :a: Alan J. Perlis - -- :c: Computers are getting smarter all the time. Scientists tell us that soon they will be able to talk to us. (And by 'they', I mean 'computers'. I doubt scientists will ever be able to talk to us.) - :a: Dave Barry - -- :c: I think Microsoft named .Net so it wouldn't show up in a Unix directory listing. - :a: Oktal - -- :c: Any code of your own that you haven't looked at for six or more months might as well have been written by someone else. - :a: Eagleson's Law - -- :c: To err is human, but to really foul things up you need a computer. - :a: Paul Ehrlich - -- :c: "Functions delay binding; data structures induce binding. Moral: Structure data late in the programming process." - :a: Alan J. Perlis - -- :c: Syntactic sugar causes cancer of the semicolon. - :a: Alan J. Perlis - -- :c: Every program is a part of some other program and rarely fits. - :a: Alan J. Perlis - -- :c: If a program manipulates a large amount of data, it does so in a small number of ways. - :a: Alan J. Perlis - -- :c: Symmetry is a complexity-reducing concept (co-routines include subroutines); seek it everywhere. - :a: Alan J. Perlis - -- :c: It is easier to write an incorrect program than understand a correct one. - :a: Alan J. Perlis - -- :c: A programming language is low level when its programs require attention to the irrelevant. - :a: Alan J. Perlis - -- :c: It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures. - :a: Alan J. Perlis - -- :c: "Get into a rut early: Do the same process the same way. Accumulate idioms. Standardize. The only difference(!) between Shakespeare and you was the size of his idiom list - not the size of his vocabulary." - :a: Alan J. Perlis - -- :c: If you have a procedure with ten parameters, you probably missed some. - :a: Alan J. Perlis - -- :c: Recursion is the root of computation since it trades description for time. - :a: Alan J. Perlis - -- :c: If two people write exactly the same program, each should be put into microcode and then they certainly won't be the same. - :a: Alan J. Perlis - -- :c: In the long run every program becomes rococo - then rubble. - :a: Alan J. Perlis - -- :c: Everything should be built top-down, except the first time. - :a: Alan J. Perlis - -- :c: "Every program has (at least) two purposes: the one for which it was written, and another for which it wasn't." - :a: Alan J. Perlis - -- :c: If a listener nods his head when you're explaining your program, wake him up. - :a: Alan J. Perlis - -- :c: A program without a loop and a structured variable isn't worth writing. - :a: Alan J. Perlis - -- :c: A language that doesn't affect the way you think about programming, is not worth knowing. - :a: Alan J. Perlis - -- :c: "Wherever there is modularity there is the potential for misunderstanding: Hiding information implies a need to check communication." - :a: Alan J. Perlis - -- :c: Optimization hinders evolution. - :a: Alan J. Perlis - -- :c: A good system can't have a weak command language. - :a: Alan J. Perlis - -- :c: To understand a program you must become both the machine and the program. - :a: Alan J. Perlis - -- :c: Perhaps if we wrote programs from childhood on, as adults we'd be able to read them. - :a: Alan J. Perlis - -- :c: One can only display complex information in the mind. Like seeing, movement or flow or alteration of view is more important than the static picture, no matter how lovely. - :a: Alan J. Perlis - -- :c: There will always be things we wish to say in our programs that in all known languages can only be said poorly. - :a: Alan J. Perlis - -- :c: Once you understand how to write a program get someone else to write it. - :a: Alan J. Perlis - -- :c: Around computers it is difficult to find the correct unit of time to measure progress. Some cathedrals took a century to complete. Can you imagine the grandeur and scope of a program that would take as long? - :a: Alan J. Perlis - -- :c: For systems, the analogue of a face-lift is to add to the control graph an edge that creates a cycle, not just an additional node. - :a: Alan J. Perlis - -- :c: In programming, everything we do is a special case of something more general -- and often we know it too quickly. - :a: Alan J. Perlis - -- :c: Simplicity does not precede complexity, but follows it. - :a: Alan J. Perlis - -- :c: Programmers are not to be measured by their ingenuity and their logic but by the completeness of their case analysis. - :a: Alan J. Perlis - -- :c: | - The eleventh commandment was "Thou Shalt Compute" or "Thou Shalt Not Compute" - I forget which. - :a: Alan J. Perlis - -- :c: The string is a stark data structure and everywhere it is passed there is much duplication of process. It is a perfect vehicle for hiding information. - :a: Alan J. Perlis - -- :c: | - Everyone can be taught to sculpt: Michelangelo would have had to be taught not to. So it is with great programmers. - :a: Alan J. Perlis - -- :c: The use of a program to prove the 4-color theorem will not change mathematics - it merely demonstrates that the theorem, a challenge for a century, is probably not important to mathematics. - :a: Alan J. Perlis - -- :c: The most important computer is the one that rages in our skulls and ever seeks that satisfactory external emulator. The standarization of real computers would be a disaster - and so it probably won't happen. - :a: Alan J. Perlis - -- :c: Structured Programming supports the law of the excluded muddle. - :a: Alan J. Perlis - -- :c: "Re graphics: A picture is worth 10K words - but only those to describe the picture. Hardly any sets of 10K words can be adequately described with pictures." - :a: Alan J. Perlis - -- :c: Some programming languages manage to absorb change, but withstand progress. - :a: Alan J. Perlis - -- :c: You can measure a programmer's perspective by noting his attitude on the continuing vitality of FORTRAN. - :a: Alan J. Perlis - -- :c: In software systems, it is often the early bird that makes the worm. - :a: Alan J. Perlis - -- :c: Sometimes I think the only universal in the computing field is the fetch-execute cycle. - :a: Alan J. Perlis - -- :c: The goal of computation is the emulation of our synthetic abilities, not the understanding of our analytic ones. - :a: Alan J. Perlis - -- :c: Like punning, programming is a play on words. - :a: Alan J. Perlis - -- :c: | - As Will Rogers would have said, "There is no such thing as a free variable." - :a: Alan J. Perlis - -- :c: | - The best book on programming for the layman is "Alice in Wonderland"; but that's because it's the best book on anything for the layman. - :a: Alan J. Perlis - -- :c: | - Giving up on assembly language was the apple in our Garden of Eden: Languages whose use squanders machine cycles are sinful. The LISP machine now permits LISP programmers to abandon bra and fig-leaf. - :a: Alan J. Perlis - -- :c: When we understand knowledge-based systems, it will be as before -- except our fingertips will have been singed. - :a: Alan J. Perlis - -- :c: Bringing computers into the home won't change either one, but may revitalize the corner saloon. - :a: Alan J. Perlis - -- :c: Systems have sub-systems and sub-systems have sub- systems and so on ad infinitum - which is why we're always starting over. - :a: Alan J. Perlis - -- :c: So many good ideas are never heard from again once they embark in a voyage on the semantic gulf. - :a: Alan J. Perlis - -- :c: Beware of the Turing tar-pit in which everything is possible but nothing of interest is easy. - :a: Alan J. Perlis - -- :c: A LISP programmer knows the value of everything, but the cost of nothing. - :a: Alan J. Perlis - -- :c: Software is under a constant tension. Being symbolic it is arbitrarily perfectible; but also it is arbitrarily changeable. - :a: Alan J. Perlis - -- :c: It is easier to change the specification to fit the program than vice versa. - :a: Alan J. Perlis - -- :c: Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it. - :a: Alan J. Perlis - -- :c: In English every word can be verbed. Would that it were so in our programming languages. - :a: Alan J. Perlis - -- :c: In seeking the unattainable, simplicity only gets in the way. - :a: Alan J. Perlis - -- :c: In programming, as in everything else, to be in error is to be reborn. - :a: Alan J. Perlis - -- :c: In computing, invariants are ephemeral. - :a: Alan J. Perlis - -- :c: | - When we write programs that "learn", it turns out that we do and they don't. - :a: Alan J. Perlis - -- :c: | - Often it is the means that justify the ends: Goals advance technique and technique survives even when goal structures crumble. - :a: Alan J. Perlis - -- :c: | - Make no mistake about it: Computers process numbers - not symbols. We measure our understanding (and control) by the extent to which we can arithmetize an activity. - :a: Alan J. Perlis - -- :c: Making something variable is easy. Controlling duration of constancy is the trick. - :a: Alan J. Perlis - -- :c: | - Think of all the psychic energy expended in seeking a fundamental distinction between "algorithm" and "program". - :a: Alan J. Perlis - -- :c: If we believe in data structures, we must believe in independent (hence simultaneous) processing. For why else would we collect items within a structure? Why do we tolerate languages that give us the one without the other? - :a: Alan J. Perlis - -- :c: In a 5 year period we get one superb programming language. Only we can't control when the 5 year period will be. - :a: Alan J. Perlis - -- :c: Over the centuries the Indians developed sign language for communicating phenomena of interest. Programmers from different tribes (FORTRAN, LISP, ALGOL, SNOBOL, etc.) could use one that doesn't require them to carry a blackboard on their ponies. - :a: Alan J. Perlis - -- :c: "Documentation is like term insurance: It satisfies because almost no one who subscribes to it depends on its benefits." - :a: Alan J. Perlis - -- :c: An adequate bootstrap is a contradiction in terms. - :a: Alan J. Perlis - -- :c: "It is not a language's weakness but its strengths that control the gradient of its change: Alas, a language never escapes its embryonic sac." - :a: Alan J. Perlis - -- :c: "Is it possible that software is not like anything else, that it is meant to be discarded: that the whole point is to see it as a soap bubble?" - :a: Alan J. Perlis - -- :c: "Because of its vitality, the computing field is always in desperate need of new cliches: Banality soothes our nerves." - :a: Alan J. Perlis - -- :c: It is the user who should parameterize procedures, not their creators. - :a: Alan J. Perlis - -- :c: "The cybernetic exchange between man, computer and algorithm is like a game of musical chairs: The frantic search for balance always leaves one of the three standing ill at ease." - :a: Alan J. Perlis - -- :c: If your computer speaks English, it was probably made in Japan. - :a: Alan J. Perlis - -- :c: A year spent in artificial intelligence is enough to make one believe in God. - :a: Alan J. Perlis - -- :c: Prolonged contact with the computer turns mathematicians into clerks and vice versa. - :a: Alan J. Perlis - -- :c: | - In computing, turning the obvious into the useful is a living definition of the word "frustration". - :a: Alan J. Perlis - -- :c: "We are on the verge: Today our program proved Fermat's next-to-last theorem." - :a: Alan J. Perlis - -- :c: What is the difference between a Turing machine and the modern computer? It's the same as that between Hillary's ascent of Everest and the establishment of a Hilton hotel on its peak. - :a: Alan J. Perlis - -- :c: "Motto for a research laboratory: What we work on today, others will first think of tomorrow." - :a: Alan J. Perlis - -- :c: Though the Chinese should adore APL, it's FORTRAN they put their money on. - :a: Alan J. Perlis - -- :c: We kid ourselves if we think that the ratio of procedure to data in an active data-base system can be made arbitrarily small or even kept small. - :a: Alan J. Perlis - -- :c: We have the mini and the micro computer. In what semantic niche would the pico computer fall? - :a: Alan J. Perlis - -- :c: It is not the computer's fault that Maxwell's equations are not adequate to design the electric motor. - :a: Alan J. Perlis - -- :c: One does not learn computing by using a hand calculator, but one can forget arithmetic. - :a: Alan J. Perlis - -- :c: Computation has made the tree flower. - :a: Alan J. Perlis - -- :c: The computer reminds one of Lon Chaney -- it is the machine of a thousand faces. - :a: Alan J. Perlis - -- :c: "The computer is the ultimate polluter: its feces are indistinguish- able from the food it produces." - :a: Alan J. Perlis - -- :c: | - When someone says "I want a programming language in which I need only say what I wish done," give him a lollipop. - :a: Alan J. Perlis - -- :c: "Interfaces keep things tidy, but don't accelerate growth: Functions do." - :a: Alan J. Perlis - -- :c: Don't have good ideas if you aren't willing to be responsible for them. - :a: Alan J. Perlis - -- :c: Computers don't introduce order anywhere as much as they expose opportunities. - :a: Alan J. Perlis - -- :c: When a professor insists computer science is X but not Y, have compassion for his graduate students. - :a: Alan J. Perlis - -- :c: In computing, the mean time to failure keeps getting shorter. - :a: Alan J. Perlis - -- :c: "In man-machine symbiosis, it is man who must adjust: The machines can't." - :a: Alan J. Perlis - -- :c: We will never run out of things to program as long as there is a single program around. - :a: Alan J. Perlis - -- :c: "Dealing with failure is easy: Work hard to improve. Success is also easy to handle: You've solved the wrong problem. Work hard to improve." - :a: Alan J. Perlis - -- :c: One can't proceed from the informal to the formal by formal means. - :a: Alan J. Perlis - -- :c: Purely applicative languages are poorly applicable. - :a: Alan J. Perlis - -- :c: The proof of a system's value is its existence. - :a: Alan J. Perlis - -- :c: You can't communicate complexity, only an awareness of it. - :a: Alan J. Perlis - -- :c: It's difficult to extract sense from strings, but they're the only communication coin we can count on. - :a: Alan J. Perlis - -- :c: "The debate rages on: is PL/I Bachtrian or Dromedary?" - :a: Alan J. Perlis - -- :c: Whenever two programmers meet to criticize their programs, both are silent. - :a: Alan J. Perlis - -- :c: Think of it! With VLSI we can pack 100 ENIACS in 1 sq. cm. - :a: Alan J. Perlis - -- :c: Editing is a rewording activity. - :a: Alan J. Perlis - -- :c: Why did the Roman Empire collapse? What is Latin for office automation? - :a: Alan J. Perlis - -- :c: Computer Science is embarrassed by the computer. - :a: Alan J. Perlis - -- :c: The only constructive theory connecting neuroscience and psychology will arise from the study of software. - :a: Alan J. Perlis - -- :c: Within a computer natural language is unnatural. - :a: Alan J. Perlis - -- :c: Most people find the concept of programming obvious, but the doing impossible. - :a: Alan J. Perlis - -- :c: You think you know when you can learn, are more sure when you can write, even more when you can teach, but certain when you can program. - :a: Alan J. Perlis - -- :c: It goes against the grain of modern education to teach children to program. What fun is there in making plans, acquiring discipline in organizing thoughts, devoting attention to detail and learning to be self-critical? - :a: Alan J. Perlis - -- :c: If you can imagine a society in which the computer - robot is the only menial, you can imagine anything. - :a: Alan J. Perlis - -- :c: Programming is an unnatural act. - :a: Alan J. Perlis - -- :c: Adapting old programs to fit new machines usually means adapting new machines to behave like old ones. - :a: Alan J. Perlis - -- :c: Sometimes, the elegant implementation is just a function. Not a method. Not a class. Not a framework. Just a function. - :a: John Carmack - -- :c: "The only valid measurement of code quality: WTFs / minute" - :a: Thom Holwerda - -- :c: Whatever code we hack, be it programming language, poetic language, math or music, curves or colourings, we create the possibility of new things entering the world. Not always great things, or even good things, but new things. - :a: | - McKenzie Wark in "A hacker Manifesto":02 - -- :c: There is no programming language, no matter how structured, that will prevent programmers from making bad programs. - :a: Larry Flon - -- :c: | - The Floppy Disk Icon means "save" for a whole generation of people who have never seen one. - :a: Scott Hanselman - -- :c: "The three chief virtues of a programmer are: Laziness, Impatience and Hubris." - :a: Larry Wall - -- :c: The bearing of a child takes nine months, no matter how many women are assigned. Many software tasks have this characteristic because of the sequential nature of debugging. - :a: Fred Brooks - -- :c: If it works, leave it alone — there's no need to understand it. If it fails, try to fix it — there's no time to understand it. - :a: Bill Pfeifer - -- :c: Remember, a great way to avoid broken code is to have less of it. The code that you never write will work forever. - :a: Russ Olsen - -- :c: Test driven development is like eating watermelon. Slice it up and work in sections at a time; eat all the red until all you have left is green. - :a: Terry L Thompson -