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,30a7e825312b39d8 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news1.google.com!proxad.net!proxad.net!194.117.148.138.MISMATCH!pe2.news.blueyonder.co.uk!blueyonder!border2.nntp.ams.giganews.com!nntp.giganews.com!feeder.enertel.nl!nntpfeed-01.ops.asmr-01.energis-idc.net!131.211.141.196.MISMATCH!humbolt.nl.linux.org!news.nl.linux.org!transit.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Newsgroups: comp.lang.ada Date: Sun, 27 Feb 2005 18:00:29 +0100 From: Colin Paul Gloster Subject: Re: Software Engineering Ethics In-Reply-To: Message-ID: References: X-X-Sender: NULL@news1.news.xs4all.nl MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed NNTP-Posting-Host: 213.84.206.176 X-Trace: 1109523465 news.xs4all.nl 28991 [::ffff:213.84.206.176]:10368 X-Complaints-To: abuse@xs4all.nl Xref: g2news1.google.com comp.lang.ada:8516 Date: 2005-02-27T18:00:29+01:00 List-Id: On Sat, 8 Jan 2005, Jeffrey Carter wrote: "I've seen some ads for a position converting an Ada application to C++. [..] [..] Isn't anyone who takes this job automatically in breach of these principles?" In many cases, yes. I once met a lecturer who refused to lecture C++ due to his conscience. We often come up against resistance from people whose appreciation of the issues is almost non-existent... On 2005 February 9th Colin Paul Gloster sent to Person X: "[..] Colin Paul Gloster said: "I recommend RAVENSCAR instead." [..Person X] responded: " C is preferable for several reasons. To mention a few, the language is better known by the project members than ADA, the available code base for that platform in C is extensive while scarce in ADA and, last but not least, the ADA development tools for the Atmel microcontroller are unstable. Quoting some of the references about the GNAT compiler available for this target: "WARNING: This is still fairly experimental and only supports Ada 95 programming in an library less environment. A typical Ada run time system is practically non-existant (and will probably never be). You should look at the AVR-Ada project home page for more informations. The goal of the AVR-Ada project is make the gcc based Ada compiler GNAT available for the AVR microcontrollers. Although the compiler and the library have considerably improved in the last few months they still have some problems. Do not base a commercial project on this tool chain. Or if you do, do it at your own risk :-)." [..]" There are not however several good technical reasons to not use Ada, though I confess to not having been aware of AVR-Ada immaturity not least of all because I have not used tools targeting Atmel hardware yet. However, in fairness not everything from an Ada 95 runtime system is needed and today on AVR-Ada.Sourceforge.net/rts.html it is claimed: "GNAT Run Time System for AVR Only a few files from the run time library exist. See the directory rts/adainclude. Future versions of AVR-Ada should extend the possibilities of the provided RTS. This might include: * Ada exceptions. There is already support for setjmp/longjmp in AVR-libc, but I don't know how useful are exceptions in embedded systems. * simple tasking (like in the Ravenscar profile). This should probably be built on top of a small scheduler like AvrX. Don't count on anything appearing in the near future!" and if we compare like with like, exceptions are absent from C and even G++ for Atmel does not support exceptions ( WWW.NonGNU.org/avr-libc/user-manual/FAQ.html#faq_cplusplus ), and C does not have tasking but it is possible to get operating systems which can be used with C with tasking for Atmel microcontrollers. A colleague said to me on 2005 January 26th: "[..] how ever you should be carefull with the avr-c library since some of the functions might act a bit buggy. for example the printf functions isn't to be trusted. [..]" Unfortunately [.. a manager] said to me on 2005 February 7th that he would prefer that I do not use the "optimal" (his word) language but use C instead even though it is not planned that others write parts of the software which I am to write and even though documentation about C has not been submitted for Critical Design Review yet. So I will use C, but Ada is better and RAVENSCAR better still (but not yet available for Atmel). Colin Paul Gloster claimed: "UML is not good." [..Person X] responded: "[..] and for such purpose is widely used in the software industry practically as the standard approach." UML is a notation, not an approach. Popularity has little to do with perfection nor to checking whether a predecessor was superior and already mature. Not that it will be practical to use a formal specification language with people in the YES2 project, in your spare time please see e.g. "30 Things that go wrong in object modelling with UML 1.3", WWW.DCS.Shef.ac.UK/vt/publications/by_title/publications_3.html " Even the GNU C compiler (which instead of the commercial compilers, is to be used) has some problems, e.g.: HTTP://lists.GNU.org/archive/html/avr-gcc-list/2005-01/msg00195.html and is not ANSI C compliant; yet Person X had the cheek after 2005 February 9th to say to another manager that my preferred language's compiler is unstable (and to me that I ramble on).