From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29482 invoked by alias); 5 Jan 2003 00:37:58 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 29475 invoked from network); 5 Jan 2003 00:37:57 -0000 Received: from unknown (HELO nile.gnat.com) (205.232.38.5) by 209.249.29.67 with SMTP; 5 Jan 2003 00:37:57 -0000 Received: by nile.gnat.com (Postfix, from userid 338) id 4BA41F28C4; Sat, 4 Jan 2003 19:37:46 -0500 (EST) To: dewar@gnat.com, kth@srv.net Subject: Re: c++ "with" keyword Cc: gcc@gcc.gnu.org Message-Id: <20030105003746.4BA41F28C4@nile.gnat.com> Date: Sun, 05 Jan 2003 00:38:00 -0000 From: dewar@gnat.com (Robert Dewar) X-SW-Source: 2003-01/txt/msg00177.txt.bz2 > So, you are saying that nobody should be able to understand a hardcopy > printout of code on it's own. They should be required to examine it > inside of a GUI infested enviornment? As an old paper reader myself, I will say that it is hard to go back to paper once you are used to a competent browser. > Also, the clickie thingie will only work if it can parse the code, but > if I'm trying to get someone elses code to run on my *other-brand* > machine, and I have syntax errors, the GUI tools will probably not > be able to get their info until the syntax errors are gone, but I can't > get rid of the syntax errors if I can't figure out what the code is > supposed to do, which requires the tools, which ... Well again, it depends on the tools. GPS can operate with partial semantic information just fine. GNAT has an option to force generation of semantic information to the extent possible even if there are errors, and it works very nicely in practice in this situation. But remember that you are talking about your *own* code here. If you are using a library, and are deathly afraid of having to change your code for new versions (perhaps because you only read stuff on paper, and indeed you don't understand the code you are working with), then you may decide to write in a style without WITH (or its equivalents), or to keep all variable names very short. But if you are happy to use an environment in which the very unlikely case of WITH causing trouble could be easily fixed, then you may find that it is worth using to make your code more readable. And again, to play broken record, this entire discussion is about an issue that can perfectly well be left moot (= undecided, arguable), since the powerful argument against WITH that it is expressively unnecessary since there are better ways of doing the same thing already. The burden for a language change is always severe, you damage a language by adding a new feature (by making it more complex) so you have to be super sure that it is buying a gain that is *more* than this cost. In this case we have a proposed feature WITH that provides minimal gains at best and in addition has possible negatives. There is no way that the burden of a new feature is met in this case.