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?
Jul 23 '05
822 29864
"Ioannis Vranos" <iv*@remove.thi s.grad.com> wrote in message
news:1110645475 .497596@athnrd0 2... There are compliance tests for C++ too.
True. However, I have never known a single DoD contractor
to require a validated C++ compiler. I have never heard of
a single DoD program manager who rquired a validated C++
compiler. If anyone did demand this level of rigor, there would
be far less C++ used by DoD contractors, but there might also
be some improvement, ultimately, in C++ compilers.
If someone chooses Ada for a military project, one of the first
questions from the program manager is, "Is the compiler validated?"
Ada is almost always held to a higher standard that we other
languages - and this is as it should be.
Still, when we hold one development environment (an Ada compiler)
to a higher standard, we need to understand that difference when
making comparions. It costs a great deal more money to produce
a compiler that must pass validation (now conformity) than to
create one in which the defects are intended to be discovered
by the users and fixed in some future release.
Richard Riehle
"Robert A Duff" <bo*****@shell0 1.TheWorld.com> wrote in message
news:wc******** *****@shell01.T heWorld.com... ...but of course there's a lot of market pressure to produce standard-conforming compilers, for those languages that have official standards (Ada, C, C++, Fortran, Cobol, etc).
Not Eiffel?
Richard Riehle ad******@sbcglo bal.net wrote: "Robert A Duff" <bo*****@shell0 1.TheWorld.com> wrote in message news:wc******** *****@shell01.T heWorld.com... ...but of course there's a lot of market pressure to produce standard-conforming compilers, for those languages that have official standards (Ada, C, C++, Fortran, Cobol, etc).
Not Eiffel?
TTBOMK, Eiffel doesn't have an official standard. If there was an ISO
standard, it would naturally fall under JTC1/SC22, but the ISO
JTC1/SC22 web site: http://www.open-std.org/jtc1/sc22/, doesn't mention
Eiffel anywhere.
Searching for Eiffel on the ANSI, ECMA and IEEE web sites fails to turn
up anything positive either -- ANSI and ECMA come up completely dry and
while IEEE cites a number of papers on Eiffel, none that I could find
looked like an official standard.
--
Later,
Jerry.
The universe is a figment of its own imagination.
Jerry Coffin wrote: ad******@sbcglo bal.net wrote:
"Robert A Duff" <bo*****@shell0 1.TheWorld.com> wrote in message news:wc****** *******@shell01 .TheWorld.com.. .
...but of course there's a lot of market pressure to produce standard-conforming compilers, for those languages that have official standards (Ada, C, C++, Fortran, Cobol, etc).
Not Eiffel?
TTBOMK, Eiffel doesn't have an official standard. If there was an ISO standard, it would naturally fall under JTC1/SC22, but the ISO JTC1/SC22 web site: http://www.open-std.org/jtc1/sc22/, doesn't mention Eiffel anywhere.
Searching for Eiffel on the ANSI, ECMA and IEEE web sites fails to turn up anything positive either -- ANSI and ECMA come up completely dry and while IEEE cites a number of papers on Eiffel, none that I could find looked like an official standard. http://www.eiffel-nice.org/standards/
Eiffel The Language 2nd Printing
Bertrand Meyer's book describes the Eiffel language, and was adopted by
NICE as the language standard.
--
Yermat
"Jerry Coffin" <jc*****@taeus. com> writes: ad******@sbcglo bal.net wrote: "Robert A Duff" <bo*****@shell0 1.TheWorld.com> wrote in message news:wc******** *****@shell01.T heWorld.com... ...but of course there's a lot of market pressure to produce standard-conforming compilers, for those languages that have official standards (Ada, C, C++, Fortran, Cobol, etc).
Not Eiffel?
TTBOMK, Eiffel doesn't have an official standard. If there was an ISO standard, it would naturally fall under JTC1/SC22, but the ISO JTC1/SC22 web site: http://www.open-std.org/jtc1/sc22/, doesn't mention Eiffel anywhere.
Searching for Eiffel on the ANSI, ECMA and IEEE web sites fails to turn up anything positive either -- ANSI and ECMA come up completely dry and while IEEE cites a number of papers on Eiffel, none that I could find looked like an official standard.
I think ECMA is working on an Eiffel standard.
See: http://www.ecma-international.org/memento/TC39-TG4.htm
- Bob az****@yahoo.es (Alberto) writes: "Dmitry A. Kazakov" <ma*****@dmit ry-kazakov.de> wrote in message news:<1l******* *************** ********@40tude .net>... But even then bounds checking is not needed for every access. Example:
procedure Dynamic (A : Some_Array) is subtype Index is Array_Index range A'Range; J : Index := A'First;
for I in A'Range loop A (I) := .. -- No checks ... J := I; end loop; A (J) := ... -- Still no checks
C++ completely lacks the notion of constrained subtypes which makes the above possible.
If Some_Array is any array supplied at run-time, how can the compiler know what values are stored in A'Range? (I mean, what the bounds of the array are) It *has* to check these bounds at run-time.
No, that's not correct. Some compilers can and do prove that I is
within the bounds of A, and therefore avoid generating any checking
code. Neither the array bounds, nor the value of I, need be known
at compile time.
In general, if *you* can prove something about a program, then it is
possible to teach a compiler to do so. Not necessarily *feasible*, but
*possible*. This is related to what Appel calls the "full employment
act for compiler writers" or some such -- no matter how smart a compiler
is, it's always possible to write a smarter one.
But in the above code, it is both possible and feasible to eliminate
*all* of the bounds checking. Thus, there's no need to suppress checks
on the above code. 2. C++ is unable to allocate objects of indefinite size on the stack.
Well, we have alloca() for this ;)
Is alloca part of the C++ standard? I thought not, but I could be
wrong. Anyway, alloca doesn't really do all that Ada can do in this
regard (avoiding heap usage for dynamic-sized things). In this case,
the Ada feature is both more efficient and safer than alloca.
- Bob
Ioannis Vranos <iv*@remove.thi s.grad.com> writes: Ioannis Vranos wrote:
Actually the Boost type that you are probably looking for is: "uint_value _t: The smallest built-in unsigned integral type that supports the given value as a maximum. The parameter should be a positive number." So the example becomes:
#include <boost/integer.hpp>
int main() { using namespace boost;
// Value range 0..16 uint_value_t<16 >::least my_var;
my_var= 9; }
This is the equivalent of 0..whatever. Myself thinks though that this whole range specialisation thing is non-sense for regular application programming at least.
Indeed. :-)
Ah, so Ioannis Vranos agrees with Ioannis Vranos here,
so it must be true? ;-)
Actually, integer subranges are quite useful. For example, in some
cases they allow the compiler to ensure (without any run time checking)
that the integer index into an array matches the bounds of that array.
Including in cases where the bounds are not known at compile time.
- Bob ad******@sbcglo bal.net wrote: Still, when we hold one development environment (an Ada compiler) to a higher standard, we need to understand that difference when making comparions. It costs a great deal more money to produce a compiler that must pass validation (now conformity) than to create one in which the defects are intended to be discovered by the users and fixed in some future release.
If one has a copy of the validation test suite, why is it necessary
to wait for the users to find the bugs? Is it that you have to pay
for the cost of fixing the bugs that the users would never encounter?
Paul
Robert A Duff wrote: Actually, integer subranges are quite useful. For example, in some cases they allow the compiler to ensure (without any run time checking) that the integer index into an array matches the bounds of that array. Including in cases where the bounds are not known at compile time.
OK, however as I have mentioned before, one can also provide this type
of guarantees in C++, without any run-time checks:
#include <vector>
int main()
{
using namespace std;
vector<int> intVector;
for(vector<int> ::size_type i=0; i<intVector.siz e(); ++i)
// ...
}
#include <vector>
int main()
{
using namespace std;
vector<int> intVector;
for(vector<int> ::const_iterato r p= intVector.begin ();
p!=intVector.en d(); ++p)
;// ...
}
// Not real value, for display purposes only
#include <algorithm>
#include <vector>
inline int doubleF(const int &arg) { return 2*arg; }
// ...
vector<int>some Array(10, 1);
// ...
transform( someArray.begin (), someArray.end() ,
someArray.begin (), doubleF );
etc.
--
Ioannis Vranos http://www23.brinkster.com/noicys
"Ioannis Vranos" <iv*@remove.thi s.grad.com> wrote in message
news:1110326720 .837893@athnrd0 2... It began as "C with classes", but this does not mean "it was designed for" that only.
And that is the unfortunate aspect of the language: its foundation on C.
I once heard Stroustrup confess that, if he had had his druthers, he would
not have started with C as the seed language.
Many of the original design ideas for C++ were abandoned to keep the
language more manageable. For example, delegation was an early idea
that failed to make it into the final design. Templates were not in the
C++ language until much later.
C++ continues to evolve, but much of that evolution seems to follow a
course of shoring up things already in the language that don't quite work
as one might prefer, or adding a truss here and a buttress there to
prevent or enable deficiencies in the language; e.g., cast-away const,
a truly silly addition to the language.
Finally, one must give credit and admiration to Dr. Stroustrup for the superb
work he did in leveraging a mediocre language such as C into a language
that has caught on with such a wide audience. One can only wonder, given
his genius, what a great language he might have created if he had not been
an AT&T employee, forced to start with C, those many years ago.
Richard Riehle This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: Mediocre Person |
last post by:
Well, after years of teaching grade 12 students c++, I've decided to
make a switch to Python.
Why?
* interactive mode for learning
* less fussing with edit - compile - link - run - debug - edit -
compile - link - run -.....
* lots of modules
* I was getting tired of teaching c++! Bored teacher = bad instruction.
|
by: Gabriel Zachmann |
last post by:
This post is not strictly Python-specific, still
I would like to learn other university teachers' opinion.
Currently, I'm teaching "introduction to OO programming" at the undergrad
level. My syllabus this semester consists of a bit of Python (as an example
of a scripting language) and C++ (as an example of a compiled language).
With C++, I go all the way up to meta-programming.
My question now is: do you think I should switch over to...
|
by: andy_irl |
last post by:
Hi there
I have been asked to teach HTML to a group in our local village
community. It is nothing too serious, just a community development
grant aided scheme. It will be a 10 week course of two hours per week
and will mainly consist of mature students. I may or may not include
GUI's depending if I can fit it all in to the time allocated.
I was wondering if anyone could point me to any useful teaching
resources for HTML on the web ie...
|
by: Pierre Senellart |
last post by:
I am going to teach a basic Web design course (fundamentals of HTML/CSS,
plus some basic client-side (JavaScript) and server-side (PHP, perhaps
XSLT) scripting). Most of the students do not have any previous knowledge
of all of this.
I am strongly considering teaching XHTML 1.0 Strict instead of HTML 4.01
strict, for the following reasons:
- XML syntax is far more simple to teach than HTML/SGML, simply because
there are not as many...
|
by: msnews.microsoft.com |
last post by:
I am teaching C# to my 11 year old child. One challenge is that all the C#
books I own and that I have seen in bookstores are full of language that is
not easily comprehended by a student at that age. Can anyone recommend
books (or perhaps websites) tuned for younger audiences?
BTW, its amazing how fast a student can absorb this kind of information at
that age. Lucky them!
Thanks, Bruce
| |
by: Richard Aubin |
last post by:
I'm really new to vb.net programming and programming in general.
I would like to teach myself on how to program effectively and I have the
financial and time resources to do so.
Can I anyone recommend and point me in the right direction where I should
start?
--
Richard Aubin
|
by: e.expelliarmus |
last post by:
check this out buddies. kool website for:
* hacking and anti hacking tricks
* anti hackng tricks.
* registry tweaks
* orkut tricks
* small virus
* computer tricks
and loads of different tricks...
www.realm-of-tricks.blogspot.com
www.registrydecoded.blogspot.com
|
by: JosAH |
last post by:
Greetings,
Introduction
This week's tip describes a few old tricks that are almost forgotten by most
people around here. Sometimes there's no need for these tricks anymore because
processors nowadays are so fast and memory comes in abundance. But still, if
we implement an algorithm that is better, or more efficient, than another one,
those faster processors run the first algorithm faster than the other one. If
an algorithm takes less...
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look !
Part I. Meaning of...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed.
This is as boiled down as I can make it.
Here is my compilation command:
g++-12 -std=c++20 -Wnarrowing bit_field.cpp
Here is the code in...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
| |
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own....
Now, this would greatly impact the work of software developers. The idea...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules.
He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms.
Adolph will...
|
by: conductexam |
last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one.
At the time of converting from word file to html my equations which are in the word document file was convert into image.
Globals.ThisAddIn.Application.ActiveDocument.Select();...
|
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
|
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
|
by: bsmnconsultancy |
last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...
| |