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=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,763b126bf5276f4c X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news1.google.com!npeer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!border3.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsfeed01.chello.at!newsfeed.arcor.de!newsspool1.arcor-online.net!news.arcor.de.POSTED!not-for-mail Date: Wed, 29 Dec 2010 13:56:00 +0100 From: Georg Bauhaus User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.13) Gecko/20101129 Thunderbird/3.1.7 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Communications of ACM: Sir, Please Step Away from the ASR-33! References: <72b8fb96-2b5e-4ef8-8099-39361eeea853@glegroupsg2000goo.googlegroups.com> <878vzbwa61.fsf@hugsarin.sparre-andersen.dk> <8ns4v1Fk2dU1@mid.individual.net> <2vc8dxz8lc3t$.frc39a6lzjvt.dlg@40tude.net> <8ntp4kFo9qU1@mid.individual.net> <9cqhbxmdgs8x.nohduviggb5a$.dlg@40tude.net> <4d19c37f$0$7669$9b4e6d93@newsspool1.arcor-online.net> <1hd23hih9nr3v$.qzcce27pd1u1.dlg@40tude.net> <4d19e020$0$6885$9b4e6d93@newsspool2.arcor-online.net> <1sa8js3de7m9a.1u4v3u0e8fpvy$.dlg@40tude.net> <4d1a0531$0$6980$9b4e6d93@newsspool4.arcor-online.net> <1hok68cs370tc.1lt858ruxu3m5.dlg@40tude.net> In-Reply-To: <1hok68cs370tc.1lt858ruxu3m5.dlg@40tude.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Message-ID: <4d1b2fe1$0$7654$9b4e6d93@newsspool1.arcor-online.net> Organization: Arcor NNTP-Posting-Date: 29 Dec 2010 13:56:01 CET NNTP-Posting-Host: 88ca0ea6.newsspool1.arcor-online.net X-Trace: DXC=o07ojoEn6SB74okIm;?DS@ic==]BZ:afN4Fo<]lROoRA<`=YMgDjhgB9hGMMZkPF?Fnc\616M64>JLh>_cHTX3jM\6>mfMHmlXO X-Complaints-To: usenet-abuse@arcor.de Xref: g2news1.google.com comp.lang.ada:16221 Date: 2010-12-29T13:56:01+01:00 List-Id: On 12/28/10 5:26 PM, Dmitry A. Kazakov wrote: >> This is maintenance of a compiler/editor/... for a given language. >> I meant maintenance of Ada, the language. > > That is up to the compiler vendors, why should a programmer care? Doomed! We're doomed! I sincerely hope that language development is not just in the hand of compiler makers. That happened when C was created. > I don't buy this. Ada is higher level than UML. UML as a language is > untyped, Huh? > lacks abstraction, Pardon? > encapsulation L(N) packages, self-description, ... Or are you thinking about modeling tools that can transform one entire program to become a different program and the transformation is steered by some transformation processor? >> Programmers can be competent and still not know everything >> all the time. Competent programmers make mistakes, too, >> even when the job at hand is nothing new. > > They supposedly make no mistakes when connect arrows in UML? No, using tools, they will be guided in the direction the tool knows best. Just like an Ada compiler will instruct us to not leave out values in a case distinction. > In order to > make this point, you should tell more about readability, redundancy, > typing, early error detection, about the stuff UML obviously lacks. I'm not sure I should say this but you might want to bring your knowledge of UML up to date. Even StP went far to make sure your model was checked in all sorts of directions. >>> That >>> was your idea of a tool as a substitute for competence. >> >> I meant tools not as a substitute, but rather as a guide. > > Why the compiler cannot be a guide? The compiler is a guide where it "knows the area". But there are things that have no specific representation in a source program. Rather, you as a programmer have to infer them and the compiler cannot help. Such as collaboration schemes between objects, their order, etc. These associations, relations, etc. are not easily spotted, not in one place, in a source program. The compiler won't tell you. >>>> If UML notation captures much of your model >>> >>> The model of what, and what role plays the word "if" in this sentence. >> >> As outlined above, a model might capture which objects collaborate >> to achieve a certain effect (and no other objects are involved). > > Why an Ada program cannot capture this? A typical item that, I think, will be easier to express as a model element than to program in source text is a thing external to the program that influences the program's control structure: Being external, it has no direct counterpart in the programming language. If such a thing can be represented in model language (has a direct counterpart there), then the model seem easier to understand, the expression is still formal, and the mapping to some programming language construct can be chosen flexibly. Suppose there is a setup like the following: some external entity acts as a mutex controlling concurrent activities of co-operating "jobs". The jobs, in some heterogeneous system, run as separate processes. They signal states via a data store or file system or other means. State values are used to establishing order, the states signaling if and when some job may continue, for example, and how. Facade style entity descriptions should then suffice to express the idea. If I wanted to express the idea in Ada, I'd have to produce all kinds of types and interfaces with no purpose other than to satisfy the level of abstraction necessary for a suitably abstract model. (Of external control.) Isn't it easier to sketch the idea and later choose some mapping to Ada than to extract the idea from some specific, concrete, and elaborate rendition in source text? All the more when writing source text must not only lead to a program that runs as expected but must also meet the needs of abstract model construction (for documentation, maintenance views, ...) Also, when I start from the model, then I can change the Ada source without changing the model. (Since the model captures the general ideal in a formal way). This is what mappings should be good for. When I always start from Ada, from this or that choice of concrete representation, I will be re-iterating the thought process that drops implementation detail in order to arrive at the unchanged model idea.