home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.lang.c++
- Path: sparky!uunet!munnari.oz.au!metro!extro.ucc.su.OZ.AU!maxtal
- From: maxtal@extro.ucc.su.OZ.AU (John MAX Skaller)
- Subject: Re: Handling of operator . pro
- Message-ID: <1992Aug13.014043.20561@ucc.su.OZ.AU>
- Sender: news@ucc.su.OZ.AU
- Nntp-Posting-Host: extro.ucc.su.oz.au
- Organization: MAXTAL P/L C/- University Computing Centre, Sydney
- References: <memo.565691@cix.compulink.co.uk> <9222523.7061@mulga.cs.mu.OZ.AU>
- Date: Thu, 13 Aug 1992 01:40:43 GMT
- Lines: 82
-
- In article <9222523.7061@mulga.cs.mu.OZ.AU> fjh@munta.cs.mu.OZ.AU (Fergus James HENDERSON) writes:
- >vadim@cix.compulink.co.uk (Vadim Lebedev) writes:
- >>
- >>Exactly!!! That IS the reason i want them to be implemented ONCE by the
- >>language implementor, and not MULTIPLE times by compiler users.
- >
- >There is more than ONE language implementor...
- >OK, there are more programmers than compiler writers :-)
-
- Untrue in a reflexive language. *Everyone* is a compiler
- extender :-)
- >
- >If the language becomes too complex, then "simply knowing the language"
- >becomes a non-simple task. On the other hand if some feature has been
- >coded using the facilities of a simple language, the maintainer can
- >SEE how it works, by reading the code.
-
- Not necessarily. COBOL for example is divided into modules
- and levels, allowing predefined subsets and optional modules.
- You could learn COBOL wiithout using the Report Writer, for example.
- The learn the report writer later.
-
- C++ tends not to be like this for two reasons:
-
- 1) Complexity due to compatibility with C
- 2) Bjarne tries to get as much as possible out of the
- single idea of classes.
-
- And this shows that C++ is basically C with a single new concept,
- namely classes. There are two other extensions, templates
- and exceptions. Templates are under-developed, and exceptions
- are not implementable at the moment.
- >
- >The ideal is to have a language that is simple but powerful and extensible.
- >This is the idea behind using standard library i/o functions rather than
- >special builtins, overloading rathern than printf %-specifiers, etc.
-
- Yes. To make C++ simpler, try this:
-
- Throw out float.
- Throw out operators.
-
- Now devise a mechanism to put them back in via a 'library'.
- Now you have user defined syntax and support for arbitrary
- primitive types.
-
- Whatever you want to extend---throw it out first.
- >
- >Often it is not clear whether you should use a feature until after you
- >have learnt it, so this is difficult.
-
- True.
- >
- >Also you have to learn the advanced feature every time you are maintaining
- >code that used it, even if that code could have been written using only
- >simpler features.
-
- I'm not so sure. Why is it harder to learn a properly conceived
- language facility than to learn someones emulation of that facility
- in reams of code? Sure you can read the code and deduce what it does,
- but you are basically saying language manual writers ought to
- write their manuals in C not english.
-
- [BTW: I sometimes think this!]
- >
- >I shouldn't have said PL/1 (I have never learnt that language, I was just
- >repeating what I have heard and read). Instead I should have said C++ :-)
- >
-
- Some people complain about complexity of learning C++.
- Bull. They have not traded off the advantages as compared to C.
- You try re-writing some of your C++ programs in C :-)
- If you're any good at this, please apply to AT&T, they are looking
- for a version of 'cfront' that works :-)
-
-
-
- --
- ;----------------------------------------------------------------------
- JOHN (MAX) SKALLER, maxtal@extro.ucc.su.oz.au
- Maxtal Pty Ltd, 6 MacKay St ASHFIELD, NSW 2131, AUSTRALIA
- ;--------------- SCIENTIFIC AND ENGINEERING SOFTWARE ------------------
-