Software Design Quotes

Quotes tagged as "software-design" Showing 1-15 of 15
Robert C. Martin
“Truth can only be found in one place: the code.”
Robert C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship

Vitruvius
“The ideal architect should be a man of letters, a skillful draftsman, a mathematician, familiar with historical studies, a diligent student of philosophy, acquainted with music, not ignorant of medicine, learned in the responses of jurisconsults, familiar with astronomy and astronomical calculations.”
Vitruvius

Bruce Eckel
“Programming is about managing complexity: the complexity of the problem, laid upon the complexity of the machine. Because of this complexity, most of our programming projects fail.”
Bruce Eckel, On Java 8

Edsger W. Dijkstra
“Let me try to explain to you, what to my taste is characteristic for all intelligent thinking. It is, that one is willing to study in depth an aspect of one's subject matter in isolation for the sake of its own consistency, all the time knowing that one is occupying oneself only with one of the aspects. We know that a program must be correct and we can study it from that viewpoint only; we also know that it should be efficient and we can study its efficiency on another day, so to speak. In another mood we may ask ourselves whether, and if so: why, the program is desirable. But nothing is gained—on the contrary!—by tackling these various aspects simultaneously. It is what I sometimes have called "the separation of concerns", which, even if not perfectly possible, is yet the only available technique for effective ordering of one's thoughts, that I know of. This is what I mean by "focusing one's attention upon some aspect": it does not mean ignoring the other aspects, it is just doing justice to the fact that from this aspect's point of view, the other is irrelevant. It is being one- and multiple-track minded simultaneously.”
Edsger W. Dijkstra, Selected Writings on Computing: A personal Perspective

Akshat Paul
“User interface is the process of shifting from chaotic complexity to elegant simplicity.”
Akshat Paul, React Native for iOS Development

Akshat Paul
“Software will give you respect, but hardware will give you the Power.”
Akshat Paul, RubyMotion iOS Development Essentials

“Will highly comprehensible code, by virtue of being easy to modify, inevitably be supplanted by increasingly less elegant code until some equilibrium is achieved between comprehensibility and fragility? Perhaps simple on the outside/fragile on the inside can be an effective survival strategy for evolving artifacts.”
Brian Foote Joseph Yoder

Steve Klabnik
“Inheritance has recently fallen out of favor as a programming design solution in many programming languages because it’s often at risk of sharing more code than necessary. Subclasses shouldn’t always share all characteristics of their parent class but will do so with inheritance. This can make a program’s design less flexible. It also introduces the possibility of calling methods on subclasses that don’t make sense or that cause errors because the methods don’t apply to the subclass. In addition, some languages will only allow a subclass to inherit from one class, further restricting the flexibility of a program’s design.

For these reasons, Rust takes a different approach, using trait objects instead of inheritance.”
Steve Klabnik, The Rust Programming Language

“Be conservative in what you do, be liberal in what you accept from others”
Jon Postel

Edmond Lau
“In his book Software Abstractions, MIT Professor Daniel Jackson explains just how important it is to choose the right abstractions. "Pick the right ones, and programming will flow naturally from design; modules will have small and simple interfaces; and new functionality will more likely fit in without extensive reorganization, " Jackson writes. "Pick the wrong ones, and programming will be a series of nasty surprises: interfaces will become baroque and clumsy as they are forced to accommodate unanticipated interactions, and even the simplest of changes will be hard to make.”
Edmond Lau, The Effective Engineer: How to Leverage Your Efforts In Software Engineering to Make a Disproportionate and Meaningful Impact

“Software architecture is the set of design decisions which, if made incorrectly, may cause your project to be cancelled.”
Eoin Woods

“In the fast-phased technological world, it becomes utmost important to rely on a custom software development that provides the right medium to achieve productive results of exceptional quality. With a view to helping businesses, custom software solutions that are known to assist operational and long-term organizational needs of software services. With years of experience in providing custom software services, we stand as partners to ensure that the product development lifecycle goes through a smooth phase with no challenges to derive complete satisfaction.”
Chris kambala

“The best features are the ones you get without even knowing they exist.”
John Ousterhout, A Philosophy of Software Design

“Success is achieved when customers have fully realized the value of the product, and the product has achieved a perfect match with their needs.”
Todd Olson, The Product-Led Organization: Drive Growth By Putting Product at the Center of Your Customer Experience

James Rickards
“To the extent that AI mimics human intelligence without being sentient we have to weigh the output against the shortcomings. AI can help to cure certain diseases, but it will also replicate highly dysfunctional behaviors. Developers say they can control for these adverse behaviors. Yet behavioral psychologists themselves don't fully understand them.”
James Rickards, MoneyGPT: AI and the Threat to the Global Economy