Skip to content

Instantly share code, notes, and snippets.

@StarWar
Forked from bussiere/citations
Created December 29, 2017 16:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save StarWar/cdde9810b984d6d9b58939319582380c to your computer and use it in GitHub Desktop.
Save StarWar/cdde9810b984d6d9b58939319582380c to your computer and use it in GitHub Desktop.
citations quote informatic informatique quotes computer science
“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.” – Tom Cargill
“In order to understand recursion, one must first understand recursion.” – Author Unknown
“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.” – Bjarne Stroustrup
“A computer lets you make more mistakes faster than any other invention in human history, with the possible exceptions of handguns and tequila.” – Mitch Ratcliffe
“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.” -C.A.R. Hoare
“The gap between theory and practice is not as wide in theory as it is in practice.” – Author Unknown
“If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization.” – Gerald Weinberg
“If debugging is the process of removing software bugs, then programming must be the process of putting them in.” – Edsger Dijkstra
“Measuring programming progress by lines of code is like measuring aircraft building progress by weight.” – Bill Gates
“Nine people can’t make a baby in a month.” – Fred Brooks
“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.” – Rich Cook
“There are two major products that come out of Berkeley: LSD and UNIX. We don’t believe this to be a coincidence.” – Jeremy S. Anderson
“Before software can be reusable it first has to be usable.” – Ralph Johnson
We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil
- C. A. R. Hoare
Walking on water and developing software from a specification are easy if both are frozen
- Edward V Berard
It always takes longer than you expect, even when you take into account Hofstadter’s Law.
- Hofstadter’s Law
Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems
- Jamie Zawinski
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 Kernighan
Measuring programming progress by lines of code is like measuring aircraft building progress by weight.
- Bill Gates
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.
- Jon Ribbens
On two occasions I have been asked, ‘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.”
- Charles Babbage
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.
- Rick Osborne
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.
- Rich Cook
I don’t care if it works on your machine! We are not shipping your machine!
- Ovidiu Platon
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.
- Bjarne Stroustrup
A computer lets you make more mistakes faster than any other invention in human history, with the possible exceptions of handguns and tequila.
- Mitch Ratcliffe
If debugging is the process of removing software bugs, then programming must be the process of putting them in.
- E. W. Dijkstra
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.
- E. W. Dijkstra
In theory, theory and practice are the same. In practice, they’re not.
- Yoggi Berra
Two things are infinite: the universe and human stupidity; and I’m not sure about the universe.
- Albert Einstein
Perl – The only language that looks the same before and after RSA encryption.
- Keith Bostic
I love deadlines. I like the whooshing sound they make as they fly by.
- Douglas Adams
Saying that Java is good because it works on all platforms is like saying anal sex is good because it works on all genders
- Unknown
XML is like violence – if it doesn’t solve your problems, you are not using enough of it.
- Unknown
Einstein argued that there must be simplified explanations of nature, because God is not capricious or arbitrary. No such faith comforts the software engineer.
- Fred Brooks
"Some people, when confronted with a problem, think "I know, I’ll use regular expressions." Now they have two problems."
-- Jamie Zawinski
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
Bjarne Stroustrup
Linux is only free if your time has no value
Jamie Zawinski
"In order to understand recursion, one must first understand recursion."
Anonymous
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.
Charles Babbage
Computers
“Computers are useless. They can only give you answers.”
(Pablo Picasso)
“Computers are like bikinis. They save people a lot of guesswork.”
(Sam Ewing)
“They have computers, and they may have other weapons of mass destruction.”
(Janet Reno)
“That’s what’s cool about working with computers. They don’t argue, they remember everything, and they don’t drink all your beer.”
(Paul Leary)
“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.”
(Robert X. Cringely)
Computer Intelligence
“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.)”
(Dave Barry)
“I’ve noticed lately that the paranoid fear of computers becoming intelligent and taking over the world has almost entirely disappeared from the common culture. Near as I can tell, this coincides with the release of MS-DOS.”
(Larry DeLuca)
“The question of whether computers can think is like the question of whether submarines can swim.”
(Edsger W. Dijkstra)
“It’s ridiculous to live 100 years and only be able to remember 30 million bytes. You know, less than a compact disc. The human condition is really becoming more obsolete every minute.”
(Marvin Minsky)
Trust
“The city’s central computer told you? R2D2, you know better than to trust a strange computer!”
(C3PO)
“Never trust a computer you can’t throw out a window.”
(Steve Wozniak)
Hardware
“Hardware: The parts of a computer system that can be kicked.”
(Jeff Pesis)
Software
“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.”
(Alan Kay)
“I’ve finally learned what ‘upward compatible’ means. It means we get to keep all our old mistakes.”
(Dennie van Tassel)
Operating Systems
“There are two major products that come out of Berkeley: LSD and UNIX. We don’t believe this to be a coincidence.”
(Jeremy S. Anderson)
“19 Jan 2038 at 3:14:07 AM”
(End of the word according to Unix–2^32 seconds after January 1, 1970)
“Every operating system out there is about equal… We all suck.”
(Microsoft senior vice president Brian Valentine describing the state of the art in OS security, 2003)
“Microsoft has a new version out, Windows XP, which according to everybody is the ‘most reliable Windows ever.‘ To me, this is like saying that asparagus is ‘the most articulate vegetable ever.‘ “
(Dave Barry)
Internet
“The Internet? Is that thing still around?”
(Homer Simpson)
“The Web is like a dominatrix. Everywhere I turn, I see little buttons ordering me to Submit.”
(Nytwind)
“Come to think of it, there are already a million monkeys on a million typewriters, and Usenet is nothing like Shakespeare.”
(Blair Houghton)
Software Industry
“The most amazing achievement of the computer software industry is its continuing cancellation of the steady and staggering gains made by the computer hardware industry.”
(Henry Petroski)
“True innovation often comes from the small startup who is lean enough to launch a market but lacks the heft to own it.”
(Timm Martin)
“It has been said that the great scientific disciplines are examples of giants standing on the shoulders of other giants. It has also been said that the software industry is an example of midgets standing on the toes of other midgets.”
(Alan Cooper)
“It is not about bits, bytes and protocols, but profits, losses and margins.”
(Lou Gerstner)
“We are Microsoft. Resistance Is Futile. You Will Be Assimilated.”
(Bumper sticker)
Software Demos
“No matter how slick the demo is in rehearsal, when you do it in front of a live audience, the probability of a flawless presentation is inversely proportional to the number of people watching, raised to the power of the amount of money involved.”
(Mark Gibbs)
Software Patents
“The bulk of all patents are crap. Spending time reading them is stupid. It’s up to the patent owner to do so, and to enforce them.”
(Linus Torvalds)
Complexity
“Controlling complexity is the essence of computer programming.”
(Brian Kernigan)
“Complexity kills. It sucks the life out of developers, it makes products difficult to plan, build and test, it introduces security challenges, and it causes end-user and administrator frustration.”
(Ray Ozzie)
“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 function of good software is to make the complex appear to be simple.”
(Grady Booch)
Ease of Use
“Just remember: you’re not a ‘dummy,’ no matter what those computer books claim. The real dummies are the people who–though technically expert–couldn’t design hardware and software that’s usable by normal consumers if their lives depended upon it.”
(Walter Mossberg)
“Software suppliers are trying to make their software packages more ‘user-friendly’… Their best approach so far has been to take all the old brochures and stamp the words ‘user-friendly’ on the cover.”
(Bill Gates)
“There’s an old story about the person who wished his computer were as easy to use as his telephone. That wish has come true, since I no longer know how to use my telephone.”
(Bjarne Stroustrup)
Users
“Any fool can use a computer. Many do.”
(Ted Nelson)
“There are only two industries that refer to their customers as ‘users’.”
(Edward Tufte)
Programmers
“Programmers are in a race with the Universe to create bigger and better idiot-proof programs, while the Universe is trying to create bigger and better idiots. So far the Universe is winning.”
(Rich Cook)
“Most of you are familiar with the virtues of a programmer. There are three, of course: laziness, impatience, and hubris.”
(Larry Wall)
“The trouble with programmers is that you can never tell what a programmer is doing until it’s too late.”
(Seymour Cray)
“That’s the thing about people who think they hate computers. What they really hate is lousy programmers.”
(Larry Niven)
“For a long time it puzzled me how something so expensive, so leading edge, could be so useless. And then it occurred to me that 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.”
(Bill Bryson)
“Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter.”
(Eric Raymond)
“A programmer is a person who passes as an exacting expert on the basis of being able to turn out, after innumerable punching, an infinite series of incomprehensive answers calculated with micrometric precisions from vague assumptions based on debatable figures taken from inconclusive documents and carried out on instruments of problematical accuracy by persons of dubious reliability and questionable mentality for the avowed purpose of annoying and confounding a hopelessly defenseless department that was unfortunate enough to ask for the information in the first place.”
(IEEE Grid newsmagazine)
“A hacker on a roll may be able to produce–in a period of a few months–something that a small development group (say, 7-8 people) would have a hard time getting together over a year. IBM used to report that certain programmers might be as much as 100 times as productive as other workers, or more.”
(Peter Seebach)
“The best programmers are not marginally better than merely good ones. They are an order-of-magnitude better, measured by whatever standard: conceptual creativity, speed, ingenuity of design, or problem-solving ability.”
(Randall E. Stross)
“A great lathe operator commands several times the wage of an average lathe operator, but a great writer of software code is worth 10,000 times the price of an average software writer.”
(Bill Gates)
Programming
“Don’t worry if it doesn’t work right. If everything did, you’d be out of a job.”
(Mosher’s Law of Software Engineering)
“Measuring programming progress by lines of code is like measuring aircraft building progress by weight.”
(Bill Gates)
“Writing code has a place in the human hierarchy worth somewhere above grave robbing and beneath managing.”
(Gerald Weinberg)
“First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack.”
(George Carrette)
“First, solve the problem. Then, write the code.”
(John Johnson)
“Optimism is an occupational hazard of programming; feedback is the treatment.”
(Kent Beck)
“To iterate is human, to recurse divine.”
(L. Peter Deutsch)
“The best thing about a boolean is even if you are wrong, you are only off by a bit.”
(Anonymous)
“Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.”
(Stan Kelly-Bootle)
Programming Languages
“There are only two kinds of programming languages: those people always bitch about and those nobody uses.”
(Bjarne Stroustrup)
“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.”
(Jon Ribbens)
“The use of COBOL cripples the mind; its teaching should therefore be regarded as a criminal offense.”
(E.W. Dijkstra)
“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.”
(E. W. Dijkstra)
“I think Microsoft named .Net so it wouldn’t show up in a Unix directory listing.”
(Oktal)
“There is no programming language–no matter how structured–that will prevent programmers from making bad programs.”
(Larry Flon)
“Computer language design is just like a stroll in the park. Jurassic Park, that is.”
(Larry Wall)
C/C++
“Fifty years of programming language research, and we end up with C++?”
(Richard A. O’Keefe)
“Writing in C or C++ is like running a chain saw with all the safety guards removed.”
(Bob Gray)
“In C++ it’s harder to shoot yourself in the foot, but when you do, you blow off your whole leg.”
(Bjarne Stroustrup)
“C++ : Where friends have access to your private members.”
(Gavin Russell Baker)
“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.”
(Robert Firth)
Java
“Java is, in many ways, C++–.”
(Michael Feldman)
“Saying that Java is nice because it works on all OSes is like saying that anal sex is nice because it works on all genders.”
(Alanna)
“Fine, Java MIGHT be a good example of what a programming language should be like. But Java applications are good examples of what applications SHOULDN’T be like.”
(pixadel)
“If Java had true garbage collection, most programs would delete themselves upon execution.”
(Robert Sewell)
Open Source
“Software is like sex: It’s better when it’s free.”
(Linus Torvalds)
“The only people who have anything to fear from free software are those whose products are worth even less.”
(David Emery)
Code
“Good code is its own best documentation.”
(Steve McConnell)
“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.”
(Eagleson’s Law)
“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.”
(Tom Cargill)
Software Development
“Good programmers use their brains, but good guidelines save us having to think out every case.”
(Francis Glassborow)
“In software, we rarely have meaningful requirements. Even if we do, the only measure of success that matters is whether our solution solves the customer’s shifting idea of what their problem is.”
(Jeff Atwood)
“Considering the current sad state of our computer programs, software development is clearly still a black art, and cannot yet be called an engineering discipline.”
(Bill Clinton)
“You can’t have great software without a great team, and most software teams behave like dysfunctional families.”
(Jim McCarthy)
Debugging
“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. Debugging had to be discovered. I can remember the exact instant when I realized that a large part of my life from then on was going to be spent in finding mistakes in my own programs.”
(Maurice Wilkes discovers debugging, 1949)
“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 Kernighan)
“If debugging is the process of removing bugs, then programming must be the process of putting them in.”
(Edsger W. Dijkstra)
Quality
“I don’t care if it works on your machine! We are not shipping your machine!”
(Vidiu Platon)
“Programming is like sex: one mistake and you’re providing support for a lifetime.”
(Michael Sinz)
“There are two ways to write error-free programs; only the third one works.”
(Alan J. Perlis)
“You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time.”
(Bertrand Meyer)
“If McDonalds were run like a software company, one out of every hundred Big Macs would give you food poisoning, and the response would be, ‘We’re sorry, here’s a coupon for two more.’ “
(Mark Minasi)
“Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.”
(Martin Golding)
“To err is human, but to really foul things up you need a computer.”
(Paul Ehrlich)
“A computer lets you make more mistakes faster than any invention in human history–with the possible exceptions of handguns and tequila.”
(Mitch Radcliffe)
Predictions
“Everything that can be invented has been invented.”
(Charles H. Duell, Commissioner, U.S. Office of Patents, 1899)
“I think there’s a world market for about 5 computers.”
(Thomas J. Watson, Chairman of the Board, IBM, circa 1948)
“It would appear that we have reached the limits of what it is possible to achieve with computer technology, although one should be careful with such statements, as they tend to sound pretty silly in 5 years.”
(John Von Neumann, circa 1949)
“But what is it good for?”
(Engineer at the Advanced Computing Systems Division of IBM, commenting on the microchip, 1968)
“There is no reason for any individual to have a computer in his home.”
(Ken Olson, President, Digital Equipment Corporation, 1977)
“640K ought to be enough for anybody.”
(Bill Gates, 1981)
“Windows NT addresses 2 Gigabytes of RAM, which is more than any application will ever need.”
(Microsoft, on the development of Windows NT, 1992)
“We will never become a truly paper-less society until the Palm Pilot folks come out with WipeMe 1.0.”
(Andy Pierson)
“If it keeps up, man will atrophy all his limbs but the push-button finger.”
(Frank Lloyd Wright)
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind.
Alan Kay
Dan Kaminsky:
Debugging is anticipated with distaste, performed with reluctance, and bragged about forever.
Seymour Cray on virtual memory:
Memory is like an orgasm. It's a lot better if you don't have to fake it.
Isaac Asimov, not really programming, but definitely problem-solving:
The most exciting phrase to hear in science, the one that heralds new discoveries, is not 'Eureka!' but 'That's funny...'
Mitch Ratcliffe
A computer lets you make more mistakes faster than any other invention in human history, with the possible exceptions of handguns and tequila
Cory Doctorow
Engineers are all basically high-functioning autistics who have no idea how normal people do stuff.
And some random unattributed others;
Any sufficiently advanced magic is indistinguishable from a rigged demonstration.
Vi is a subset of evil
The difference between theory and practice is smaller in theory than in practice.
There are only 3 numbers of interest to a computer scientist: 1, 0 and infinity
I Hate Programming.
I Hate Programming.
I Hate Programming.
It works!
I Love Programming.
"Never trust a programmer in a suit."
In theory, theory and practice are the same. In practice, they're not.
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++;
Beware of bugs in the above code; I have only proved it correct, not tried it.
Donald Knuth
"Weeks of coding can save you hours of planning."
-- Unfortunately, I couldn't find out the author.
C++: an octopus made by nailing extra legs onto a dog.
-- Steve Taylor
If Java had true garbage collection, most programs would delete themselves upon execution.
-- Robert Sewell
"My definition of an expert in any field is a person who knows enough about what's really going on to be scared."
P. J. Plauger, Computer Language, March 1983
"An expert is a man who has made all the mistakes that can be made in a very narrow field"
Niels Bohr
XML is like violence - if it's not working for you, you're not using enough of it.
From SICP
Programs must be written for people to read, and only incidentally for machines to execute.
Heard from a Teacher -
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.
Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
-Martin Fowler
You can have the project:
Done On Time
Done On Budget
Done Properly
Pick two.
Every language has an optimization operator. In C++ that operator is ‘//’
Overheard at the O’Reilly’s Velocity Conference, June 2008
An idiot with a computer is a faster, better idiot
-- Rich Julius
We better hurry up and start coding, there are going to be a lot of bugs to fix.
"Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter."
-- Eric Raymond
"To iterate is human, to recurse divine."
-- L. Peter Deutsch
"C++ : Where friends have access to your private members."
-- Gavin Russell Baker
"There's no test like production"
-By a colleague of mine
Owning a computer without programming is like having a kitchen and using only the microwave oven -Charles Petzold
The generation of random numbers is too important to be left to chance.
-- Robert R. Coveyou, Oak Ridge National Laboratory
Anyone who considers arithmetic methods of producing random digits is, of course, in a state of sin.
-- John von Neumann (1951)
Bruce Ediger
The only "intuitive" interface is the nipple. After that it's all learned.
God could create the world in six days because he didn't have to make it compatible with the previous version
Better train people and risk they leave – than do nothing and risk they stay.
Anonymous
"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."
-- Pablo Picasso
Q: What is the most often-overlooked risk in software engineering?
A: Incompetent programmers. There are estimates that the number of programmers needed in the U.S. exceeds 200,000. This is entirely misleading. It is not a quantity problem; we have a quality problem. One bad programmer can easily create two new jobs a year. Hiring more bad programmers will just increase our perceived need for them. If we had more good programmers, and could easily identify them, we would need fewer, not more.
I would love to change the world, but they won't give me the source code
-- Saw this on a T-shirt. Dont know if someone had already mentioned the same quote here.
C You shoot yourself in the foot.
C++ You accidently create a dozen instances of yourself and shoot them all in the foot. Providing emergency medical assistance is impossible since you can't tell which are bitwise copies and which are just pointing at others and saying "That's me, over there."
FORTRAN You shoot yourself in each toe, iteratively, until you run out of toes, then you read in the next foot and repeat. If you run out of bullets, you continue anyway because you have no exception-handling facility.
Modula-2 After realizing that you can't actually accomplish anything in this language, you shoot yourself in the head.
COBOL USEing a COLT 45 HANDGUN, AIM gun at LEG.FOOT, THEN place ARM.HAND.FINGER on HANDGUN.TRIGGER and SQUEEZE. THEN return HANDGUN to HOLSTER. CHECK whether shoelace needs to be retied.
Lisp You shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds...
BASIC Shoot yourself in the foot with a water pistol. On big systems, continue until entire lower body is waterlogged.
Forth Foot yourself in the shoot.
APL You shoot yourself in the foot; then spend all day figuring out how to do it in fewer characters.
Pascal The compiler won't let you shoot yourself in the foot.
Snobol If you succeed, shoot yourself in the left foot. If you fail, shoot yourself in the right foot.
HyperTalk Put the first bullet of the gun into foot left of leg of you. Answer the result.
Prolog You tell your program you want to be shot in the foot. The program figures out how to do it, but the syntax doesn't allow it to explain.
370 JCL You send your foot down to MIS with a 4000-page document explaining how you want it to be shot. Three years later, your foot comes back deep-fried.
FORTRAN-77 You shoot yourself in each toe, iteratively, until you run out of toes, then you read in the next foot and repeat. If you run out of bullets, you continue anyway because you still can't do exception-processing.
Modula-2 (alternative) You perform a shooting on what might be currently a foot with what might be currently a bullet shot by what might currently be a gun.
BASIC (compiled) You shoot yourself in the foot with a BB using a SCUD missile launcher.
Visual Basic You'll really only appear to have shot yourself in the foot, but you'll have so much fun doing it that you won't care.
Forth (alternative) BULLET DUP3 * GUN LOAD FOOT AIM TRIGGER PULL BANG! EMIT DEAD IF DROP ROT THEN (This takes about five bytes of memory, executes in two to ten clock cycles on any processor and can be used to replace any existing function of the language as well as in any future words). (Welcome to bottom up programming - where you, too, can perform compiler pre-processing instead of writing code)
APL (alternative) You hear a gunshot and there's a hole in your foot, but you don't remember enough linear algebra to understand what happened. or @#&^$%&%^ foot
Pascal (alternative) Same as Modula-2 except that the bullet is not the right type for the gun and your hand is blown off.
Snobol (alternative) You grab your foot with your hand, then rewrite your hand to be a bullet. The act of shooting the original foot then changes your hand/bullet into yet another foot (a left foot).
Prolog (alternative) You attempt to shoot yourself in the foot, but the bullet, failing to find its mark, backtracks to the gun, which then explodes in your face. or No.
COMAL You attempt to shoot yourself in the foot with a water pistol, but the bore is clogged, and the pressure build-up blows apart both the pistol and your hand. or draw_pistol aim_at_foot(left) pull_trigger hop(swearing)
Scheme As Lisp, but none of the other appendages are aware of this happening.
Algol You shoot yourself in the foot with a musket. The musket is aesthetically fascinating and the wound baffles the adolescent medic in the emergency room.
Ada If you are dumb enough to actually use this language, the United States Department of Defense will kidnap you, stand you up in front of a firing squad and tell the soldiers, "Shoot at the feet."
or
The Department of Defense shoots you in the foot after offering you a blindfold and a last cigarette.
or
After correctly packaging your foot, you attempt to concurrently load the gun, pull the trigger, scream and shoot yourself in the foot. When you try, however, you discover that your foot is of the wrong type.
or
After correctly packing your foot, you attempt to concurrently load the gun, pull the trigger, scream, and confidently aim at your foot knowing it is safe. However the cordite in the round does an Unchecked Conversion, fires and shoots you in the foot anyway.
Eiffel You create a GUN object, two FOOT objects and a BULLET object. The GUN passes both the FOOT objects a reference to the BULLET. The FOOT objects increment their hole counts and forget about the BULLET. A little demon then drives a garbage truck over your feet and grabs the bullet (both of it) on the way.
Smalltalk You spend so much time playing with the graphics and windowing system that your boss shoots you in the foot, takes away your workstation and makes you develop in COBOL on a character terminal.
or
You send the message shoot to gun, with selectors bullet and myFoot. A window pops up saying Gunpowder doesNotUnderstand: spark. After several fruitless hours spent browsing the methods for Trigger, FiringPin and IdealGas, you take the easy way out and create ShotFoot, a subclass of Foot with an additional instance variable bulletHole.
Object Oriented Pascal You perform a shooting on what might currently be a foot with what might currently be a bullet fired from what might currently be a gun.
PL/I You consume all available system resources, including all the offline bullets. The Data Processing & Payroll Department doubles its size, triples its budget, acquires four new mainframes and drops the original one on your foot.
Postscript foot bullets 6 locate loadgun aim gun shoot showpage
or
It takes the bullet ten minutes to travel from the gun to your foot, by which time you're long since gone out to lunch. The text comes out great, though.
PERL You stab yourself in the foot repeatedly with an incredibly large and very heavy Swiss Army knife.
or
You pick up the gun and begin to load it. The gun and your foot begin to grow to huge proportions and the world around you slows down, until the gun fires. It makes a tiny hole, which you don't feel.
Assembly Language You crash the OS and overwrite the root disk. The system administrator arrives and shoots you in the foot. After a moment of contemplation, the administrator shoots himself in the foot and then hops around the room rabidly shooting at everyone in sight. or You try to shoot yourself in the foot only to discover you must first reinvent the gun, the bullet, and your foot.or The bullet travels to your foot instantly, but it took you three weeks to load the round and aim the gun.
BCPL You shoot yourself somewhere in the leg -- you can't get any finer resolution than that.
Concurrent Euclid You shoot yourself in somebody else's foot.
Motif You spend days writing a UIL description of your foot, the trajectory, the bullet and the intricate scrollwork on the ivory handles of the gun. When you finally get around to pulling the trigger, the gun jams.
Powerbuilder While attempting to load the gun you discover that the LoadGun system function is buggy; as a work around you tape the bullet to the outside of the gun and unsuccessfully attempt to fire it with a nail. In frustration you club your foot with the butt of the gun and explain to your client that this approximates the functionality of shooting yourself in the foot and that the next version of Powerbuilder will fix it.
Standard ML By the time you get your code to typecheck, you're using a shoot to foot yourself in the gun.
MUMPS You shoot 583149 AK-47 teflon-tipped, hollow-point, armour-piercing bullets into even-numbered toes on odd-numbered feet of everyone in the building -- with one line of code. Three weeks later you shoot yourself in the head rather than try to modify that line.
Java You locate the Gun class, but discover that the Bullet class is abstract, so you extend it and write the missing part of the implementation. Then you implement the ShootAble interface for your foot, and recompile the Foot class. The interface lets the bullet call the doDamage method on the Foot, so the Foot can damage itself in the most effective way. Now you run the program, and call the doShoot method on the instance of the Gun class. First the Gun creates an instance of Bullet, which calls the doFire method on the Gun. The Gun calls the hit(Bullet) method on the Foot, and the instance of Bullet is passed to the Foot. But this causes an IllegalHitByBullet exception to be thrown, and you die.
Unix You shoot yourself in the foot or
% ls
foot.c foot.h foot.o toe.c toe.o
% rm * .o
rm: .o: No such file or directory
% ls
%
370 JCL (alternative) You shoot yourself in the head just thinking about it.
DOS JCL You first find the building you're in in the phone book, then find your office number in the corporate phone book. Then you have to write this down, then describe, in cubits, your exact location, in relation to the door (right hand side thereof). Then you need to write down the location of the gun (loading it is a proprietary utility), then you load it, and the COBOL program, and run them, and, with luck, it may be run tonight.
VMS $ MOUNT/DENSITY=.45/LABEL=BULLET/MESSAGE="BYE" BULLET::BULLET$GUN SYS$BULLET $ SET GUN/LOAD/SAFETY=OFF/SIGHT=NONE/HAND=LEFT/CHAMBER=1/ACTION=AUTOMATIC/ LOG/ALL/FULL SYS$GUN_3$DUA3:[000000]GUN.GNU $ SHOOT/LOG/AUTO SYS$GUN SYS$SYSTEM:[FOOT]FOOT.FOOT
%DCL-W-ACTIMAGE, error activating image GUN
-CLI-E-IMGNAME, image file $3$DUA240:[GUN]GUN.EXE;1
-IMGACT-F-NOTNATIVE, image is not an OpenVMS Alpha AXP image
or
%SYS-F-FTSHT, foot shot
(fifty lines of traceback omitted)
sh,csh, etc You can't remember the syntax for anything, so you spend five hours reading manual pages, then your foot falls asleep. You shoot the computer and switch to C.
Apple System 7 Double click the gun icon and a window giving a selection for guns, target areas, plus balloon help with medical remedies, and assorted sound effects. Click "shoot" button and a small bomb appears with note "Error of Type 1 has occurred."
Windows 3.1 Double click the gun icon and wait. Eventually a window opens giving a selection for guns, target areas, plus balloon help with medical remedies, and assorted sound effects. Click "shoot" button and a small box appears with note "Unable to open Shoot.dll, check that path is correct."
Windows 95 Your gun is not compatible with this OS and you must buy an upgrade and install it before you can continue. Then you will be informed that you don't have enough memory.
CP/M I remember when shooting yourself in the foot with a BB gun was a big deal.
DOS You finally found the gun, but can't locate the file with the foot for the life of you.
MSDOS You shoot yourself in the foot, but can unshoot yourself with add-on software.
Access You try to point the gun at your foot, but it shoots holes in all your Borland distribution diskettes instead.
Paradox Not only can you shoot yourself in the foot, your users can too.
dBase You squeeze the trigger, but the bullet moves so slowly that by the time your foot feels the pain, you've forgotten why you shot yourself anyway. or You buy a gun. Bullets are only available from another company and are promised to work so you buy them. Then you find out that the next version of the gun is the one scheduled to actually shoot bullets.
DBase IV, V1.0 You pull the trigger, but it turns out that the gun was a poorly designed hand grenade and the whole building blows up.
SQL You cut your foot off, send it out to a service bureau and when it returns, it has a hole in it but will no longer fit the attachment at the end of your leg; or
Insert into Foot
Select Bullet
From Gun.Hand
Where Chamber = 'LOADED'
And Trigger = 'PULLED'
Clipper You grab a bullet, get ready to insert it in the gun so that you can shoot yourself in the foot and discover that the gun that the bullets fits has not yet been built, but should be arriving in the mail _REAL_SOON_NOW_.
Oracle The menus for coding foot_shooting have not been implemented yet and you can't do foot shooting in SQL.
English You put your foot in your mouth, then bite it off. (For those who don't know, English is a McDonnell Douglas/PICK query language which allegedly requires 110% of system resources to run happily.)
Revelation [an implementation of the PICK Operating System] You'll be able to shoot yourself in the foot just as soon as you figure out what all these bullets are for.
FlagShip Starting at the top of your head, you aim the gun at yourself repeatedly until, half an hour later, the gun is finally pointing at your foot and you pull the trigger. A new foot with a hole in it appears but you can't work out how to get rid of the old one and your gun doesn't work anymore.
FidoNet You put your foot in your mouth, then echo it internationally.
PicoSpan [a UNIX-based computer conferencing system] You can't shoot yourself in the foot because you're not a host. or (host variation) Whenever you shoot yourself in the foot, someone opens a topic in policy about it.
Internet You put your foot in your mouth, shoot it, then spam the bullet so that everybody gets shot in the foot.
troff
rmtroff -ms -Hdrwp <<'!' | lpr -Pwp2 &
.*place bullet in footer
.B
.NR FT +3i
.in 4
.bu Shoot!
.br
.sp
.in -4
.br
.bp NR HD -2i
.*
!
Genetic Algorithms You create 10,000 strings describing the best way to shoot yourself in the foot. By the time the program produces the optimal solution, humans have evolved wings and the problem is moot.
CSP (Communicating Sequential Processes) You only fail to shoot everything that isn't your foot.
MS-SQL Server MS-SQL Server’s gun comes pre-loaded with an unlimited supply of Teflon coated bullets, and it only has two discernible features: the muzzle and the trigger. If that wasn't enough, MS-SQL Server also puts the gun in your hand, applies local anesthetic to the skin of your forefinger and stitches it to the gun's trigger. Meanwhile, another process has set up a spinal block to numb your lower body. It will then proceeded to surgically remove your foot, cryogenically freeze it for preservation, and attach it to the muzzle of the gun so that no matter where you aim, you will shoot your foot. In order to avoid shooting yourself in the foot, you need to unstitch your trigger finger, remove your foot from the muzzle of the gun, and have it surgically reattached. Then you probably want to get some crutches and go out to buy a book on SQL Server Performance Tuning.
Sybase Sybase's gun requires assembly, and you need to go out and purchase your own clip and bullets to load the gun. Assembly is complicated by the fact that Sybase has hidden the gun behind a big stack of reference manuals, but it hasn't told you where that stack is. While you were off finding the gun, assembling it, buying bullets, etc., Sybase was also busy surgically removing your foot and cryogenically freezing it for preservation. Instead of attaching it to the muzzle of the gun, though, it packed your foot on dry ice and sent it UPS-Ground to an unnamed hookah bar somewhere in the middle east. In order to shoot your foot, you must modify your gun with a GPS system for targeting and hire some guy named "Indy" to find the hookah bar and wire the coordinates back to you. By this time, you've probably become so daunted at the tasks stand between you and shooting your foot that you hire a guy who's read all the books on Sybase to help you shoot your foot. If you're lucky, he'll be smart enough both to find your foot and to stop you from shooting it.
Magic software You spend 1 week looking up the correct syntax for GUN. When you find it, you realise that GUN will not let you shoot in your own foot. It will allow you to shoot almost anything but your foot. You then decide to build your own gun. You can't use the standard barrel since this will only allow for standard bullets, which will not fire if the barrel is pointed at your foot. After four weeks, you have created your own custom gun. It blows up in your hand without warning, because you failed to initialise the safety catch and it doesn't know whether the initial state is "0", 0, NULL, "ZERO", 0.0, 0,0, "0.0", or "0,00". You fix the problem with your remaining hand by nesting 12 safety catches, and then decide to build the gun without safety catch. You then shoot the management and retire to a happy life where you code in languages that will allow you to shoot your foot in under 10 days.
Ruby foot.shot(Gun.new)
CSS You try to shoot your foot -- and made it on IE 7 but not IE 6.
StackOverflow To shoot yourself in the foot, ask a bad question and 5 people will come and shoot your foot.
Software is like sex: It's better when it's free. (Linus Torvalds)
"Profanity is the one language all programmers know best"
"Programming is like sex: one mistake and you have to support it for the rest of your life." -- Michael SinzThink twice before you start programming or you will program twice before you start thinking.
Subject: Re: Computers in Science Fiction
From: Steve Taylor
Newsgroups: alt.folklore.computers, alt.history.future, rec.arts.sf.science, rec.arts.sf.written
howard wrote:
I have been using computers since 1969. Some of the programs I wrote in the 70's are still running.
Bummer. Have you tried moving variable initialisations out of inner loops? That can speed things up a bit...
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. R. Buckminster Fuller
"You start writing code, I'll go see what the customer wants"..
Clark's law, after J. Porter Clark in a usenet post:
Sufficiently advanced incompetence is indistinguishable from malice
Good programmers never write what they can steal or borrow
-- Jeff Atwood
down vote
I love the project triangle as my software quote (http://en.wikipedia.org/wiki/Project_triangle):
Good, Fast, Cheap: Pick Two
"... 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." — Robert Firth.
Don't worry about people stealing your ideas. If it's original, you'll have to ram it down their throats."
--Howard Aiken, creator of the IBM/Harvard Mark 1 Computer
"Debugging is like farting - it's not so bad when it's your own code."
from the Programmers Dictionary:
recursion: see recursion
Programmer: an organism that turns coffee into software
dangling pointer: see recursion
It's morning already?
You know, when you have a program that does something really cool, and you wrote it from scratch, and it took a significant part of your life, you grow fond of it. When it's finished, it feels like some kind of amorphous sculpture that you've created. It has an abstract shape in your head that's completely independent of its actual purpose. Elegant, simple, beautiful.
Then, only a year later, after making dozens of pragmatic alterations to suit the people who use it, not only has your Venus-de-Milo lost both arms, she also has a giraffe's head sticking out of her chest and a cherubic penis that squirts colored water into a plastic bucket. The romance has become so painful that each day you struggle with an overwhelming urge to smash the f---ing thing to pieces with a hammer.
-- Nick Foster ("Life as a programmer")
"Saying that Java is good because it works on all platforms is like saying anal sex is good because it works on all genders."
Java: Write Once, Debug Everywhere
"There are two major products that come out of Berkeley: LSD and UNIX. We don't believe this to be a coincidence." - Jeremy S. Anderson
Confidence, n.: The feeling you have before you understand the situation
If architects built houses the way programmers built programs, the first woodpecker to come along would destroy civilization. Gerald Weinberg
Software and cathedrals are much the same - first we build them, then we pray.
-- Anonymous
wo favorite quotes about merits of dynamic typing vs. static typing:
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.
— Erik Naggum
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.
— Patrick Logan
The next one is not primarily about programming but can be applied to it as well:
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.
"Nothing is more permanent than a temporary solution"
Thomas' First Law
I also like:
Fast, Cheap, Reliable: Pick any two.
Theory is when one knows everything, but nothing works.
Practice is when everything works, but nobody knows why.
In this building, Theory and Practice are in perfect harmony. Nobody knows why nothing works.
My programs don't have bugs, they just develop random features
It works on my machine - anonymous programmer..
A C program is like a fast dance on a newly waxed dance floor by people carrying razors.
The two most common elements in the universe are hydrogen and stupidity.
-- Harlan Ellison
"That time in Seattle... was a nightmare. I came out of it dead broke, without a house, without anything except a girlfriend and a knowledge of UNIX."
"Well, that's something," Avi says. "Normally those two are mutually exclusive."
-- Neal Stephenson, "Cryptonomicon
UNIX is user friendly. Its just picks whom it want to be friends with.
A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools.
-- Douglas Adams
There is no IRL, only AFK
-- Unknown
Laurence Gonzales
The word “experienced” often refers to someone who’s gotten away with doing the wrong thing more frequently than you have.
There is nothing quite so permanent as a quick fix.
Artificial Intelligence is no match for natural stupidity.
Unknown author
“A computer programmer is a device for turning coffee into bugs.”
Bram Moolenaar (author of Vim)
(dusk) python is pretty easy to leaRN
(dusk) you write pseudocode, and you indent it correctly :)
(maniaman) so lets say i have a daTE
(aNdAres) who's the lucky girL?
(maniaman) if that date occurs between 2 dates in a single row in a database
(JAy) Did you hear about the Linux-car finishing last in the indy500?
(MRbEek) I did now ;-)
(MRbEek) Not surprised though... You know how impossible it is to find a decent
driver for linux hardware?
(HAx.13307) U're all lame as hell here!!!!! I can hack u all in no time! just
tell me your ip and u're dead!
(MAler.home) try mine
(MAler.home) 127.0.0.1
*** Signoff: HaX.1337 (Connection reset by peer)
(DAmz|dispute) wow. never thought such a retard nick can get his hands on
something actually working xD
(SIxfEet-) rejected by a computer script, new low in my life
(NTT) well, at least u didnt have cybersex with one of those bots that pm's you
here on mirc
(SIxfEet-) well i tried, but it replied with "lets just be friends..."
(SIxfEet-) =(
(CRaghAck)Theory is when you know everything and nothing works.
(CRaghAck)Practice is when things work, and noone knows why.
(CRaghAck)Here we combine theory and practice.
(CRaghAck)Nothing works and noone knows why.
(mentor) How do you escape handcuffs?
(mentor) backslashes
(CHipper) Hexidecimal counting systems are awesome!
(CHipper) On a scale from 1 to 10, I give them an E
(mav) I've always wanted to change my legal name to ;DROP DATABASE; and see what
kind of havoc ensues...
(slifty) Your mom is so fat she sat on a binary tree and turned it into a linked
list in constant time!
(sm-) how would i check a mysql database to see if a table exists?
(ALpha232) put down a table cloth, if it doesn't turn into a rug, then it exists
Maybe_Factor: C++ doesn't have a compiler, it has a complainer.
scruss: a guy called us and complained because his dsl didn't work,
come to find out he had win98 and actually took a knife and
trimmed the rj45 connection to fit into the rj11 jack
(ROguefOxx) I'm going to go outside
(ROguefOxx) where no nerd has gone before
(ROguefOxx) pray for me
* +ramoth4 slaps politik with an unsigned long double
* +politik comes back with a _uint64 uppercut
* +ramoth4 pulls out a struct and returns fire
* +politik corrupts ramoth's heap
* +Fire_Elemental-Coding- ducks to avoid leaked memory
* +politik pops Fire_Elemental-Coding- square in the stack
* +ramoth4 stuffs politik's face in the bitbucket, and begins to operate on
nil pointers
* +politik throws uncatchable exceptions around the room
* +ramoth4 dodges skillfully with his try-catch block
* +politik cuts off ramoth's private member
* +ramoth4 encapsulates the wound in a protected class
* +politik destroys all foes with up-casts to inappropriate derived classes!
* +politik is out of ideas
* +politik :: ~politik();
* +ramoth4 declares flipcode his namespace!
(+ramoth4) I win!
* +ramoth4 beat C++.
(+ramoth4) The last guy was hard.
(ruffkin2) HAHAHAH dat dude you sent me 127.0.0.1 iz enfected wit sub7 im
fuckin with him now
(andrw) oh good, format his computer
(TEsticular_ONe) format his computer
(THegReaterzEro) format him
(typobox43) programming without arrays is like swimming without trunks.
it works, but for most people, it's ugly.
(FEren) I'm a network engineer, and I'm o-kay / I plot all night and capture
packets all day.
(AThena) You smack down PCs and eat Cat5, and go to the lavatory? On wednesdays
you hunt scriptkiddies, and have roasted punk for tea?
(SLipstream) Old MacDonald had a network. EIGRP. And on this Network, he had
some packets. EIGRP. With an ACK, ACK, here, and an ACK, ACK,
there. Here an ACK, there an ACK, everywhere an ACK-ACK.
Old Macdonald had a Network. EIGRP.
(hydro`) i had this weird dream
(hydro`) someome broke into the house
(hydro`) and changed the wallpaper on the computer and left
(GHo5t) i decided against that php bumper sticker
(GHo5t) i don't want my friends from home to think i turned into a super geek
(GHo5t) i can just imagine what would happen when they ask what 'php' meant
(ASLeep)hah
(ASLeep)I don't drive so my PHP sticker is on my laptop.
(ASLeep) Of course, I'm getting my php tattoo this weekend so it doesn't matter.
“New technologies aren’t adopted because they are great, new, and disruptive; they are adopted only if the user’s crisis solved by the technology is greater than the perceived pain of adoption.”
Any problem in computer science can be solved with another layer of indirection. But that usually will create another problem. - David Wheeler (1927 - 2004)
"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live" - Martin Golding
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. – Paul M. Duvall
Programming languages are like girlfriends: The new one is better because you are better. – Derek Sivers
The sooner we start coding fewer frameworks and more programs the sooner we’ll become better programmers. – Warped Java Guy Elementary Java Solutions
Starting a startup is hard, but having a 9 to 5 job is hard too, and in some ways a worse kind of hard. – Paul Graham The Future of Web Startups
In essence, let the market design the product. – Paul Graham The Future of Web Startups
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. – Paul Graham The Future of Web Startups
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. – Paul Graham How Not to Die
The key to performance is elegance, not battalions of special cases. – Jon Bentley and Doug McIlroy
You’ll spend far more time babysitting old technologies than implementing new ones. – Jason Hiner IT Dirty Secrets
To Iterate is Human, to Recurse, Divine. – James O. Coplien
No one hates software more than software developers. – Jeff Atwood Hanselminutes Podcast 74
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. – Matz The Philosophy of Ruby
Good architecture is necessary to give programs enough structure to be able to grow large without collapsing into a puddle of confusion. – Douglas Crockford The Elements of JavaScript Style
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. – Douglas Crockford The Elements of JavaScript Style
Code reuse is the Holy Grail of Software Engineering. – Douglas Crockford The Elements of JavaScript Style
The structure of software systems tend to reflect the structure of the organization that produce them. – Douglas Crockford The Elements of JavaScript Style
The definition of Hell is working with dates in Java, JDBC, and Oracle. Every single one of them screw it up. – Dick Wall CommunityOne 2007: Lunch with the Java Posse
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. – Juixe TechKnow
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. – Juixe TechKnow
You might as well pay your customers 50K because they are just your QA. – Juixe TechKnow
The more bizarre the behavior, the more stupid the mistake.
-Ed's Law of Debugging
“The Linux philosophy is 'Laugh in the face of danger'. Oops. Wrong One. 'Do it yourself'. Yes, that's it.”
-- Linus Torvalds
Only Half of programming is coding. The other 90% is debugging.
-- T-shirt wisdom
Deleted code is debugged code.
Jeff Sickel
ava 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.
-- Steve Yegge (2007, Codes Worst Enemy)
You have to "solve" the problem once in order to clearly define it and then solve it again to create a solution that works.
"Code -- a set of symbols whose primary purpose is to restrict comprehension."
-- Webster's 3rd International Dictionary
Computers are useless. They can only give you answers.
-Pablo Picasso
For every complex problem there is an answer that is clear, simple, and wrong.
-H L Mencken
"Simplicity is the ultimate sophistication." -- Leonardo da Vinci
I'm sure he didn't say it from a programmer's aspect but it definitely fits in..
I love deadlines. I like the whooshing sound they make as they fly by. - Douglas Adams
"Designing software in a team is like writing poetry in a committee meeting." [ Joel Spolsky ]
"The cheapest, fastest, and most reliable components are those that aren't there." — Gordon Bell
If we can't fix it, then it ain't broke.
Debuggers motto, noted by John Bently in Programming Perls
On the 7th day ... God began debugging.
Good programmers learn more from "That's not what I expected!" than from getting it right the first time.
"Inside every complex program is a simple program trying to get out." - My Mentor
Don't code today what you can't debug tomorrow
Software is like entropy. It is difficult to grasp, weighs nothing, and obeys the second law of thermodynamics; i.e. it always increases.
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'
"Any sufficiently advanced bug is indistinguishable from a feature." - Carl Franklin
"Go away or I will replace you with a very small shell script!"
“C is quirky, flawed and an enormous success.” - Dennis Ritchie
I will, in fact, claim that the difference between a bad programmer and a good one is whether he considers his code or his data structures more important. Bad programmers worry about the code. Good programmers worry about data structures and their relationships.
--Linus Torvalds
"Code is never finished, only abandoned."
I don't know who said it first but it's based on Leonadro Da Vinci's quote:
"Art is never finished, only abandoned."
In theory this should work.
--anonymous developer
Three things should never be seen in the process of being created: laws, sausage, and software. -- Source unknown to me
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. -- David Parnas
Artificial Intelligence is no match for natural stupidity.
-Unknown
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.
-Rich Cook
The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offence.
-Edsger Dijkstra
APL is a mistake, carried through to perfection. It is the language of the future for the programming techniques of the past: it creates a new generation of coding bums.
-Edsger Dijkstra
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.
-Unknown
Users are a terrible thing. Systems would be infinitely more stable without them.
From the book Release It! by Michael T. Nygard.
"Keyboard not found. Press < F1 > to RESUME."
"A fool with a tool is still a fool." If you can build it, your users can break it.
"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."
Read it in a forum somewhere so I don't know who coined it. But it's good!
"I would change the world, but I don't have the source code" a programmer
Hardware is the part of a system you can kick. Software is the one you can only curse at
"Software is either testable or detestable."
The definition of insanity is doing the same thing over and over and expecting a different result.
“I have always found that plans are useless, but planning is indispensable.” - Dwight D. Eisenhower
There's no such thing as temporary code.
Nihilism:
while (true) {
return null;
}
"If all you have is a hammer, everything looks like a nail"
if C didn't exist, we would be programming in OBOL, PASAL or BASI Never on schedule, always on time Managing programmers is like herding cats.
All programmers are optimists
Frederick Brooks, The Mythical Man-Mont
The manager's function is not to make people work, it is to make it possible for people to work. from "Peopleware: Productive Projects and Teams"
If you don't have time to do something properly, you certainly don't have time to do it twice!
"Our software isn't released, it escapes leaving a bloody trail of testers behind it."
< p style="margin: 0px 0px 1em; padding: 0px; border-width: 0px; font-size: 14px; vertical-align: baseline; background-color: transparent; clear: both; word-wrap: break-word;">-- unknown author
"There are two ways to write error-free programs; only the third one works."
Good enough is neither.
-- Jim Spivey, though I don't know if he coined it
And speaking of fits, this one is surprisingly useful in many facets of life:
If it doesn't fit, make it fit.
Brought to you as is, unedited:
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than right now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those
"It's interface, not in your face"
[ Kai Krause ]
"Artificial Intelligence is a technic for making computers act like Paris Hilton."
"Good software, like wine, takes time." - Joel Spolsky
"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." - Arthur C. Clarke
If people aren't buying your obscure gadget, make it run on USB. Programmers will go wild.
-- Sleep Deprivation Ninja :)
If you lie to the compiler, it will get its revenge.
-- Henry Spencere
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.
-- Verity Stob
Good code is its own best documentation. As you're about to add a comment, ask yourself, 'How can I improve the code so that this comment isn't needed?' Improve the code and then document it to make it even clearer.
-- Steve McConnell Code Complete
Not originally intended for programming but fits:
We are tied down to a language which makes up in obscurity what it lacks in style.
-- Tom Stoppard
Another Nathaniel Borenstein one for me:
"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."
Don't worry if it doesn't work right. If everything did, you'd be out of a job.
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.
down vote
"I've never written the best code I've ever written."
Awesome quote from an old friend.
"A complex system that works is invariably found to have evolved from a simple system that worked." John Gall
"Enlightened trial and error outperforms the planning of flawless intellects." David Kelly
"It's OK to figure out murder mysteries, but you shouldn't need to figure out code. You should be able to read it." Steve McConnell
"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 Kernighan's .sig quote.
And two quotes from the Agile Manifesto:
"Working software is the primary measure of progress."
"Simplicity -- the art of maximizing the amount of work not done -- is essential."
80 percent of my problems are simple logic errors. 80 percent of the remaining problems are pointer errors. The remaining problems are hard.
Python's syntax succeeds in combining the mistakes of Lisp and Fortran. I do not construe that as progress.
-- Larry Wall
"He who hasn't hacked assembly language as a youth has no heart. He who does as an adult has no brain." -- John Moore
"Software isn't about methodologies, languages, or even operating systems. It is about working applications."
-- Christopher Baus
If at first you don't succeed, try/catch, try/catch again.
Never underestimate the disparity between developer excitement and user apathy.
"Powered by 110000001111111111101110"
Donald Knuth: "Beware of bugs in the above code; I have only proved it correct, not tried it".
"I'm not a great programmer; I'm just a good programmer with great habits." - Kent Beck
The third version is the first version that doesn't suck. -Mike Simpson
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.
Thou shalt check the array bounds of all strings (indeed, all arrays), for surely where thou typest "foo" someone someday shall type "supercalifragilisticexpialidocious"
if you want to confuse your enemies, give them the source code. If you want to really confuse them, give them the documentation.
Processes and methodologies can make good servants but are poor masters
Mark Dowd, John McDonald & Justin Schuh in "The Art of Software Security Assessment"
Like a gas, software expands to fill its containing memory completely.
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.
-- Grant Edwards
C: a language that combines all the elegance and power of assembly language with all the readability and maintainability of assembly language
If it doesn't have to work, we can do it real quick.
-- Watts Humphrey
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.
Steve McConnell on coupling from, "Code Complete."
If you get it free, it is worthless. If you pay for it, is has value. If you build it yourself, it is priceless.
- Raj More
"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."
— Frederick P. Brooks Jr
Open source software only comes in one edition: awesome.
link|flag
answered Nov 24 '09 at 7:18
community wiki
Lukas Šalkauskas
6
I prefer: "Open source software only comes in one edition: unusable". – DisgruntledGoat Dec 9 '09 at 15:06
1
funny, but not true. – Lukas Šalkauskas Dec 10 '09 at 6:10
Occam's Taser: The simplest solution is often the most painful.
Programmers do not die. They just gosub without return.
Unknown author.
Recently my colleague said
"When you write a good code, you take it from the parallel ideal universe, thereby coming nearer to it."
Not fun but very philosophical.
No technique works if it isn't used
Ethics change with technology
"F × S = k" the product of freedom and security is a constant
"Anyone who has a wife and small kids knows that programming belongs to the easy things in life."
N'importe qui ayant une relation sait que programmer fait partie des choses simples de la vie.
"Hey, did someone turn off the database?"
"There is never enough time to do it right first time, but there is always time to go back and fix it when it breaks.."
The Knuth, the whole Knuth, and nothing but the Knuth, so help me Codd! -- don't know where I heard this, but I laughed.
Concerning optimization:
A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away. - Antoine de Saint-Exupéry
In software, the most beautiful code, the most beautiful functions, and the most beautiful programs are sometimes not there at all. - Jon Bentley, Beautiful Code (O'Reilly), "The Most Beautiful Code I Never Wrote"
Not sure where I heard this one, but it's stuck with me:
Think first; code later.
I also love this one by Aasimov:
Part of the inhumanity of the computer is that, once it is competently programmed and working smoothly, it is completely honest.
And Richard Feynmann (though it wasn't necessarily about software):
What I cannot create, I do not understand.
Francis Crick
"God is a hacker, not an engineer. You can do reverse engineering, but you can’t do reverse hacking.”
If it is worth doing once, it is worth automating...
Don't code today what you can't debug tomorrow.
"The enemy of Great Code, is 'Good Code.'" - Unknown
Comments? Documentation? Don't they call it code for a reason?
C is to programming as Latin is to literature
"Computers enable us to in thirty minutes what we never would have had to do before."
"Don’t fix bugs later; fix them now." - Steve Maguire
"A well-written program is its own heaven; a poorly-written program is its own hell." - Geoffrey James
"Blame doesn't fix bugs." - Anonymous
"Documentation is like sex; when it's good, it's very, very good, and when it's bad, it's better than nothing." - Dick Brandon
"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."
Nathaniel S. Borenstein
"If it wasn't for C, we'd be writing programs in BASI, PASAL, and OBOL."
"I will not be a lemming and follow the crowd over the cliff and into the C."
John (Jack) Beidler
"The C Programming Language — A language which combines the flexibility of assembly language with the power of assembly language."
"C(++) is a write-only, high-level assembler language."
Stefan Van Baelen
love deadlines. I especially like the whooshing sound they make as they go flying by. (Douglas Adams).
Tell me what you need and I'll tell you how to get along without it. (Unknown)
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. (Unknown)
Latest survey shows that 3 out of 4 people make up 75% of the world's population. (Unknown)
Documentation is like sex: when it is good, it is very, very good; and when it is bad, it is better than nothing. -- Dick Brandon
The whole point of getting things done is knowing what to leave undone. (Oswald Chambers)
To error is human, to fix it - divine. (Maxim Veksler)
I'll try to be nicer if you try to be smarter (Assaf Nitzan)
When debugging, novices insert corrective code; experts remove defective code. ~Richard Pattis
When a programming language is created that allows programmers to program in simple English, it will be discovered that programmers cannot speak English. ~Author Unknown
One man's constant is another man's variable. ~Alan J. Perlis
Ready, fire, aim: the fast approach to software development. Ready, aim, aim, aim, aim: the slow approach to software development. ~Author Unknown
Programming is like sex. One mistake and you have to support it for the rest of your life. ~Michael Sinz
From a programmer's point of view, the user is a peripheral that types when you issue a read request. ~Peter Williams
Programmer - an organism that turns coffee into software. ~Author Unknown
Great things are not done by impulse, but by a series of small things brought together." -- Vincent Van Gogh --
It is what we do..
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.
-Jeff Atwood
"When in doubt, leave it out" - Joshua Bloch
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.
“It’s hardware that makes a machine fast. It’s software that makes a fast machine slow.”
– Craig Bruce
Did you write the case structure? If you did, please get your colleague to slap your head. If your colleague wrote it, please slap your colleague in the head. Preferably hard. That code is stupid and redundant.
Today's computers are amazing. Then can perform 20 billion calculations a second, making only one mistake every 10 billion calculations !
2 screw up a second, so that's progress ?
Reiser
If our customers wanted a product that worked that way, tell them to purchase a product that works that way.
"Programming with the CSLA is like making love to a beautiful woman. First you have to check the IsDirty() flag"
- Dean Biggs
My all time favourite adaptation of Shakespeare:
0x2B || !0x2B
One Page Principle: A specification that will not fit on one page of 8.5x11 inch paper cannot be understood. -- Mark Ardis
It's difficult to express the sorrow of losing code that you spent hours on, simply because you forgot to save...
While tracking down a long running process, I found the offending line of code. The bad code had the following comment.
"Change so simple, no need to test."
Don't use web services to transfer data between databases located in the same room.
Some of the architects after realising failure of his provided architecture.
Dope will get you through times of no money better than money will get you through times of no dope.
Freewheelin' Franklin
“Computers are useless. They can only give you answers.” (Pablo Picasso)
"Be Jack of all you can be Master at any time and on any programming language"
One of my collegues had a great quote in french: "Tout nouveau développement contient au moins un bug. Toute correction de bug est un nouveau développement."
Which translates to "Every new development contains at least one bug. Every bug correction is a new development"
Where I work it sadly happens to be true...
"It compiles. Ship it!" -- anon.
"People who find Wiki-markup too difficult to use and need a WYSIWYG-editor shouldn't be using a Wiki in the first place." -- me
"We don't have time to plan. We only have time to execute."
The function name should define everything the function does.
Only in wealth, there is room for a bad idea -- Jasper van der Meer
Half-knowledge is dangerous
Never always; rarely never."
Real programmers don't document If it was hard to write, it should be hard to understand!
A programmer that is 10 times better than another will probably be happy making only 3 times as much - Paul Graham
computer scientist counts to ten: 0, 1, 2, 3, 4 ...
everyone else counts to ten: 1, 2, 3, 4, 5
Can God write a Program so complex that He cannot debug it?
When behaviour can be adequately explained by incompetence, it is pointless to assume a conspiracy
"As a rule, software systems do not work well until they have been used, and have failed repeatedly, in real applications." -- Dave Parnas
There is always one more bug!
Do or do not; there is no "try".
-- Yoda
Oh yes there is.
-- James Gosling (unless I just made that up)
``The great thing about mod_rewrite is it gives you all the configurability and flexibility of Sendmail. The downside to mod_rewrite is that it gives you all the configurability and flexibility of Sendmail.''
-- Brian Behlendorf
Apache Group
L'avantage avec le cobol c'est que c'est fait pour durer, l'inconvenient avec le cobol c'est que c'est fait pour durer
marche aussi avec java
"The goal is to deliver clean code that works -- now." -- Kent Beck
Web Development is a lot like kickboxing: You have to watch your cookies
down vote
I have 3 quotes to offer:
"The function of good software is to make the complex appear to be simple." -Grady Booch
"Intellectuals solve problems; geniuses prevent them." - Albert Einstein
Three Rules of Work:
Out of clutter find simplicity
From discord find harmony
In the middle of difficulty lies opportunity.
-Albert Einstein
"Programming in TSO is like kicking a dead whale down the beach" - Ken Thompson
f you don't think you're doing great things, you're probably right.
Never comment your code - if it was hard to write, it should be hard to understand. -Anonymous
I’ve finally learned what ‘upward compatible’ means. It means we get to keep all our old mistakes.
-- Dennie van Tassel
Change causes problems
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.
-Nathaniel Borenstein
(Peter) Norvig's law: Any technology that surpasses 50% penetration will never double again (in any number of months).
"No! JavaScript isn't Java!"
Ash Hegab
There are only two hard things in Computer Science: cache invalidation and naming things. -- Phil Karlton
-- Why did you call them "beta"?
-- Uhh... 'coz they're beta than nothin
LASSIFICATION OF SOFTWARE ERRORS:
Requirement wrong Requirement changed Requirement vague Requirement missing
Code design not to requirement
Code not to design
Interface error Sequence error Merge of branch failed
Arithmetic/logic error
Initialization/off-by-one
Dynamic allocation Wrong argument
Not a Problem Duplicate
Bug in tool
Feature
RTFM
Ooops
Ooops I did it again
"You can write software expecting the hardware to be perfect, unfortunately hardware is not perfect and you have to fix it in code."
W. Giraud.
He was my mentor for FIRST Robotics, and this is absolutely true.
Change is the only constant thing in Software Engineering.
Behind Every Successful Coder, there'an even more successful De-Coder to understand that Code.
Back to home at the bus today, I thought this one:
The time machine's software will have a recursive main method.
I know it's horrible, but it stoned me for 2 seconds.
If you have a source do any thing.
Requirements are like water. They are easy to build on when they are frozen.
"No software survives contact with the users." ~ Me
FYI: Reworking of "No battle plan survives contact with the enemy" ~Field Marshall Helmuth Carl Bernard von Moltke
I am not smart I just screwed up first!
I am not smart I just stay with problems longer.
Any sufficiently well-documented lisp program contains an ML program in its comments -- Unknown
The function of good software is to make the complex appear to be simple
I get as much enjoyment from trashing code as I do from scratching it out in the first place!
Don't loose your knowledge with a lot of information
"Beware of computer scientists with screwdrivers." --Unknown source
There's a fine line between being on the leading edge and being in the lunatic fringe. - Frank Armstrong
Everything always takes twice as long and costs four times as much as you planned.
<pengvado> making an alpha product into final is easy
<pengvado> making an alpha product into final is easy
<pengvado> the hard part is adding features so that it stays alpha
<pengvado> the hard part is adding features so that it stays alpha
In computer science, we stand on each other's feet. -- Brian K. Reid -- Holton, Gerald
[...] and the three of us spent one afternoon a week working, talking, and drinking beer at Dijkstra's house. The algorithm emerged from one of those afternoons. I think I was its primary author, but as I mention in the paper, the beer and the passage of time made it impossible for me to be sure of who was responsible for what.
Leslie Lamport, on his paper about proving the correctness of multiprocess programs.
Software isn't the only kind of structure that changes over time.
Use the force: read the code!
"All your base are belong to us!"
Application written in Java is Platform independent but Version dependent
while (true)
{
return self
}
solipsisme = self
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment