From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,7f8fc37d854731d6 X-Google-Attributes: gid109fba,public X-Google-Thread: 114809,7f8fc37d854731d6 X-Google-Attributes: gid114809,public X-Google-Thread: 103376,7f8fc37d854731d6 X-Google-Attributes: gid103376,public X-Google-Thread: 1108a1,7f8fc37d854731d6 X-Google-Attributes: gid1108a1,public From: piercarl@sabi.demon.co.uk (Piercarlo Grandi) Subject: Re: Interesting but sensitive topic to discuss (HELP: - OOP and CASE tools) Date: 1996/11/28 Message-ID: #1/1 X-Deja-AN: 201146140 x-nntp-posting-host: sabi.demon.co.uk x-disclaimer: Contents reflect my personal views only references: <32813322.41C6@kyebek3.kjist.ac.kr> <55pqr5$136a@grimsel.zurich.ibm.com> <3288C52E.455E@rase.com> content-type: text/plain; charset=US-ASCII mime-version: 1.0 (generated by tm-edit 7.94) newsgroups: comp.object,comp.lang.c++,comp.lang.ada,comp.lang.smalltalk Date: 1996-11-28T00:00:00+00:00 List-Id: >>> "snowballinfo" == Snowball writes: snowballinfo> Robert C. Martin wrote: Robert> Objects execute inside computers. I would say that they can be stored; given that most OO systems are not actor based, the idea that objects "execute" lacks generality. Robert> They take up memory space and CPU cycles. Usually but not always... Robert> Classes are source code. Never; they are linguistic constructs, often represented as source code (but not always: for example in Smalltalk-80 there is no source code representation for classes, only printed, displayed and reified representations). There is an interesting section in Bjarne's Stroustrup's "The design and evolution of C++" on decoupling languages from their textual representation as source code as a possible evolution of C++, on page 207, with title "Beyond files and Syntax": " A C++ program contains a wealth of information that in a typical environment is available only to a compiler. I want that information at the programmer's fingertips. However, most people look at a C++ programs as a set of source files or as a string of characters. That is to confuse the representation with what is represented. A program is a collection of types, functions, statements, etc. To fit traditional programming environments, these concepts are represented as characters in files. Basing C++ implementations on character oriented tools has been a major impediment to progress. [ ... much more ... ]" I personally sympathize with the sentiment, but after many years I have become persuaded that there is no hope of easy interchange except in text files, and that easy interchange is of such paramount importance that it overrides even the desires to have the representation of a program in a more directly structural form than a stream of characters. Robert> They specify the objects and create a structure from which the Robert> objects are created. snowballinfo> This is true for C++ and some other languages, however for snowballinfo> Smalltalk Classes are objects which take up memory space snowballinfo> (and sometimes CPU cycles). Well, surely not in Smalltalk-80, which is arguably the ``classic'' Smalltalk that most people have heard of; which is the Smalltalk dialect you are thinking of in which classes are objects, instead of being merely represented by objects as in Smalltalk-80? Can it still be called ``Smalltalk''? After all that classes are not objects and that the two concepts are very distinct is one of the major design decisions of Smalltalk-80 (in the early versions of PARC Smalltalk the distinction was, arguably, not that sharp).