Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!wuarchive!uunet!sdl.mdcbbs.com!alanb Newsgroups: comp.lang.c++ Subject: Re: c++ vs ada results Message-ID: <1991Jun24.115421.1@sdl.mdcbbs.com> From: alanb@sdl.mdcbbs.com Date: 24 Jun 91 11:54:21 BST References: <1991Jun18.041751.3740@netcom.COM> <1991Jun18.122812.18190@eua.ericsson.se> <1991Jun20.220947.23970@sctc.com> Organization: Shape Data Ltd. (McDonnell Douglas M&E, Cambridge UK) Nntp-Posting-Host: shapeg Nntp-Posting-User: alanb Lines: 56 In article <1991Jun20.220947.23970@sctc.com>, stachour@sctc.com (Paul Stachour) writes: > stevej@bnrmtl.bnr.ca (Steve Juneau) writes: >>|> In article <1991Jun18.220609.19103@netcom.COM> jls@netcom.COM (Jim Showalter) writes: > .... >>|> > (as captured in subsystem decomposition and subsystem interface specification), >>|> > each subsystem had a talented lead in charge of its implementation (but could >>|> > not alter the interfaces, which required an architectural decision), and >>|> > within each subsystem there was a team consisting of designers and programmers >>|> > (the designers designed package specs [class headers] and the programmers >>|> > implemented the bodies). It worked great... > .... >>Was all this achievable because you used Ada, or can have be done with >>any language? IMHO it can be done with any language. > > The question is not only CAN it be done, but can it be done "reaqsonably". > In Ada, the ENFORCEMENT of the specifications by the language gives me > belief that when the system has been compiled and linked, the interfaces > match. Sure, I could get that in FORTRAN with discipline, or in C > using function prototypes (still with discipline, cause my programmers > need to remember to write them and use them properly). But in Ada, > the discipline comes easy: You don't write the prototypes in the > specifications, you can't call the subroutine at all, let alone > calling it wrong. > > What Ada gives me is the means to provide reasonable, enforceable, > meaningful, interfaces. That's not available in any other widely > distributed and available-for-software-engineering of real-problems. > > Thus, in practice (as opposed to theory) the answer to your question > is: "No, it can't be done in 'just any language', but it can be done > in Ada." > > Yours, ...Paul > -- > Paul Stachour SCTC, 1210 W. County Rd E, Suite 100 > stachour@sctc.com Arden Hills, MN 55112 > [1]-(612) 482-7467 My ADA experience is limited to reading a couple of books and having an ex-girlfriend swearing at how often the compiler she was using crashed her machine, but C++ provides a lot more than C in terms of the discipline required to enforce use of function prototypes - if it's a member function, and you haven't included the class definition, you can't call it. And you get inheritance as well - I've seen a few papers/articles on using inheritance in ADA, and they all involved significant overhead, or loss of some of the type safety, or using the discipline that it's claimed ADA frees you from - writing in a language designed to support inheritance seems a lot easier. Of those, C++ seems the best compromise for a lot of work - I've not seen modula-3 though - anybody out there able to comment on it? (Of course the fact that it isn't widely known is one reason not to use it, but not overwhelming). alanb@sdl.mdcbbs.com Alan Braggins My own opinions etc.