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=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,e7151167e0767ecc X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news1.google.com!news.glorb.com!border1.nntp.dca.giganews.com!nntp.giganews.com!atl-c02.usenetserver.com!chi1.usenetserver.com!news.usenetserver.com!snoopy.risq.qc.ca!nf3.bellglobal.com!nf1.bellglobal.com!nf2.bellglobal.com!news20.bellglobal.com.POSTED!not-for-mail From: "Warren W. Gay VE3WWG" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax) X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Feasibility of using Ada in new development References: <8429999a.0408231027.2850e800@posting.google.com> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: <2VoXc.22622$_H5.678390@news20.bellglobal.com> Date: Thu, 26 Aug 2004 13:17:22 -0400 NNTP-Posting-Host: 198.96.223.163 X-Complaints-To: abuse@sympatico.ca X-Trace: news20.bellglobal.com 1093540542 198.96.223.163 (Thu, 26 Aug 2004 13:15:42 EDT) NNTP-Posting-Date: Thu, 26 Aug 2004 13:15:42 EDT Organization: Bell Sympatico Xref: g2news1.google.com comp.lang.ada:3037 Date: 2004-08-26T13:17:22-04:00 List-Id: Luke A. Guest wrote: > On Mon, 23 Aug 2004 11:27:05 -0700, Robert Law wrote: >>I want to use a language that meets the following criteria: >> >>1. It must be reliable. >>2. It must be supported. >>3. It must be usuable to develop applications in a graphical >>environment. Basically Motif, GTK, or KDE. I believe Ada delivers on all three, but point #3 is a bit of a weak point as I see it. But that aside, I can say that after 15+ years of doing C, and later C++ programming, I found myself pining for something better. In the 80's, I did a few years in a PL/I subset, which at the time felt "about right". And later, growing weary of C/C++, found myself wishing for something similar. Ada was suggested and after taking some time to learn it, I began to love it. It won't be the right answer to everything (for example Postscript fills its special role well), but I find that it works rather well for most things. I think it is great for Open Sourced projects where hobby time is limited (especially for married folks with children etc.), because of all of the static and type checking done at compile time. I spend an order of magnitude less time doing debugging. C and C++ required the opposite experience: easy to compile but many design flaws and mysterious bugs to debug. Despite the 15+ years of experience of learning where to be careful in C/C++, on a large project you almost always end up hitting a strange bug eventually that takes enormous time to solve (corruption, memory leaks etc.) Memory tools etc. help, but I find there is no substitute to the compiler helping you out up front. The Ada95 model force you also to reconsider the coupling of program components, and elaboration order. Many other languages are quite happy to share many external (global) elements, and not worry about elaboration order etc. To sum up, Ada is great in my mind. Where I see a weakness is making Ada packages portable to many platforms (I don't think this is as easy as it could be). I also think that since we live predominantly in a C language O/S environment, it gets tiresome if you have to write bindings and/or interfaces to O/S interfaces (where no Ada bindings exist). But this depends a lot on the nature of the project. Many projects may not have this difficulty. However, on the balance sheet I would still favour Ada for the time it saves me in design. Most important to me: Ada95 brings joy back to programming, since most of the time you can write your programs with the application design in mind. Another way to say this is that you express your algorithm in terms that a programmer would want to use. C/C++/Java/C# However, force you to work in terms of the implementation: for example, mapping the application array bounds to the natural language bounds (0 to n-1 vs low_bound..high_bound). If you love writing software, I think Ada is the way to go. If you just want to get the job done, YMMV. If you are supporting the end product, Ada may server you better as well in the long run. Anyway, that is just my $0.02 take on it. -- Warren W. Gay VE3WWG http://home.cogeco.ca/~ve3wwg