ok@quintus.UUCP (Richard A. O'Keefe) (03/02/88)
In article <...>, tub!cabo (Carsten Bormann @ Technical University of Berlin) writes: > In article <694@cresswell.quintus.UUCP> ok@quintus.UUCP > (Richard A. O'Keefe) writes: > > C++ is the Fortran 8X of object-oriented languages. > What a piece of nonsense. > For the uninitiated: C++ is not an ``object-oriented language''. I'm ever so sorry, the correct term, taken from Stroustrup's book, is not "object-oriented". I was quite wrong. It is "object-BASED". Stroustrup says quite explicitly on the first page of the preface that 'the key concept in C++ is "class".' *** (my emphasis) If that doesn't entitle it to the description "object-oriented language", then Simula, Clascal, and various others aren't object-oriented either. When I said that C++ is the Fortran 8X of object-oriented languages, I meant that it consists of a lot of admirable features bolted on top of an earlier language which was intended for a different style of programming, and is not well suited to the new approach. Fortran 8X is just such an unhappy grafting of unlike languages (contra Carsten Bormann, Fortran 77 is NOT), which makes the comparison apt. Both Fortran 8X and C++ have as an explicit design constraint the inclusion of the older language as a subset (Fortran 77, again contra Bormann, does not have Fortran 66 as a subset). As for "comparing the position of C++ in the development of the C language to ... Fortran-77" as Bormann recommends, we can't do that, because we know what comes after Fortran-77 (namely 8X), and whatever will come after C++ hasn't done so yet. Getting back to the original topic, which was conformant array parameters, there seem to be three groups: 1. a small group of people saying "I've been wanting something like that" 2. a larger group of people saying "you don't need it" 3. an enormous group of people saying nothing at all. The question which occurs to me is this: how many people who have tried to write moderate-to-large numerical applications in C would belong to the second group if they were to speak up? The argument that it is too late to get such a feature into this version of ANSI C, and that its prior implementation in other languages doesn't count as "prior art" _for C_ has considerable force. If that's so, it's so. But what do the people who have experienced the need for some such feature say? How many people who have tried to translate one of the EISPACK or LINPACK routines into C dislike the conformant array parameter proposal?
mike@turing.UNM.EDU (Michael I. Bushnell) (03/03/88)
In article <719@cresswell.quintus.UUCP> ok@quintus.UUCP (Richard A. O'Keefe) writes: >In article <...>, tub!cabo (Carsten Bormann @ Technical University of Berlin) >> For the uninitiated: C++ is not an ``object-oriented language''. >I'm ever so sorry, the correct term, taken from Stroustrup's book, >is not "object-oriented". I was quite wrong. It is "object-BASED". >Stroustrup says quite explicitly on the first page of the preface >that 'the key concept in C++ is "class".' > *** (my emphasis) >If that doesn't entitle it to the description "object-oriented language", >then Simula, Clascal, and various others aren't object-oriented either. Actually there is a real difference between C++ and real OO languages: in C++ you have to type your variables. Because of this, message overloading isn't nearly as useful. In an object oriented language, just as in a value oriented language, variables are not typed in any way. Another important thing is that in the only fully object oriented language, smalltalk, note that *everything* is an object. Even the classes. In C++ there is no notion of a metaclass. This is also a problem with "Little Smalltalk." Michael I. Bushnell Internet: mike@turing.unm.edu UUCP: mike@turing.unm.edu Bitnet: mike@turing.unm.edu CSnet: mike@turing.unm.edu YourFavoriteNet: mike@turing.unm.edu Golly, don't domains make everything simpler? For peoply who run UUCP but haven't switched over to smail *yet*, you can try {ucbvax,gatech}!unmvax!turing!mike. Or write: {Box 295, Coronado Hall} or {Computer Science, Farris Engineering Center} University of New Mexico Albuquerque, NM 87131 Or call: (505)277- [2992=dorm][6116=work] I work for the CS department. But don't blame them.
henry@utzoo.uucp (Henry Spencer) (03/05/88)
> In an object oriented language, just as in a value oriented language, > variables are not typed in any way. What we have here is a religious argument over the semantics of the words "object oriented". Nobody is going to learn anything by continuing it. "My definition of 'object oriented' is better than yours, so there!" What is clear is that C++ has many of the advantages of languages like Smalltalk, plus compile-time type checking (i.e. compile-time error finding) and efficient execution. A potent combination, that. -- Those who do not understand Unix are | Henry Spencer @ U of Toronto Zoology condemned to reinvent it, poorly. | {allegra,ihnp4,decvax,utai}!utzoo!henry