The only way to write complex software that won't fall on its face is to hold its global complexity down - to build it out of simple pieces connected by well-defined interfaces, so that most problems are local and you can have some hope of fixing or optimizing a part without breaking the whole
Every good work of software starts by scratching a developers personal itch.
Asked about the fact that Apple's iTunes software for Windows computers was extremely popular, Jobs joked, 'It's like giving a glass of ice water to somebody in hell.
My reply is: the software has no known bugs, therefore it has not been updated.
Computers have become more friendly, understandable, and lots of years and thought have been put into developing software to convince people that they want and need a computer.
Prolific programmers contribute to certain disaster.
It's OK to figure out murder mysteries, but you shouldn't need to figure out code. You should be able to read it.
It's better to wait for a productive programmer to become available than it is to wait for the first available programmer to become productive.
Design and programming are human activities; forget that and all is lost.
If you think your management doesn't know what it's doing or that your organisation turns out low-quality software crap that embarrasses you, then leave.
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.
When to use iterative development? You should use iterative development only on projects that you want to succeed.
... with proper design, the features come cheaply. This approach is arduous, but continues to succeed.
More computing sins are committed in the name of efficiency (without necessarily achieving it) than for any other single reason - including blind stupidity.
Originally, I wanted a machine that would cost $100. My idea was to spend nothing on the console technology so all the money could be spent on improving the interface and software. If we hadn't used NAND flash memory and other pricey parts, we might have succeeded.
A little retrospection shows that although many fine, useful software systems have been designed by committees and built as part of multipart projects, those software systems that have excited passionate fans are those that are the products of one or a few designing minds, great designers.
Companies in every industry need to assume that a software revolution is coming.
Hiring people to write code to sell is not the same as hiring people to design and build durable, usable, dependable software.
If we want users to like our software we should design it to behave like a likeable person: respectful, generous and helpful.
Over the next 10 years, I expect many more industries to be disrupted by software, with new world-beating Silicon Valley companies doing the disruption in more cases than not.
No one should expect building a new high-growth, software-powered company in an established industry to be easy. It's brutally difficult.
In short, software is eating the world
Object-oriented programming as it emerged in Simula 67 allows software structure to be based on real-world structures, and gives programmers a powerful way to simplify the design and construction of complex programs.
Software innovation, like almost every other kind of innovation, requires the ability to collaborate and share ideas with other people, and to sit down and talk with customers and get their feedback and understand their needs.
I think I am very goal oriented. I'd like to win the America's cup. I'd like Oracle to be the No 1 software company in the world. I still think it is possible to beat Microsoft.
Follow AzQuotes on Facebook, Twitter and Google+. Every day we present the best quotes! Improve yourself, find your inspiration, share with friends
or simply: