From -8442369446574766688
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: f78e5,68893a751f6881d
X-Google-Attributes: gidf78e5,public
From: Heinz Kohl <kohl@informatik.uni-stuttgart.de>
Subject: Re Matt Austern: .. about C++ .. all is pretty!
Date: 1997/08/01
Message-ID: <33E1EDC9.4BC8@informatik.uni-stuttgart.de>#1/1
X-Deja-AN: 261438164
References: <01bc9345$1d940e40$d09eaec7@paul> <33D49F29.61ED@informatik.uni-stuttgart.de> <33D60D3F.167E@wizard.net> <33DC809A.1FC2@informatik.uni-stuttgart.de> <fxtafj5lscb.fsf@isolde.mti.sgi.com>
X-Original-Date: Fri, 01 Aug 1997 16:08:09 +0200
Originator: austern@isolde.mti.sgi.com
Organization: Comp.Center (RUS), U of Stuttgart, FRG
X-Auth: PGPMoose V1.1 PGP comp.std.c++ iQBVAwUBM+JtXEy4NqrwXLNJAQEB3QIAvz/QVl+LGOFoUEZRY+A9jLmEEaHD2bVu jjtElK5ixH8MMxxB1P54IFcPiDq6De+U6+JTTW1aRNJx79wwVC+yog== =mqln
Newsgroups: comp.std.c++


Matt Austern wrote:
> 
> That's not true.  The lifetime of temporary objects is not
> implementation defined, it is standardized.  It's described in section
> 12.2 of the draft C++ standard.
> ---
I really hope, the biggest bugs will disappear with the standard.
Looking at the draft at a glance, this seems to be the case in this
topic.
But as you say, up to now there's only a draft, not a standard.
But anyway, it's nice to see a problem disappearing in near future
(lets guess: anno Domini 2000), which took me some month of work
in the past.

But today i've fallen into a one of the usual silly pitfalls in C++:
typedef char x[40]; .. class z ..{ x y; z(x p) { y = p; .. } .. }
Do you see it? Naturally, y and p are totally incompatible,
compiler resignes at this point.

Up to now I've seen 4 C++-compilers. And all of them had the typical
random looking errorness that seems to be unavoidable for all bigger
C++ programs, like: 
- procedure parameter strictly pointing to the start of the
  memory cluster, not to the variable
- 'forgotten' procedure call (it took a half day for verification and
  a half day for changing the program without changing the semantics
  until it disappeared)
and so on and so on. None of this errors I've seen twice.
I think, there's no really hard tested feature of a C++ compiler,
that may not fail sporadic and without any reasonable cause.
The experienced C++ programmer I know said, it tooks him 50% of the
testing time to cope with compiler errors (the code warrior C++
compiler he's now using seems to be much better).

Other weaknesses seems to be typical for all the modern software:
e.g. misleading error messages up to 'internal compiler error' 
(the cause for the latter may be paging file exhausted)

Do you think, it will be possible to change C++ till working
like an ordinary computer language?
Let's really hope, the standard will do this job.

       (kohl@informatik.uni-stuttgart.de)
---
[ comp.std.c++ is moderated.  To submit articles: Try just posting with your 
                newsreader.  If that fails, use mailto:std-c++@ncar.ucar.edu
  comp.std.c++ FAQ: http://reality.sgi.com/austern/std-c++/faq.html
  Moderation policy: http://reality.sgi.com/austern/std-c++/policy.html
  Comments? mailto:std-c++-request@ncar.ucar.edu 
]



