560 pages
Rating: (3K votes)
“The heart of software is its ability to solve domain-related problems for its user.”
“A model is a selectively simplified and consciously structured form of knowledge.”
“In the old waterfall method, the business experts talk to the analysts, and analysts digest and abstract and pass the result along to the programmers, who code the software. This approach fails because it completely lacks feedback.”
“To communicate effectively, the code must be based on the same language used to write the requirements—the same language that the developers speak with each other and with domain experts.”
“Every software program relates to some activity or interest of its user.”
“Success comes in an emerging set of abstract concepts that makes sense of all the detail. This distillation is a rigorous expression of the particular knowledge that has been found most relevant.”
“Knowledge trickles in one direction, but does not accumulate.”
“That shallowness of knowledge produces software that does a basic job but lacks a deep connection to the domain expert’s way of thinking.”
“Diagrams are a means of communication and explanation, and they facilitate brainstorming. They serve these ends best if they are minimal.”
“They show design constraints, but they are not design specifications in every detail. They represent the skeletons of ideas.”
“the model is not the diagram.”
“The behavior of running code is unambiguous.”
“documenting exclusively through code has some of the same basic problems as using comprehensive UML diagrams.”
“A document shouldn’t try to do what the code already does well.”
“Written documents should complement the code and the talking.”
“you may hear the UBIQUITOUS LANGUAGE changing naturally while a document is being left behind.”
“It takes fastidiousness to write code that doesn’t just do the right thing but also says the right thing.”
“There is no need for explanatory models to be object models, and it is generally best if they are not.”
“The astrolabe was a mechanical implementation of an object-oriented model of the sky.”
“crucial discoveries always emerge during the design/implementation effort.”
“If the design, or some central part of it, does not map to the domain model, that model is of little value, and the correctness of the software is suspect.”
“The heart of software is its ability to solve domain-related problems for its user. All other features, vital though they may be, support this basic purpose. When the domain is complex, this is a difficult task, calling for the concentrated effort of talented and skilled people. Developers have to steep themselves in the domain to build up knowledge of the business. They must hone their modeling skills and master domain design. Yet these are not the priorities on most software projects. Most talented developers do not have much interest in learning about the specific domain in which they are working, much less making a major commitment to expand their domain-modeling skills. Technical people enjoy quantifiable problems that exercise their technical skills. Domain work is messy and demands a lot of complicated new knowledge that doesn’t seem to add to a computer scientist’s capabilities. Instead, the technical talent goes to work on elaborate frameworks, trying to solve domain problems with technology. Learning about and modeling the domain is left to others. Complexity in the heart of software has to be tackled head-on. To do otherwise is to risk irrelevance.”
“When we set out to write software, we never know enough.”
“The vital detail about the design is captured in the code. A well-written implementation should be transparent, revealing the model underlying it.”
“there should be some learning when a domain model is discussed.”
“The domain experts had learned more and had clarified the goal of the application.”
“Most talented developers do not have much interest in learning about the specific domain in which they are working, much less making a major commitment to expand their domain-modeling skills. Technical people enjoy quantifiable problems that exercise their technical skills.”
“Simple, informal UML diagrams can anchor a discussion.”
“Any technical person contributing to the model must spend some time touching the code, whatever primary role he or she plays
on the project. Anyone responsible for changing code must learn to express a model through the code. Every developer must be involved in some level of discussion about the model and have contact with domain experts. Those who contribute in different ways must consciously engage those who touch the code in a dynamic exchange of model ideas through the UBIQUITOUS LANGUAGE”
“The kind of knowledge captured in a model such as the PCB example goes beyond “find the nouns.”
“The gods do make playthings of us ... but it is we mortals who provide them with the tools.”
“Good was above all kind; it was to be gentle. It was to waste nothing. It was to paint, to read, to study, to listen.”
“You're going to get yourself into a lot of trouble."
"Why?"
"Because of her right there. Do you know what Daisy would do if you ever cheated on her."
"Move on to the next guy that told her she has nice tits."
"Okay, you're probably right on that one.”
“I say the same thing about the death of James Wait: "Oh, well - he wasn't going to write Beethoven's Ninth Symphony anyway." This wry comment on how little most of us were likely to accomplish in life, no matter how long we lived, isn't my own invention.”
“Seth trotted over to Kendra. Bringing good luck as usual
It was a weak pass okay”
BookQuoters is a community of passionate readers who enjoy sharing the most meaningful, memorable and interesting quotes from great books. As the world communicates more and more via texts, memes and sound bytes, short but profound quotes from books have become more relevant and important. For some of us a quote becomes a mantra, a goal or a philosophy by which we live. For all of us, quotes are a great way to remember a book and to carry with us the author’s best ideas.
We thoughtfully gather quotes from our favorite books, both classic and current, and choose the ones that are most thought-provoking. Each quote represents a book that is interesting, well written and has potential to enhance the reader’s life. We also accept submissions from our visitors and will select the quotes we feel are most appealing to the BookQuoters community.
Founded in 2023, BookQuoters has quickly become a large and vibrant community of people who share an affinity for books. Books are seen by some as a throwback to a previous world; conversely, gleaning the main ideas of a book via a quote or a quick summary is typical of the Information Age but is a habit disdained by some diehard readers. We feel that we have the best of both worlds at BookQuoters; we read books cover-to-cover but offer you some of the highlights. We hope you’ll join us.