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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,267eec8ad557a7d0 X-Google-Attributes: gid103376,public From: smize@Starbase.NeoSoft.COM (Samuel Mize) Subject: Re: ARIANE-5 Failure (DC-X works) Date: 1996/06/12 Message-ID: <4plpqn$ko5@Starbase.NeoSoft.COM> X-Deja-AN: 159751650 references: <834097751.22632.0@assen.demon.co.uk> <4pg9gj$ohs@Starbase.NeoSoft.COM> organization: NeoSoft, Inc. +1 713 968 5800 newsgroups: comp.lang.ada Date: 1996-06-12T00:00:00+00:00 List-Id: ** I have extracted and rearranged some of Mr. Dewar's paragraphs ** ** to fit my response. ** In article , Robert Dewar wrote: >Samuel says > >MatrixX isn't a language. > >It's a tool that uses a graphical notation, including some standard >graphical notation for math. You can think of it as a 4GL for >scientific calculation." > >Of course it is a language, any notation is a language. OK, get happy. I should have said that it isn't a general-purpose programming language. Strictly speaking, MatrixX isn't a language, it RUNS the language. >The people writing this *are* programmers, they are programming. I'll concede this point for the DC-X. It's irrelevant to my point whether we say that MatrixX generates a program from a math notation, or wheter we say that writing the math notation is programming. It's relevant to your point, which I'll address below. My point was just to describe the flavor of MatrixX. Using MatrixX is more alien to programming in a third-generation language than using Ada is to programming in Assembly. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >The use of very high level languages is a very important advance in >proramming technology, one that has been very slow in coming, but the >notion that somehow this eliminates the need for programming of >programmers is absurd and likely to lead to bad decisions. >...The rhetoric about >not needing programmers or programming any more was common as Fortran >was introduced And was equally stupid at the time. I agree with you. MatrixX does not obviate programmers or programming. In a limited domain, it can generate a program from a description of a desired result -- a description that I wouldn't consider a program, and that perhaps you would (see next point). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >The people writing this *are* programmers, they are programming. There is >no difference between a program and an executable specification. In fact >that's all a program is -- a specification of what needs to be done with >a method for automatic translation into a machine that does the task. Your definition misses a subtle distinction. I can't define it formally. I think most of us view programmers as people who tell a system HOW to do something. The MatrixX user identifies WHAT to compute, but not HOW. This distinction is a lot clearer in word-processing. Computer-based word processing was once a form of programming. Remember nroff/troff? You had statements to change margins, turn bold text on/off, etc. I don't think anyone would say that using MacWrite is programming, but you're certainly entering a specification of what needs to be done -- in this case, what needs to be printed -- and giving it to a "compiler" to translate it into a machine (program+hardware+data) that does the task. In fact, on the typical Mac, it translates this user "language" into a postscript program, to be run on the LaserWriter. You can call that programming, but it isn't a useful definition, and it isn't the way most people define programming. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >And if the people who write the MatrixX code don't maintain it, who does? The people who write the MatrixX (math specifications) maintain them. They just don't maintain the generated Ada. They regenerate it as needed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >In fact if this generated code >is not maintained or looked at, there is absolutely no reason for it >to be in Ada, and no particular advantage in it being in Ada. UNLESS your generated code will be integrated into a larger system, and the larger system is written in Ada. (As we're doing where I work.) In this case, it's easier to combine everything if it's all Ada, and the Ada can be used on several platforms without modification. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >In particular, people often thing the Ada mandate is being obeyed if the >generated code from such a tool is Ada. I don't recall anyone saying that DC-X used MatrixX due to the Mandate. I agree that such an attitude is stupid. I would never suggest using MatrixX just to stay within the Mandate. Depending on what you're doing with it, I'd argue that a code-generator requires a waiver, even if it spits out Ada If you want to start a discussion about idiotic code generator ideas, you will find me on your side. I'm thinking in particular of some of the "AI in Ada" presentations I've seen, where an expert system engine is built in Ada, then the expert system is coded in the expert system engine's source language. They claim they're doing AI work in Ada. Feh. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >The trouble is that the assumption tends to be that the mere fact that >something is written in a 4GL means that these criteria are met, when >the reality is that a lot of 4GL code is low level junk written in >totally inappropriate, ill-though out languages. I feel this is an inappropriate statement in this thread, unless you have some evidence that the use of MatrixX in the DC-X program is one of those cases. It's as if we were specifically discussing Ada, and someone said that the problem with most third-generation languages is that they don't including tasking and strong typing. Please start a new thread on this topic, so I can agree with you. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Samuel Mize