From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 12 Apr 92 18:19:02 GMT From: widget!jgg@uunet.uu.net (Xmiester) Subject: Re: Ada multitasking with X-windows Message-ID: <1992Apr12.181902.4917@widget!uunet.uu.net> List-Id: dwb@IMD.Sterling.COM (David Boyd) writes: [... read earilier news posts on comp.windows.x to get the preliminaries ...] > > And the government wants to know why developing X applications >in Ada costs so much!! > Compared to what? Who has been doing this complaining? I've been searching for this information, but have yet been able to find any. >I am old enough to remember the tail end of JOVIAL >(a previous government developed language) and someone asking us to develop >bindings between our FORTRAN libraries and JOVIAL. The problems were very >similar and the solutions equally ugly in many cases and JOVIAL was not as >different from FORTRAN as Ada is from C. > The currently available commercial Ada/Motif bindings can hardly be called ugly. They are as clean (or cleaner) than the C interface with stronger type checking. (Can you say "pragma External" ?) > > The solution is for someone to >completely re-implement not only the X library and intrinsics with a >design geared toward Ada but the GUIs libraries (OLIT & MOTIF) as well. > I hardly believe this is a cost effective solution. The answer is *NOT* to re-invent a *better* wheel w/o a justification for the cost. The majority of Ada projects can deal with non-reentrant X/Xt/Motif libs. It just requires knowledge and good design to do it right. I suggest that a better spent dollar is in the training of Ada engineers on the issues and how to deal with them effectively from an engineering standpoint. (It's surprising how many Ada programmer's I meet who write multi-tasking software, but don't understand the issues involved in writing re-entrant code, providing tasking-safe data structures, or real-time software in general). I've been involved in the proposed design for an Ada widget set. It ended up coming surprisingly close to the Xt single inheritance model minus the added features of Xt/Motif such as the event translation manager, keyboard traversal, etc... (due to $$$ considerations :-) (BTW, the Ada9X inheritance proposal is a near duplicate of the Xt single inheritance model -- It's how we've done it for years in a more formalized definition, that's all). Not that I'm saying the Xt inheritance model is *great* but it's how you do it by hand in a language which doesn't support inheritance. (ie. it's optimally sufficient) MOTTO: Do not what has been done, but understand it and use it. -- John Goodsen goodsenj@ajpo.sei.cmu.edu -- John Goodsen goodsenj@ajpo.sei.cmu.edu