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 Jan 93 15:42:30 GMT From: eachus@mitre-bedford.arpa (Robert I. Eachus) Subject: Re: First-Time C Message-ID: List-Id: In article <1993Jan11.210636.8396@gvl.unisys.com> garyp@rmtc.paramax.com (Gary Palangian [RMTC/ISP]) writes: > Our customer is probably going to make a decision to move from > Ada to C on my project... I find this statement very confusing... There are some projects, even very large projects, where progamming everything in Ada is appropriate. There are other projects, especially small projects, where doing everything in C makes sense. But I cannot imagine a project where switching from all Ada to all C makes any sort of sense. The most time and effort in an Ada project is in the design phase, the most time and effort in a C project is usually spent in integration and test. Switching from Ada to C would seem to guarentee the worst of both worlds. (It would be nice if design in C, code and test in Ada was the BEST of both worlds, but I don't think that free lunch exists.) > I would appreciate concise and concrete information for > managing large systems development using C, especially from those > with an Ada background. Don't, use Ada instead! (So much for concise and concrete. :-) If you need to do this for a large system, using Ada as a compilable design language has a lot of advantages, but you must both restrict the Ada used and maintain the design during the coding process. This works well but can cause personnel problems. Everyone ends up knowing both Ada and C if they didn't when the project started, and from experience unwilling to work on another C project. (Try spending a couple of years seeing all the advantages of Ada, but none of the disadvantages, and vice-versa for C. It's not fair, but that's the way one project I know of that did this ended up. This was back in 1984-86, when no compilers supported the chapter 13 features needed for a DBMS so it was a "right" decision.) The best of all possible worlds for your project, however, may be to mix Ada and C. Use Ada for the high-level design and structure, and whenever appropriate write the (function) bodies in C. This allows you to use the strengths of both languages which are in very different areas. (You will also find that most of the bugs are in the C code. For the most part this will be because the parts where C is most appropriate are the trickest routines to get right in any case...) Have fun, -- Robert I. Eachus with Standard_Disclaimer; use Standard_Disclaimer; function Message (Text: in Clever_Ideas) return Better_Ideas is...