3 ms·
Programming languages are useful tools, but their purpose is to allow designs to be expressed in an executable form and not to aid your decision process. The d
by drallison 16y ago
Programming languages are useful tools, but their purpose is to allow designs to be expressed in an executable form and not to aid your decision process. The design pattern books (and a few others) abstract away the details of programs so that you can see the chassis and principles upon which it is built. They are sometimes helpful as you learn about systems structures. (For example, the Model-View-Control pattern is very common and useful, but it's in not always intuitive.)
Perhaps the most educational thing you can do is to choose a real project and write the user level documentation for it, and the use cases, the APIs and the unit tests: all before you begin to code.
Get other people to read your documentation and comment. If anyone can identify elements that are not needed, remove them. Don't worry much about implementation or optimization at this stage, worry about clarity and elegance of design.