eberard@ajpo.sei.cmu.edu (Edward Berard) (02/22/89)
Occasionally, there are postings to various news groups about how awful it is that many people are forced to use Ada. I think that some of these posters would be surprised to know that a majority of Ada users worldwide use Ada because they want to, not because of any mandate. For example, in Europe much more than 50% of the money spent on Ada software is spent by those who have no mandate to use Ada, i.e., they are free to use any technology they wish. Here, in the U.S., I have a significant number of clients who use Ada by choice. Further, they have no connection with the government -- direct or indirect. Some of these clients are implementing real-time systems, others are creating large number-crunching applications, and still others are doing classic business applications. (I have several stories about how these people were able to sell Ada technology internally on its own merits.) Often, commercial users of Ada technology do not come to Ada meetings, or they may come only occasionally. Several, are forbidden by their management to inform the world of their Ada efforts because management does not want the competition to know what is happening. One of the more prominent myths about technology is that if a technology is truly worthwhile that it will be automatically recognized as such, and that users will flock to it in droves. Tell that to Galileo who was threatened because he said the earth revolved around the sun, or to Pasteur and Lister who suggested that infections were the result of ``invisible'' organisms, and had to fight for acceptance. Yes, it is unfortunate that the U.S. Department of Defense had to mandate a technology. However, that does not mean that the mandated technology is without merit. [On another note: Have you noticed how many vendors of Ada technology are totally incapable of selling their technology to anyone who does not have the a gun (i.e., a DoD mandate) held to their head? It is just possible that the technology can stand on its own merits.] -- Ed Berard (301) 695-6960
rjh@cs.purdue.EDU (Bob Hathaway) (02/28/89)
In article <470@ajpo.sei.cmu.edu>, eberard@ajpo.sei.cmu.edu (Edward Berard) writes: >of these posters would be surprised to know that a majority of Ada >users worldwide use Ada because they want to, not because of any >mandate. For example, in Europe much more than 50% of the money spent >on Ada software is spent by those who have no mandate to use Ada, >i.e., they are free to use any technology they wish. > I decided Ada was the best language after independently studying programming for some time in school. I had to use C and Pascal in coursework and after some asking, Modula-2. So, I was mandated to use alternative languages although I strongly desired and asked to program in Ada. I'm glad to see someone (the government) advocating modern programming languages along with software engineering; the more support the better. Bob Hathaway rjh@purdue.edu
ofut@hubcap.UUCP (A. Jeff Offutt) (03/02/89)
From article <6125@medusa.cs.purdue.edu>, by rjh@cs.purdue.EDU (Bob Hathaway): > ... I'm glad to see someone (the government) advocating modern > programming languages along with software engineering; the more support > the better. C'mon, be careful what you say. As a scientist/engineer, I do not want anybody *mandating* the use of technology without clear *technical* proof that that is in every case the best solution. Whether you are an Ada fan, a Modula-II fan, a C fan or even open-minded, it is very clear that the scientific community is not convinced that Ada (or any language) is the best technology for all applications. Or for any application. -- Jeff Offutt Department of CS, Clemson University, Clemson SC (803) 656-5866 Internet: ofut@hubcap.clemson.edu
rjh@cs.purdue.EDU (Bob Hathaway) (03/03/89)
In article <4624@hubcap.UUCP>, ofut@hubcap.UUCP (A. Jeff Offutt) writes: > From article <6125@medusa.cs.purdue.edu>, by rjh@cs.purdue.EDU (Bob Hathaway): > > ... I'm glad to see someone (the government) advocating modern > > programming languages along with software engineering; the more support > > the better. > > C'mon, be careful what you say. As a scientist/engineer, I do not want > anybody *mandating* the use of technology without clear *technical* proof > that that is in every case the best solution. > > Whether you are an Ada fan, a Modula-II fan, a C fan or even open-minded, > it is very clear that the scientific community is not convinced that > Ada (or any language) is the best technology for all applications. Or > for any application. ^^^^^^^^^^^^^^^^^^^^^^ > -- > Jeff Offutt Its not the language which is important its the facilities it provides. Does any of the above languages provide all of the necessary and desirable constructs to provide well designed software and a method for validating correct compilers? What other language provides concurrency, dynamic exception handling, generics, reasonable encapsulation constructs, Adts, complete control structures, variable number of parameters with defaults, etc; there are some languages which don't even provide the basics for well designed software such as a reasonable type system or dynamic memory management (ie. ForTran) or strong typechecking and choice of parameter modes (C), etc. Ada was designed to standardize software and it could replace almost any language with exceptions being rare. For scientific software, Ada provides Adts to model vectors, matrices, and other mathematical objects and operators can be overloaded to provide high quality code. Ada's methodolgy is an excellent base for well designed software; as a scientist/engineer what doesn't Ada provide for you? Even if other reasonably complete languages could be standardized and validated I wouldn't want to learn X number of languages to read other programmers code, the fewer languages the better. While research languages will continue to explore new ideas, it will be several years before another language replaces Ada. I can't think of any application Ada is poorly suited to with its emphasis on well engineered software, can you justify your underlined claim above? Bob Hathaway rjh@purdue.edu
raveling@vaxb.isi.edu (Paul Raveling) (03/04/89)
In article <6153@medusa.cs.purdue.edu> rjh@cs.purdue.EDU (Bob Hathaway) writes: >In article <4624@hubcap.UUCP>, ofut@hubcap.UUCP (A. Jeff Offutt) writes: >> >> C'mon, be careful what you say. As a scientist/engineer, I do not want >> anybody *mandating* the use of technology without clear *technical* proof >> that that is in every case the best solution. ... > >Its not the language which is important its the facilities it provides. >Does any of the above languages provide all of the necessary and desirable >constructs to provide well designed software and a method for validating >correct compilers? What other language provides concurrency, dynamic >exception handling, generics, reasonable encapsulation constructs, Adts, >complete control structures, variable number of parameters with defaults, ... >... Ada was designed to standardize software and it >could replace almost any language with exceptions being rare. Have you suggested that to a hard-core LISP user lately? Standardization is precisely the greatest danger of ADA, particularly because the DOD standard doesn't even permit extensions. If we accept the ADA standard we lose the option to improve as we learn better ways to approach software engineering. As for technical merit, there's plenty of room for argument. Much of it is in the realm of religion for now, but what's clear is that there's no clear agreement. Having written a compiler for an ADA subset, I know of a number of things I'd do differently in the language design if the opportunity existed. I'm not fond of ADA -- neither am I utterly pleased with C, FORTRAN, PL/I and relatives, ALGOL-60, COBOL, and gobs of other languages. Suppose somone designed a language provably better than these -- if we mandate an existing standard, such as ADA or C, we risk preserving a dinosaur at the expense of suffocating mammals. That's my usual comment about UNIX, but it also suits languages. ---------------- Paul Raveling Raveling@isi.edu
rjh@cs.purdue.EDU (Bob Hathaway) (03/05/89)
In article <6153@medusa.cs.purdue.edu> rjh@cs.purdue.EDU (Bob Hathaway) writes: >>... Ada was designed to standardize software and it >>could replace almost any language with exceptions being rare. In article <7682@venera.isi.edu>, raveling@vaxb.isi.edu (Paul Raveling) writes: > Have you suggested that to a hard-core LISP user lately? > > Standardization is precisely the greatest danger of ADA, > particularly because the DOD standard doesn't even permit > extensions. If we accept the ADA standard we lose the > option to improve as we learn better ways to approach > software engineering. A discussion on proposed extensions to Ada has been going on for a long time in comp.lang.ada, I'll assume you're replying from comp.software-eng. Several interesting ideas have emerged and I have hope the better ones will be adopted. > Suppose somone designed a language provably better than these -- > if we mandate an existing standard, such as ADA or C, we risk > preserving a dinosaur at the expense of suffocating mammals. > That's my usual comment about UNIX, but it also suits languages. In X years you may have a point, but by then the next best language will most likely replace Ada unless Ada keeps pace with extensions. But for now, lets at least upgrade the state of the practice to acceptable standards. Since most programs are written in 20+ year old languages (ForTran & LISP in the 50's, CoBOL & Pl1 & C in the 60's) we can begin building *new* software using state of the art techniques and continue to make upgrades in language design and techniques as often as necessary to ensure we maintain the highest standards in the software industry. As for keeping Ada state of the art, I'm sure the sei would like to hear your suggestions for better software design techniques and programming languages. Bob Hathaway rjh@purdue.edu
hsd@uvacs.cs.Virginia.EDU (Harry S. Delugach) (03/09/89)
In article <4624@hubcap.UUCP> ofut@hubcap.UUCP (A. Jeff Offutt) writes: > >C'mon, be careful what you say. As a scientist/engineer, I do not want >anybody *mandating* the use of technology without clear *technical* proof >that that is in every case the best solution. Can you give examples from any other field of engineering where there is clear technical proof that a particular method is, in every case, the best solution? I suspect that such a proof is impossible. > >Whether you are an Ada fan, a Modula-II fan, a C fan or even open-minded, >it is very clear that the scientific community is not convinced that >Ada (or any language) is the best technology for all applications. Or >for any application. Whoah! Those last two are completely different. Is Ada the best technology for all applications? Of course not. Who would have the unmitigated gall to say that it was? Is Ada the best languate for every application? Can you provide a proof? Can you prove that there is a better language than Ada for every single application? Easy enough, just start with a list of all possible applications, and then tell me for each one what the best language is. :-) My point is that these blanket statements about Ada are all too common. How about some discussion about application areas where Ada is clearly *not* the best language, or some other discussion about application areas where it is better (or at least, as good) as another language you would choose? For instance, there has been a lot of talk about Ada's inadequacies for real-time programs. What are those inadequacies, and what language is better at handling them? These are the kinds of questions I would like to see addressed in this discussion. -- Harry S. Delugach Dept. of Computer Science, Univ. of Virginia, Charlottesville, VA 22901 U.S.A. INTERNET: hsd@cs.virginia.edu BITNET: hsd2x@virginia UUCP: ..!uunet!virginia!uvacs!hsd CIS: 72727,2363
dougcc@csv.viccol.edu.au (Douglas Miller) (03/15/89)
In article <7682@venera.isi.edu>, raveling@vaxb.isi.edu (Paul Raveling) writes: > Standardization is precisely the greatest danger of ADA, > particularly because the DOD standard doesn't even permit > extensions. Even?! This is essential to maintain portability. > If we accept the ADA standard we lose the > option to improve as we learn better ways to approach > software engineering. We only give up the option to do software engineering research on our production software --- a good thing. > Suppose somone designed a language provably better than these -- > if we mandate an existing standard, such as ADA or C, we risk > preserving a dinosaur at the expense of suffocating mammals. If ADA is already a dinosaur, what does that make COBOL, a diatom? Come on, what about the real world? Surely it more important to stem the waste of squillions of person-years used to port software between language dialects. ADA is the only language that can currently do this due to the no subsets, no supersets policy. I don't believe anyone is suggesting that ADA should last forever. But it is a quantum leap over existing production languages, and should be adopted as the standard for developing production software, until research produces the next quantum leap. To quote rjh@cs.purdue.EDU (Bob Hathaway) in article <6153@medusa.cs.purdue.edu>: >Does any of the above languages provide all of the necessary and desirable >constructs to provide well designed software and a method for validating >correct compilers? What other language provides concurrency, dynamic >exception handling, generics, reasonable encapsulation constructs, Adts, >complete control structures, variable number of parameters with defaults, >... Ada was designed to standardize software and it >could replace almost any language with exceptions being rare. > That's my usual comment about UNIX, but it also suits languages. An operating system is a fundamentally different thing to a programming language. A programming language is much lower level --- this is where standards are really appropriate (analogy: no two models of motor car are (or should be) the same, yet many of the basic components conform to standards that enables a trained mechanic to do basic work on any car).
raveling@vaxb.isi.edu (Paul Raveling) (03/16/89)
In article <163@csv.viccol.edu.au> dougcc@csv.viccol.edu.au (Douglas Miller) writes: > >In article <7682@venera.isi.edu>, raveling@vaxb.isi.edu (Paul Raveling) writes: > >> Suppose somone designed a language provably better than these -- >> if we mandate an existing standard, such as ADA or C, we risk >> preserving a dinosaur at the expense of suffocating mammals. > >If ADA is already a dinosaur, what does that make COBOL, a diatom? Maybe a trilobite? Languages that DOD has adopted as standards to my knowledge are COBOL, JOVIAL, and ADA. Looking only at pre-ADA history, DOD's standards haven't exactly dominated the software engineering world on their own merits. I don't mean to pick on ADA specifically -- it's just that in my 26 years in computing people have kept learning how to do a better job at essentially EVERYTHING. One year's state of the art can be the trailing edge of technology after a couple more years pass. In the last 15 years or so though it's been MUCH harder to profit by that learning because the industry has had a heavy dose of standards. The bottom line is that I advocate "necessary and sufficient" standards, keeping them as limited as possible to enable reasonable software portability. If standards are small, software using them can expand by adaptive radiation; if standards are too comprehensive, software will be ecologically specialized. A currently important limit of specialization is the difficulty of building multi-process applications in a "standard" UNIX environment. > >> That's my usual comment about UNIX, but it also suits languages. > >An operating system is a fundamentally different thing to a programming >language. A programming language is much lower level --- this is where >standards are really appropriate (analogy: no two models of motor car are >(or should be) the same, yet many of the basic components conform to >standards that enables a trained mechanic to do basic work on any car). This is an interesting case to consider -- As a former OS builder, I tend to think of it in the opposite sense, with the OS being at a lower level. Typical OS interfaces semantically have a lot in common with abstract data types. In truth, it's something of a chicken-and-egg question and both views are correct in various ways. ---------------- Paul Raveling Raveling@isi.edu
karl@ficc.uu.net (karl lehenbauer) (03/16/89)
In article <7682@venera.isi.edu>, raveling@vaxb.isi.edu (Paul Raveling) writes: > Standardization is precisely the greatest danger of ADA, > particularly because the DOD standard doesn't even permit > extensions. If we accept the ADA standard we lose the > option to improve as we learn better ways to approach > software engineering. True enough, and the same can be said for all standards. They inhibit innovation to some degree, but provide the well-understood benefits of interoperability and a large user base. > Suppose somone designed a language provably better than these -- > if we mandate an existing standard, such as ADA or C, we risk > preserving a dinosaur at the expense of suffocating mammals. > That's my usual comment about UNIX, but it also suits languages. Let me know when you've got a portable (hence, potentially standard) operating system that's arguably better than Unix working. I'd like to have a look at it. Until then, you're simply complaining about something that's become a standard by virtue of its being the only one around that can do it, without offering a viable alternative. -- -- uunet!ficc!karl "An expression of deep worry and concern failed to -- karl@ficc.uu.net cross either of Zaphod's faces." -- Hitchiker's Guide