It takes a touch of genius - and a lot of courage to move in the opposite direction.— Albert Einstein
Informative Software Design quotations
Talk is cheap. Show me the code.
Most of you are familiar with the virtues of a programmer.
There are three, of course: laziness, impatience, and hubris.
Any fool can write code that a computer can understand.
Good programmers write code that humans can understand.
Simplicity and elegance are unpopular because they require hard work and discipline to achieve and education to be appreciated.
... with proper design, the features come cheaply. This approach is arduous, but continues to succeed.
A language that doesn't have everything is actually easier to program in than some that do
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.
The belief that complex systems require armies of designers and programmers is wrong. A system that is not understood in its entirety, or at least to a significant degree of detail by a single individual, should probably not be built.
Solving a problem simply means representing it so as to make the solution transparent.
The hardest part of design ... is keeping features out.
Learning to program has no more to do with designing interactive software than learning to touch type has to do with writing poetry
Copy and paste is a design error.
The trouble with programmers is that you can never tell what a programmer is doing until it's too late.
If we want users to like our software we should design it to behave like a likeable person: respectful, generous and helpful.
Hiring people to write code to sell is not the same as hiring people to design and build durable, usable, dependable software.
Technical skill is mastery of complexity, while creativity is mastery of simplicity.
The cheapest, fastest, and most reliable components are those that aren't there.
Design is in everything we make, but it's also between those things.
It's a mix of craft, science, storytelling, propaganda, and philosophy.
If you think good architecture is expensive, try bad architecture.
We had the hardware expertise, the industrial design expertise and the software expertise, including iTunes. One of the biggest insights we have was that we decided not to try to manage your music library on the iPod, but to manage it in iTunes. Other companies tried to do everything on the device itself and made it so complicated that it was useless.
Perilous to us all are the devices of an art deeper than we possess ourselves.
Mathematics, rightly viewed, possesses not only truth, but supreme beauty-a beauty cold and austere ... yet sublimely pure and capable of stern perfection such as only the greatest art can show.
Since when has the world of computer software design been about what people want? This is a simple question of evolution. The day is quickly coming when every knee will bow down to a silicon fist, and you will all beg your binary gods for mercy.
Like any well designed software product, Windows is designed, developed and tested as an integrated whole.
Follow your dreams wherever they lead you and pay for those dreams with good jobs in software programming and computer design!
I no longer teach meditation, only software design.
I have found that meditation has helped me with my academic career and has given me insights into musical composition and software design.
The Very Big Stupid is a thing which breeds by eating The Future.
Have you seen it? It sometimes disguises itself as a good-looking quarterly bottom line, derived by closing the R&D department.
Luck is the residue of design.
Nothing in progression can rest on its original plan.
We may as well think of rocking a grown man in the cradle of an infant.
Up to a point, it is better to just let the snags [bugs] be there than to spend such time in design that there are none.
Robots equipped with software can be designed to do repetitive jobs.
All that you need in a factory is a set of dials, an expert, and a dog to keep the expert awake. We will be moving shortly to the next stage to robots with artificial intelligence who can "think."
When I'm working on a problem, I never think about beauty. I think only how to solve the problem.
If you need to visualize the soul, think of it as a cross between a wolf howl, a photon and a dribble of dark molasses. But what it really is, as near as I can tell, is a packet of information. It's a program, a piece of hyperspatial software designed explicitly to interface with the Mystery. Not a mystery, mind you - the Mystery. The one that can never be solved.
...it is simplicity that is difficult to make.
Hey, I'm a good software engineer, but I'm not exactly known for my fashion sense. White socks and sandals don't translate to 'good design sense'.
Know what you're talking about.
We do not believe any group of men adequate enough or wise enough to operate without scrutiny or without criticism. We know that the only way to avoid error is to detect it, that the only way to detect it is to be free to inquire. We know that in secrecy error, undetected, will flourish and subvert.
Good work is always done in defiance of management.
… 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”.
... as a slow-witted human being I have a very small head and I had better learn to live with it and to respect my limitations and give them full credit, rather than to try to ignore them, for the latter vain effort will be punished by failure.
Please don't fall into the trap of believing that I am terribly dogmatical about the go to statement. I have the uncomfortable feeling that others are making a religion out of it, as if the conceptual problems of programming could be solved by a single trick, by a simple form of coding discipline!
... the designer of a new system must not only be the implementor and the first large-scale user; the designer should also write the first user manual. ... If I had not participated fully in all these activities, literally hundreds of improvements would never have been made, because I would never have thought of them or perceived why they were important.
The designer of a new kind of system must participate fully in the implementation.