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,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,703c4f68db81387d X-Google-Thread: 109fba,703c4f68db81387d X-Google-Thread: 115aec,703c4f68db81387d X-Google-Thread: f43e6,703c4f68db81387d X-Google-Attributes: gid103376,gid109fba,gid115aec,gidf43e6,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news3.google.com!news.glorb.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local01.nntp.dca.giganews.com!nntp.comcast.com!news.comcast.com.POSTED!not-for-mail NNTP-Posting-Date: Sat, 05 Mar 2005 09:24:00 -0600 Date: Sat, 05 Mar 2005 10:24:19 -0500 From: Jeff C User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206) X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada,comp.lang.c++,comp.realtime,comp.software-eng Subject: Re: Teaching new tricks to an old dog (C++ -->Ada) References: <4229bad9$0$1019$afc38c87@news.optusnet.com.au> In-Reply-To: <4229bad9$0$1019$afc38c87@news.optusnet.com.au> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Message-ID: X-Trace: sv3-Fykst8Wow3fY4n0M+jBnHU34ls7zBogYxLUIMQpgPaHsfYkcuBqr7vjZXBVAaYag6RsxMzllHW/1NlY!uTFs3EPPEBeMq+CZARqUPQLReTu9GDwy02havT6xmMfayKdqmovo057BMMb/hg== X-Complaints-To: abuse@comcast.net X-DMCA-Complaints-To: dmca@comcast.net X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.32 Xref: g2news1.google.com comp.lang.ada:8647 comp.lang.c++:44162 comp.realtime:934 comp.software-eng:4465 Date: 2005-03-05T10:24:19-05:00 List-Id: Turamnvia Suouriviaskimatta wrote: > I 'm following various posting in "comp.lang.ada, comp.lang.c++ , > comp.realtime, comp.software-eng" groups regarding selection of a > programming language of C, C++ or Ada for safety critical real-time > applications. The majority of expert/people recommend Ada for safety > critical real-time applications. I've many years of experience in C/C++ (and > Delphi) but no Ada knowledge. > > May I ask if it is too difficult to move from C/C++ to Ada? > What is the best way of learning Ada for a C/C++ programmer? > > > This short tutorial appears to work quite well for C/C++ programmers I have used on my projects. www dot adahome dot com/Ammo/cpp2ada.html Note that everything at adahome is old and out of date since this website stopped updating many years ago. The front page of the website pretends to update every day by updating a date field so it tends to rank high on search engines (so I try to avoid linking to the website on a personal crusade to lower its rankings). www.adapower.com www.adaworld.com are to good jumping off points that are maintained. I still point to that tutorial for new staff though because for talented engineers it brings them up to speed very quickly. I have been working with Ada on real projects for many years now. (genererally Embedded, real-time, distributed processing mid sizes projects of about 100K SLOC). During that time I have had lots of different engineers come on and off projects. A few of them knew Ada. Most did not. In general, any (stated) a priori knowledge of Ada was not at all a good predictor of their usefulness to the projects. Talented engineers are productive in any environment where the tools are not garbage and the requirements are at least somewhat better than mud. Bad engineers write bad code in any language. This is true even after many years of being "professional" programmers. (For some fun read these two papers: http://www.paulgraham.com/gh.html http://www.paulgraham.com/pypar.html) Switching to a language where no one on the project has any experience IS however a risk. You can search through the literature and find plenty of examples of projects that failed (at least partly, and based on my previous comment perhaps not as much as the engineers would like to believe) because they were not familiar with the language (e.g. C++, Java, Ada) they selected. Whatever language you choose you should attempt have a champion or two on the project that has worked with it before. Perferably these people would actually be good at the language AND software design/architecture in general. Identifying these good engineers up front is left as an exercise for the reader. Realize that no language is a magic bullet that "solves" all problems. Finally, I recommend that after about 48/72 hours you put this thread in a kill file because I find it hard to believe that a cross-posted question like this is not going to turn into a flame fest.