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.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,b19fa62fdce575f9 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 1994-12-05 21:21:04 PST Newsgroups: comp.lang.ada Path: bga.com!news.sprintlink.net!howland.reston.ans.net!ix.netcom.com!netcomsv!netcomsv!telesoft!kst From: kst@alsys.com (Keith Thompson) Subject: Re: Why don't large companies use Ada? Message-ID: Originator: kst@pulsar Sender: news@alsys.com (USENET News Admin @flash) Organization: Alsys, San Diego, CA, USA References: <3bcntp$dgj@gnat.cs.nyu.edu> <3bmb4r$9kc@gnat.cs.nyu.edu> <3bo4il$3lb@felix.seas.gwu.edu> <3btgfs$m8c@felix.seas.gwu.edu> Date: Tue, 6 Dec 1994 03:29:19 GMT Date: 1994-12-06T03:29:19+00:00 List-Id: In <3btgfs$m8c@felix.seas.gwu.edu> mfeldman@seas.gwu.edu (Michael Feldman) writes: > Don't take this personally, but the "all you should..." attitude is, in > my experience, quite typical of computer folks who don't understand, or > don't want to understand, what it takes to get a customer to buy. > They don't focus on making it easy for the customer, by _really_ > understanding the customer's needs and mentality. I don't (fully) understand, but I'd like to; that's why I'm posting. > >This should > >be only a small fraction of the effort required to interface to Fortran > >(for Ada, matching the types and writing the Interface pragmas; for > >PL/I, ???). Could it be that the engineers were using this as an excuse > >to stick with Fortran, or am I missing something? > > You hit the nail right on the head. Of course they were using it as an > excuse. And IBM apparently did not understand the extent to which non- > technical considerations affect a choice of language. So an estimate of the actual impact should be based, not on the total number of engineers who rejected PL/I because of the indexing problem, but on the subset of that total who wouldn't have found some other excuse to reject it. (I don't suppose anyone has any figures on this. 8-)}) > In my experience, interfacing between languages - certainly for the > kind of fairly simple vector/matrix interfaces the typical Fortranner > would use (the _subprograms_ aren't simple but the _interfaces_ > tend to be) - is, to a very large extent,a matter of getting the > data structures to agree. I don't understand your "small fraction" > assertion. Interfacing is the easy part. I'm assuming that the bulk of the effort is simply learning the other language; interfacing PL/I to Fortran isn't even an issue if you're unwilling to use PL/I in the first place. For an engineer who isn't primarily a programmer, but who has learned to use Fortran as an engineering tool, learning another programming language (PL/I, Ada, C, whatever) could be a significant obstacle, regardless of how smoothly the two languages can be interfaced. The problem (I'm guessing) isn't just "it indexes arrays backwards", but "it isn't Fortran". (No offense to engineers; I'd rather run a Fortran program written by an engineer that drive across a bridge designed by a programmer 8-)}.) Hmm. How difficult (or possible) would it be to create an Ada "thick binding" interface to a Fortran library that handles the index swapping? I suppose it depends on the Fortran library. Presumably a solution that actually re-maps the arrays would be unacceptable due to performance problems. Has anyone ever looked into this possibility, though? Disclaimers: I've never used Fortran, beyond a few tiny test programs. I've heard about these big Fortran libraries, but I know very little about them. I've never used PL/I at all. I seldom use multidimensional arrays. I probably don't know what I'm talking about; if I did, I'd probably be on the other side of this discussion. > That Interfaces.Fortran and Pragma Convention exist in Ada 9X tells me > that _somebody_ is now taking this issue seriously. All the more support > for my assertion that we should have taken it seriously 10 years ago. I agree (I think) that adding these to Ada 9X is A Good Thing. Note that, since Convention is a representation pragma, compilers will be required to implement array re-mapping (transposition?) for type conversions: type Ada_Array is array(1 .. 100, 1 .. 100) of Float; type Fortran_Array is new Ada_Array; pragma Convention(Fortran, Fortran_Array); A: Ada_Array := ...; F: Fortran_Array := Fortran_Array(A); Implementers take note. -- Keith Thompson (The_Other_Keith) kst@alsys.com TeleSoft^H^H^H^H^H^H^H^H Alsys, Inc. 10251 Vista Sorrento Parkway, Suite 300, San Diego, CA, USA, 92121-2718 /user/kst/.signature: I/O error (core dumped)