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=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,1e3f2eac5c026e3 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-12-28 11:48:00 PST Path: archiver1.google.com!news2.google.com!fu-berlin.de!uni-berlin.de!dialin-145-254-043-247.arcor-ip.NET!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Other Ada Standards (was Re: SIGada Conference) Date: Sun, 28 Dec 2003 20:54:03 +0100 Organization: At home Message-ID: References: <468D78E4EE5C6A4093A4C00F29DF513D04B82B08@VS2.hdi.tvcabo> <3FEA5C82.8050309@noplace.com> <3FEB047A.1040100@noplace.com> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: dialin-145-254-043-247.arcor-ip.net (145.254.43.247) Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7Bit X-Trace: news.uni-berlin.de 1072640878 15338700 145.254.43.247 ([77047]) User-Agent: KNode/0.7.2 Xref: archiver1.google.com comp.lang.ada:3897 Date: 2003-12-28T20:54:03+01:00 List-Id: Georg Bauhaus wrote: > Dmitry A. Kazakov wrote: > : Or with getting rid of with clauses at all, as Robert Duff mentioned in > : passing! I never liked them. How about that? > > That is what has been driving me up the wall when debugging > Java classes. The author liked a particular feature of the > IDE that popped up a menu of methods applicable to an object > if either the import list names the package, or if the fully > qualified named was there, > (type top.mid.Something.>.) > Result: occurences of top.mid.Somthing.meth(...) everywhere > and _not_ top.mid.Something in the import list. > > So, by just looking at the import list, nothing was known > about the dependences, because they were sprinkeled all over the > sources, and therfore implicit. You are arguing against use-haters. I am not one. I am a with-hater! (:-)) > Can a good IDE help in this case? Not much I guess. To what extent can > it help when the source code cannot be compiled? I imagine that an > IDE might need error correction at an extreme AI guessing level so to > speak, in order to be helpful. True, the IDE argument is ultimately wrong. Wich also means that - why should I worry about with A.B.C.D; use A.B.C.D;, I have a good editor! - is also wrong. One can automate only typing, not reading. > Should a programming language depend on an IDE? Never > There have been some extensions to Oberon-2, one being related to > concurrency, http://bluebottle.ethz.ch/languagereport/node3.html > AFAICS, if a maintainer wants to find the "concurrency structure" > of a an Active Oberon program, he/she will have to make a search > for some keywords embedded in type definitions, and prodecure > definitions. (That is, it looks more like > > type T is > program text > program text > protected > program text > end T; > > rather than > > protected type T is > program text > program text > program text > end T; > > The first variant might look quite flexible as you only have to add > some keyword like {ACTIVE} or {EXCLUSIVE} (for protected etc) after > some BEGIN. To a reader this might look like you can add concurrency > ad hoc. Or you might just switch some cuncurrency feature off for > a procedure by removing a keyword. But then this is ad hoc design, > not easy to spot, and somehow feels not well structured, as it > buries the concurrency indicators in type definitions or procedure > implementations. It might allow some clever tricks syntaxwise. > But do you want this kind of cleverness attitude expressed in > Ada programs? It is a difficult question, active objects, I mean. I would definitely like task types being like any others, and to have multiple inheritance too. Provided that, one could easily mix-in "activeness" to a type, for good and for bad. > Omitting with clauses might to have similar effects on design, I think. I find "with"-ing boring. I cannot remember any case they helped me to solve any problem. Rather, the opposite, it is sometimes difficult to with everything you need. Moreover careless designers tend to "with" everything they can. I am suspicious, whether others are doing it too, but just removing extra with's afterwards! (:-)) The only use of "with" I found, was debugging. Without a good debugger I added "with Text_IO;", and used Text_IO.Put_Line. When ready, I removed "with Text_IO;", and could find all appearances of debug printing by compiler error messages. -- Regards, Dmitry A. Kazakov www.dmitry-kazakov.de