Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!samsung!uunet!mcsun!corton!ilog!davis From: davis@sun4-64.ilog.fr (Harley Davis) Newsgroups: comp.lang.clos Subject: Re: CLOS Private Methods Message-ID: Date: 27 Jun 91 08:51:56 GMT References: <20905@sdcc6.ucsd.edu> <1991Jun24.040141.27435@Think.COM> <1991Jun26.202149.1346@ircam.fr> Sender: usenet@ilog.fr Organization: ILOG S.A., Gentilly, France Lines: 29 In-reply-to: jack@ircam.fr's message of 26 Jun 91 20:21:49 GMT In article <1991Jun26.202149.1346@ircam.fr> jack@ircam.fr writes: An "Object Oriented system without any information hiding" !? That seems quite strange (coming from other object systems) ! (Except if you think of CLOS as an assembly language to make higher-level languages) Getting a good style takes a lot of years with a "good" language. It takes even more with "bad" languages. Remember the difference between programs written in Basic and programs written in PASCAL. What about teaching lisp with "goto" instructions instead of structured loops? Perhaps it seems strange coming from C++. However, with a few exceptions, Lisp-based object systems are typically considered mechanisms for building abstractions. Information hiding is provided by orthogonal facilities which work for the non-object-oriented parts of the language. In CommonLisp, this is done with packages. In EuLisp and Le-Lisp, this is done with modules. So I don't think this depends on a view of Lisp as an assembly language, and even if you take this view, which has some merit, the analogy needn't be extended to using GOTOs instead of structured programming features. -- Harley Davis -- ------------------------------------------------------------------------------ nom: Harley Davis ILOG S.A. net: davis@ilog.fr 2 Avenue Gallie'ni, BP 85 tel: (33 1) 46 63 66 66 94253 Gentilly Cedex, France