From ... Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.tele.dk!small.news.tele.dk!129.240.148.23!uio.no!nntp.uio.no!ifi.uio.no!not-for-mail From: Erik Naggum Newsgroups: comp.lang.lisp Subject: Re: How much use of CLOS? Date: 17 Oct 2002 03:59:01 +0000 Organization: Naggum Software, Oslo, Norway Lines: 22 Message-ID: <3243815941615814@naggum.no> References: <3243682277893587@naggum.no> <3243735416407529@naggum.no> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: maud.ifi.uio.no 1034827142 23845 129.240.65.5 (17 Oct 2002 03:59:02 GMT) X-Complaints-To: abuse@ifi.uio.no NNTP-Posting-Date: 17 Oct 2002 03:59:02 GMT Mail-Copies-To: never User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 Xref: archiver1.google.com comp.lang.lisp:44117 * Peter Seibel | Or is it just that you *start* with generic functions and then defclass | the classes that you end up needing? In my view and experience, the best OO design focuses on what you want to do, and the classes fall naturally out of the design. If you start with the classes, the apparently strong desire to design the intrinsically perfect class hierarchy can ruin the entire project. Encapsulation and methods are two orthogonal dimensions that are extremely hard to get right at the same time before you have some experience with how the design works. That CLOS does not force you to encapsulate the methods with the types is a major aspect to my ability to "think design" directly in CLOS. After the design has been worked out in this way, it can be documented and discussed and revised. Some would call this prototyping, but that appears to me to be an unhealthy state of mind, the intent to throw it away is too clear. -- Erik Naggum, Oslo, Norway Act from reason, and failure makes you rethink and study harder. Act from faith, and failure makes you blame someone and push harder.