![]() |
Home | Email Tris | Email PolQuotations on simplicity in software designRemember that there is no code faster than no code. -- Taligent's Guide to Designing Programs Simplicity is the soul of efficiency. -- Austin Freeman, "The Eye of Osiris" ...it is simplicity that is difficult to make. -- Bertholdt Brecht The inherent complexity of a software system is related to the problem it is trying to solve. The actual complexity is related to the size and structure of the software system as actually built. The difference is a measure of the inability to match the solution to the problem. -- Kevlin Henney, "For the sake of simplicity" (1999) The minimum could be defined as the perfection that an artefact achieves when it is no longer possible to improve it by subtraction. This is the quality that an object has when every component, every detail, and every junction has been reduced or condensed to the essentials. It is the result of the omission of the inessentials. -- John Pawson, \uffffMinimum\uffff (1998) More good code has been written in languages denounced as "bad'' than in languages proclaimed "wonderful'' -- much more. -- Bjarne Stroustrup, "The Design and Evolution of C++" (1994) I have yet to see any problem, however complicated, which, when you looked at it in the right way, did not become still more complicated. -- Poul Anderson Simple things should be simple and complex things should be possible. -- Alan Kay Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away. -- Antoine de Saint-Exup\uffffry Plan to throw one away; you will anyhow. -- Frederick Brooks, "The Mythical Man-month" (1975) Smart data structures and dumb code works alot better than the other way around. -- Eric S. Raymond, "The Cathedral and the Bazaar" Premature optimization is the root of all evil in programming. -- C.A.R. Hoare The key to performance is elegance, not battalions of special cases. The terrible temptation to tweak should be resisted unless the payoff is really noticeable. -- Jon Bentley and Doug McIlroy 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. -- Bruce Tognazzini A language that doesn't have everything is actually easier to program in than some that do. -- Dennis Ritchie [...] the purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise. -- Edsger W. Dijkstra, \uffffThe Humble Programmer\uffff (1972) ... the cost of adding a feature isn't just the time it takes to code it. The cost also includes the addition of an obstacle to future expansion. ... The trick is to pick the features that don't fight each other. -- John Carmack Increasingly, people seem to misinterpret complexity as sophistication, which is baffling --- the incomprehensible should cause suspicion rather than admiration. Possibly this trend results from a mistaken belief that using a somewhat mysterious device confers an aura of power on the user. -- Niklaus Wirth One of the most dangerous (and evil) things ever injected into the project world is the notion of process maturity. Process maturity is for replicable manufacturing contexts. Projects are one-time shots. Replicability is never the primary issue on one-time shots. More evil than good has come from the notion that we should "stick to the methodology." This is a recipe for non-adaptive death. I'd rather die by commission. -- David Schmaltz The difference between a good and a poor architect is that the poor architect succumbs to every temptation and the good one resists it. -- Ludwig Wittgenstein Refactoring provides enough energy to a system for it to relax into a new and more comfortable state, a new local minimum. -- Kevlin Henney, \uffffThe Imperial Clothing Crisis\uffff (2002) If we complicate things they get less simple. -- Professor at Cambridge University Beauty is more important in computing than anywhere else in technology because software is so complicated. Beauty is the ultimate defense against complexity. -- David Gelernter, "Machine Beauty", Basic Books (1998) Fools ignore complexity; pragmatists suffer it; experts avoid it; geniuses remove it. -- Alan Perlis The cheapest, fastest, and most reliable components of a computer system are those that aren't there. -- Graham Bell 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 S. Borenstein Good judgment comes from experience; experience comes from bad judgment. -- Frederick Brooks ...Simplifications have had a much greater long-range scientific impact than individual feats of ingenuity. The opportunity for simplification is very encouraging, because in all examples that come to mind the simple and elegant systems tend to be easier and faster to design and get right, more efficient in execution, and much more reliable than the more contrived contraptions that have to be debugged into some degree of acceptability....Simplicity and elegance are unpopular because they require hard work and discipline to achieve and education to be appreciated. -- Edsger W. Dijkstra Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius - and a lot of courage - to move in the opposite direction. -- Albert Einstein Everything should be made as simple as possible, but not simpler. -- Albert Einstein To arrive at the simple is difficult. -- Rashid Elisha The structure of a system reflects the structure of the organization that built it. -- R. Fairley The unavoidable price of reliability is simplicity. -- C.A.R. Hoare Computer Science is the only discipline in which we view adding a new wing to a building as being maintenance. -- Jim Horning Controlling complexity is the essence of computer programming. -- Brian Kernighan Complexity is a sign of technical immaturity. Simplicity of use is the real sign of a well design product whether it is an ATM or a Patriot missile. -- Daniel T. Ling Programming is similar to a game of golf. The point is not getting the ball in the hole but how many strokes it takes. -- H. Mills Simplicity does not precede complexity, but follows it. -- Alan J. Perlis Fancy algorithms are slow when N is small, and N is usually small. -- R. Pike Computer Science is the first engineering discipline in which the complexity of the objects created is limited solely by the skill of the creator, and not by the strength of raw materials. -- B. Reid Walking on water and developing software from a specification are easy if both are frozen. -- Edward V. Berard Technical skill is mastery of complexity, while creativity is mastery of simplicity. -- E. Christopher Zeeman Architect: Someone who knows the difference between that which could be done and that which should be done. -- Larry McVoy 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 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 |