* Joint Strike Fighter @ 2001-10-29 4:55 Richard Riehle 2001-10-29 11:11 ` Ian ` (4 more replies) 0 siblings, 5 replies; 56+ messages in thread From: Richard Riehle @ 2001-10-29 4:55 UTC (permalink / raw) Now that LMCO has been awarded the contract for JSF, does anyone know if the original plan to do the software in Ada remains unchanged? Richard Riehle ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-10-29 4:55 Joint Strike Fighter Richard Riehle @ 2001-10-29 11:11 ` Ian 2001-10-31 6:38 ` Richard Riehle 2001-10-29 15:02 ` Marin David Condic ` (3 subsequent siblings) 4 siblings, 1 reply; 56+ messages in thread From: Ian @ 2001-10-29 11:11 UTC (permalink / raw) Richard Riehle <richard@adaworks.com> wrote in message news:<3BDCE159.39F6D422@adaworks.com>... > Now that LMCO has been awarded the contract for > JSF, does anyone know if the original plan to do the > software in Ada remains unchanged? > [trawl?] > Richard Riehle I doubt this plan got very far. The current LMCO plan is to reuse most of the X-35 work in this new SDD phase. C++ code will be produced in 3 phases over 10.5 years. This is being amended for a 2008 introduction. The size estimate is 4 to 6 M SLOC. Where C++ will be rejected for certification reasons in flight critical boxes I expect Ada will be used. Either the theory that Ada has superior economics over the whole life-cycle process is wrong or somebody goofed up. It would be speculation to say who did. LMCO for getting their fingers burnt with Ada83 on the F-22, DoD pushing Faster, Cheaper, Better; or too many people demanding to be able to write C++. Ian ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-10-29 11:11 ` Ian @ 2001-10-31 6:38 ` Richard Riehle 2001-10-31 13:38 ` David Botton 2001-10-31 16:15 ` Wes Groleau 0 siblings, 2 replies; 56+ messages in thread From: Richard Riehle @ 2001-10-31 6:38 UTC (permalink / raw) Ian wrote: > Richard Riehle <richard@adaworks.com> wrote in message news:<3BDCE159.39F6D422@adaworks.com>... > > Now that LMCO has been awarded the contract for > > JSF, does anyone know if the original plan to do the > > software in Ada remains unchanged? > > > [trawl?] This may have seemed like a "trawl" but it was just an inquiry based on earlier information. > I doubt this plan got very far. The current LMCO plan is to reuse most > of the X-35 work in this new SDD phase. C++ code will be produced in 3 > phases over 10.5 years. This is being amended for a 2008 introduction. > The size estimate is 4 to 6 M SLOC. C++. It is really sad when a system that requires high reliability and dependability ends of being programmed in a language as brittle and error-prone as C++. > Where C++ will be rejected for certification reasons in flight > critical boxes I expect Ada will be used. That's somewhat comforting. > Either the theory that Ada has superior economics over the whole > life-cycle process is wrong or somebody goofed up. It would be > speculation to say who did. LMCO for getting their fingers burnt with > Ada83 on the F-22, DoD pushing Faster, Cheaper, Better; or too many > people demanding to be able to write C++. Economics over dependability? I know there are a lot of really bright software professionals at LMCO, most of them, in fact. The decision to use C++ no doubt has justification that we will never understand, especially those of us who know both Ada and C++ pretty well. I guess economics, in the long run, is an important factor. It is a little disappointing to see Ada eased out of yet another major DoD application -- and just as we are noticing an increase in interest in Ada among some of our better trained military officers. These things occur in cycles, I suppose. Recently, I noticed a project that is purported to be starting-up with Jovial as the intended implementation language. Of course, Jovial has an excellent track record for weapon systems design, so that makes some sense. Richard Riehle ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-10-31 6:38 ` Richard Riehle @ 2001-10-31 13:38 ` David Botton 2001-10-31 16:15 ` Wes Groleau 1 sibling, 0 replies; 56+ messages in thread From: David Botton @ 2001-10-31 13:38 UTC (permalink / raw) I don't think it is difficult to understand. They are thinking about their resumes not the project. The only way that will change will be when companies understand that the programming language is only of secondary importance to software engineering skills. I find it sad that almost any job offer I have seen on-line contains # of years programming in language X as a listed requirement where # of years of software engineering skill X would certainly be a better measure of ability. David Botton "Richard Riehle" <richard@adaworks.com> wrote in message news:3BDF9C6A.C25520C5@adaworks.com... > The decision > to use C++ no doubt has justification that we will never understand, ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-10-31 6:38 ` Richard Riehle 2001-10-31 13:38 ` David Botton @ 2001-10-31 16:15 ` Wes Groleau 2001-10-31 16:25 ` Marin David Condic 1 sibling, 1 reply; 56+ messages in thread From: Wes Groleau @ 2001-10-31 16:15 UTC (permalink / raw) Richard Riehle wrote: > software professionals at LMCO, most of them, in fact. The decision > to use C++ no doubt has justification that we will never understand, > especially those of us who know both Ada and C++ pretty well. I Perhaps it's "I need C++ on my resume, so I'll whip up a case for it. The decision-makers know nothing, so they'll buy it." -- Wes Groleau http://freepages.rootsweb.com/~wgroleau ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-10-31 16:15 ` Wes Groleau @ 2001-10-31 16:25 ` Marin David Condic 2001-11-01 4:44 ` JF Harrison 2001-11-01 11:38 ` Ian 0 siblings, 2 replies; 56+ messages in thread From: Marin David Condic @ 2001-10-31 16:25 UTC (permalink / raw) To be generous, there may be issues surrounding the availability of tools and utilities. There is a lot of stuff available for C++ that you might have a hard time duplicating in Ada. But I suspect that the decision is *highly* colored by the fact that C++ skills look better on a resume than Ada skills. MDC -- Marin David Condic Senior Software Engineer Pace Micro Technology Americas www.pacemicro.com Enabling the digital revolution e-Mail: marin.condic@pacemicro.com Web: http://www.mcondic.com/ "Wes Groleau" <wwgrol@sparc01.ftw.rsc.raytheon.com> wrote in message news:3BE023AB.8F235EF5@sparc01.ftw.rsc.raytheon.com... > > Perhaps it's > "I need C++ on my resume, so I'll whip up a case > for it. The decision-makers know nothing, so they'll > buy it." ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-10-31 16:25 ` Marin David Condic @ 2001-11-01 4:44 ` JF Harrison 2001-11-01 14:41 ` Marin David Condic ` (4 more replies) 2001-11-01 11:38 ` Ian 1 sibling, 5 replies; 56+ messages in thread From: JF Harrison @ 2001-11-01 4:44 UTC (permalink / raw) To: comp.lang.ada I am a software engineer at LMCO and have no interest in C++. I specifically applied for a job using Ada 95, coming out of the dot bomb arena. I think you are focusing on the wrong people in wondering why it has gone C++. Functional managers want things done a certain way, and they decide. If programmers newly hired dont even know what Ada is (I've met some like that), they aren't going to even have an opinion on the matter, much less feedback if asked. ( "Would you like a job programming in Ada?" - "Um, what's that?") And of course many younger employees want C++ because that is what they learned in school (in many cases) so that's their skill set, or, yes, they want to get paid to learn it in the first place, for job security and mobility. ----- Original Message ----- From: "Marin David Condic ]" <dont.bother.mcondic.auntie.spam@[acm.org> Newsgroups: comp.lang.ada To: <comp.lang.ada@ada.eu.org> Sent: Wednesday, October 31, 2001 8:25 AM Subject: Re: Joint Strike Fighter > To be generous, there may be issues surrounding the availability of tools > and utilities. There is a lot of stuff available for C++ that you might have > a hard time duplicating in Ada. > > But I suspect that the decision is *highly* colored by the fact that C++ > skills look better on a resume than Ada skills. > > MDC > -- > Marin David Condic > Senior Software Engineer > Pace Micro Technology Americas www.pacemicro.com > Enabling the digital revolution > e-Mail: marin.condic@pacemicro.com > Web: http://www.mcondic.com/ > > > "Wes Groleau" <wwgrol@sparc01.ftw.rsc.raytheon.com> wrote in message > news:3BE023AB.8F235EF5@sparc01.ftw.rsc.raytheon.com... > > > > Perhaps it's > > "I need C++ on my resume, so I'll whip up a case > > for it. The decision-makers know nothing, so they'll > > buy it." > > > > _______________________________________________ > comp.lang.ada mailing list > comp.lang.ada@ada.eu.org > http://ada.eu.org/mailman/listinfo/comp.lang.ada > ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-01 4:44 ` JF Harrison @ 2001-11-01 14:41 ` Marin David Condic 2001-11-03 16:58 ` Richard Riehle 2001-11-01 14:55 ` Ted Dennison ` (3 subsequent siblings) 4 siblings, 1 reply; 56+ messages in thread From: Marin David Condic @ 2001-11-01 14:41 UTC (permalink / raw) A lot of things go into the decision to move to C++. The techies may want it because it is what they know or what they want to know for career enhancement. Management may favor it because they figure its easier to hire people who know C++, it has the appearance of where the computer industry is going and "Nobody ever got fired for buying C++..." lemming mentality. The point being that there may be emotional, human, self-interest and business reasons that some companies/projects abandon Ada in favor of C++, but there are seldom any strong technical reasons for doing so. Hence, preserving and promoting Ada in more areas is going to have to address the same things. We've probably won the technical argument by now, but we have to also win the business and human-factors arguments as well. MDC -- Marin David Condic Senior Software Engineer Pace Micro Technology Americas www.pacemicro.com Enabling the digital revolution e-Mail: marin.condic@pacemicro.com Web: http://www.mcondic.com/ "JF Harrison" <madscientist@colulus.net> wrote in message news:mailman.1004589967.2606.comp.lang.ada@ada.eu.org... > I am a software engineer at LMCO and have no interest in C++. I > specifically applied for a job using Ada 95, coming out of the dot bomb > arena. I think you are focusing on the wrong people in wondering why it has > gone C++. Functional managers want things done a certain way, and they > decide. If programmers newly hired dont even know what Ada is (I've met > some like that), they aren't going to even have an opinion on the matter, > much less feedback if asked. ( "Would you like a job programming in Ada?" - > "Um, what's that?") And of course many younger employees want C++ because > that is what they learned in school (in many cases) so that's their skill > set, or, yes, they want to get paid to learn it in the first place, for job > security and mobility. > ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-01 14:41 ` Marin David Condic @ 2001-11-03 16:58 ` Richard Riehle 2001-11-03 18:52 ` Jeffrey Carter ` (2 more replies) 0 siblings, 3 replies; 56+ messages in thread From: Richard Riehle @ 2001-11-03 16:58 UTC (permalink / raw) Marin David Condic wrote: > A lot of things go into the decision to move to C++. The techies may want it > because it is what they know or what they want to know for career > enhancement. Management may favor it because they figure its easier to hire > people who know C++, it has the appearance of where the computer industry is > going and "Nobody ever got fired for buying C++..." lemming mentality. One of the most important benefits of C++ is that, once people have enough experience with it, it becomes obvious how inherently hideous it is. For those with a cursory knowledge of C++, or those whose experience with it is shallow, the language can look quite appealing. Only after wrestling with some of the more entertaining aspects of the language in the production of large-scale software does one begin to realize that it falls far short of what they enjoyed with Ada. I know former Ada software developers who are now engaged, by managment fiat, in using C++. They were at first full of enthusiasm for moving to a better resume-building language. They looked at the simple C++ class model and considered it easier to understand than Ada's package model. In those early stages, C++ seemed more accessible. Ahhhh, but "the devil is in the details." The more preceptive among them eventually discover that whoever said, "C++ is its own virus" was on to something. Unfortunately, once they have committed to a particular course of action, they are stuck with it. It is too late for "buyer's remorse" to sve them. I believe it was Thorsten Veblen who used the phrase, "Caveat Emptor," to describe this situation. It makes one wonder whether those who are willing to risk using C++ for a safety-critical project are "playing dice with the universe." Richard Riehle ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-03 16:58 ` Richard Riehle @ 2001-11-03 18:52 ` Jeffrey Carter 2001-11-05 15:30 ` Ted Dennison 2001-11-04 1:08 ` David Botton 2001-11-05 14:59 ` Marin David Condic 2 siblings, 1 reply; 56+ messages in thread From: Jeffrey Carter @ 2001-11-03 18:52 UTC (permalink / raw) Richard Riehle wrote: > > One of the most important benefits of C++ is that, once people have enough > experience with it, it becomes obvious how inherently hideous it is. That's an interesting use of "benefit". :) There is a column in ESP called "Programmer's Toolbox". The author used to present algorithms in Turbo Pascal; while I thought an ALGOL based pseudocode might have been a better choice, the results were generally easily understood, and I found the column interesting and sometimes useful. Then he changed to the then-current fad language, C++. I found the results difficult to understand. When he devoted 3 consecutive columns to the intricacies of redefining "=" (assignment), I stopped reading the column. That was also when I stopped thinking that C++ might have some redeeming social qualities. I think he eventually gave up C++ and is now using C, but with no improvement in clarity. As to language choice for large US defense contracts, in 26 years of professional software development, I have seen numerous such projects, and am acquainted with more through colleagues. They almost all seem to suffer from poor designs and poor implementations (too much code for the functionality). This seems to be the case despite the best efforts of competent software engineers on the projects. While I usually hesitate to ascribe to malice what may be due to incompetence, this effect is so widespread that I have to wonder. I note that only established large defense contractors can successfully bid on large defense contracts, and those contractors have many decades of experience with the government's understanding of software quality and its reaction to cost and schedule overruns. The contractors exist to make money, and the contracts are usually arranged so that the longer the contract takes, the more money the contractor makes. It may even be to the contractor's advantage to have the project fail (terminated by the customer before usable software is delivered). I have seen a contract in which the contractor received hundreds of millions of dollars before the contract was terminated. No failure ever seems to affect the contractors' ability to obtain new contracts. Such projects may be failures from the customer's point of view, but they are very successful from the contractor's. I thus propose that the contractors have a highly optimized technique for finding the saddle point for maximizing profits while not angering the government enough to not win future contracts. Poor designs and implementations take longer to finish and to get working properly. Poor language choice would seem to be another tool to the same end. -- Jeff Carter "I fart in your general direction." Monty Python & the Holy Grail ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-03 18:52 ` Jeffrey Carter @ 2001-11-05 15:30 ` Ted Dennison 2001-11-06 2:07 ` Jeffrey Carter 2001-11-06 16:46 ` Rex Reges 0 siblings, 2 replies; 56+ messages in thread From: Ted Dennison @ 2001-11-05 15:30 UTC (permalink / raw) In article <3BE43CDC.F6B1EE30@acm.org>, Jeffrey Carter says... >While I usually hesitate to ascribe to malice what may be due to >incompetence, this effect is so widespread that I have to wonder. I note >that only established large defense contractors can successfully bid on >large defense contracts, and those contractors have many decades of >experience with the government's understanding of software quality and >its reaction to cost and schedule overruns. The contractors exist to >make money, and the contracts are usually arranged so that the longer >the contract takes, the more money the contractor makes. It may even be For a while back when I worked for LMCO, the philosophy I heard floating around was "Price to win, work to cost." This basicly meant that the only real consideration in a bid was if it was low enough to win the contract. You will then essentially have engineering work until the money runs out and either the project is delivered, or you can no longer convince the agency to cough up more money. Making short-sighted budget decisions or whipping engineering are useful ways to convice the contracting agency that positive steps are being taken, and thus the end is in sight, if only a bit more money is provided. This is sort of a long-winded way of saying that it is in fact stupidity at work here. But its a sort of systemic stupidity that one could reasonably mistake with malice. What this has to do with Ada, I don't know. I suspect that's just a different manifestation of stupidity (or more accurately, ignorance). --- T.E.D. homepage - http://www.telepath.com/dennison/Ted/TED.html No trees were killed in the sending of this message. However a large number of electrons were terribly inconvenienced. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-05 15:30 ` Ted Dennison @ 2001-11-06 2:07 ` Jeffrey Carter 2001-11-06 16:46 ` Rex Reges 1 sibling, 0 replies; 56+ messages in thread From: Jeffrey Carter @ 2001-11-06 2:07 UTC (permalink / raw) Ted Dennison wrote: > > What this has to do with Ada, I don't know. I suspect that's just a different > manifestation of stupidity (or more accurately, ignorance). If choosing C++ (or another inappropriate language) can help squeeze more money out of the customer, and Ada doesn't, that is a reason for a contractor to make an inappropriate choice of language. -- Jeff Carter "My brain hurts!" Monty Python's Flying Circus ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-05 15:30 ` Ted Dennison 2001-11-06 2:07 ` Jeffrey Carter @ 2001-11-06 16:46 ` Rex Reges 2001-11-06 18:17 ` Marin David Condic ` (3 more replies) 1 sibling, 4 replies; 56+ messages in thread From: Rex Reges @ 2001-11-06 16:46 UTC (permalink / raw) Ted Dennison wrote: > > For a while back when I worked for LMCO, the philosophy I heard floating around > was "Price to win, work to cost." This basicly meant that the only real > consideration in a bid was if it was low enough to win the contract. You will > then essentially have engineering work until the money runs out and either the > project is delivered, or you can no longer convince the agency to cough up more > money. For military contracts, the more common scenario is that the project is replanned due to shifting politics or global events. Once the contract is won, then you sock the Government for big bucks to accomadate constantly shifting requirements, changing project funding profiles, etc. It's all cost plus. In the worst-case scenario, a project may come to an end and the Government's audit (FCA/PCA) discoveres that a bunch of requirements haven't been met and a bunch of work hasn't been completed. The big shots in the Pentagon aren't going to take a fall, so they accept things as delivered. When I worked for the Government, I would have been happy to get 50% of what the contract asked for! What about Ada? Like the Macintosh, Beta VCRs and the Vax, Ada's superiority is admired by those in the know. That matters squat to management who want to earn that multi-million dollar bonus that the Government offered the JSF winner for being staffed up upon Contract Award. If you need several hundred programmers tomorrow because you heard rumors (in Business Week) that you've won, then you take whatever you can get. I doubt that one could get several hundred Ada programmers in a pinch. I couldn't hire six experienced Ada contractors in six months! And try to get them to move to some tornado infested place like Oklahoma City (who knows what Fort Worth holds). Of course we could train C++ programmers. So we pay $75/hour for their time and send them to training too! And if you do, then you have inexperienced Ada programmers. It's not like Ada inhibits people from doing stupid things (like creating a C interpreter in Ada to get out of writing everything in Ada). What to do? I'm scrounging the junk heaps for a thrown out Vax to connect to my Mac so I can make Beta videos of Digital's fantastic Ada83 compiler at work:) Rex Reges ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-06 16:46 ` Rex Reges @ 2001-11-06 18:17 ` Marin David Condic 2001-11-06 19:07 ` Larry Kilgallen ` (2 subsequent siblings) 3 siblings, 0 replies; 56+ messages in thread From: Marin David Condic @ 2001-11-06 18:17 UTC (permalink / raw) If you presume that you're going to need people for more than a year, then the training cost is negligable. Hire smart people and then train them in the specifics of your tasks. Its nice to get people who are instant-experts in whatever your problem-space is, but the only people who *really* are, are the ones already at your desks. Beware of contractors claiming to be experts in your domain. :-) Another thing you need to consider is just how creative you can get with solving your personel problems. For reasons that are convoluted, arcane and probably more FUD than reality, companies are *very* reluctant to outsource custom software development. They will "outsource" it to the extent that it is a) a COTS product like MS-Word or b) it is part of some hardware deliverable (a test computer, an embedded system, etc.) You almost never hear of companies willing to go to an outside firm, spec out some software and then pay them to build it for them. (If you were willing to do that, I'd be able to find you a dozen or so Ada pros down here in Florida and form up a company just to do that work! :-) Some companies will "outsource" custom software to the extent that they hire "Consultants" to come into their office and write it for them. But basically when you strip away the BS, its essentially "Employees" that you don't give benefits and don't feel guilty about firing. So maybe you have to get creative in what you do with "Consultants" - redefine them to be "Employees" that you not only don't pay benefits and can fire easily, but they also don't have to be "on site" to do their job. Software can be done anywhere - maybe that's something to exploit? (Never understood why it all had to be done in Sillycon Valley - is that the only place in the country where the soil is right for growing Bits?) There is lots of Ada talent out there - just maybe not centered in the precise location one might want. Home-grow it, import it or take the work to where they are. MDC -- Marin David Condic Senior Software Engineer Pace Micro Technology Americas www.pacemicro.com Enabling the digital revolution e-Mail: marin.condic@pacemicro.com Web: http://www.mcondic.com/ "Rex Reges" <Rex.R.Reges@boeing.com> wrote in message news:3BE813E4.C4797DDE@reges.org... > > I doubt that one could get several hundred Ada programmers > in a pinch. I couldn't hire six experienced Ada > contractors in six months! And try to get them to move > to some tornado infested place like Oklahoma City (who knows > what Fort Worth holds). Of course we could train C++ > programmers. So we pay $75/hour for their time and send them > to training too! And if you do, then you have inexperienced > Ada programmers. It's not like Ada inhibits people from > doing stupid things (like creating a C interpreter in > Ada to get out of writing everything in Ada). > ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-06 16:46 ` Rex Reges 2001-11-06 18:17 ` Marin David Condic @ 2001-11-06 19:07 ` Larry Kilgallen 2001-11-06 21:19 ` Rex Reges 2001-11-08 13:53 ` Marc A. Criley 2001-11-09 15:35 ` Ted Dennison 3 siblings, 1 reply; 56+ messages in thread From: Larry Kilgallen @ 2001-11-06 19:07 UTC (permalink / raw) In article <3BE813E4.C4797DDE@reges.org>, Rex Reges <Rex.R.Reges@boeing.com> writes: > I doubt that one could get several hundred Ada programmers > in a pinch. I couldn't hire six experienced Ada > contractors in six months! And try to get them to move > to some tornado infested place like Oklahoma City (who knows > what Fort Worth holds). Of course we could train C++ > programmers. So we pay $75/hour for their time and send them > to training too! Is that the same price at which you could not hire Ada folk ? (For purposes of this discussion the exact amount does not matter, just the relationship.) ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-06 19:07 ` Larry Kilgallen @ 2001-11-06 21:19 ` Rex Reges 2001-11-06 23:01 ` Larry Kilgallen ` (3 more replies) 0 siblings, 4 replies; 56+ messages in thread From: Rex Reges @ 2001-11-06 21:19 UTC (permalink / raw) Larry Kilgallen wrote: > > In article <3BE813E4.C4797DDE@reges.org>, Rex Reges <Rex.R.Reges@boeing.com> writes: > > > I doubt that one could get several hundred Ada programmers > > in a pinch. I couldn't hire six experienced Ada > > contractors in six months! And try to get them to move > > to some tornado infested place like Oklahoma City (who knows > > what Fort Worth holds). Of course we could train C++ > > programmers. So we pay $75/hour for their time and send them > > to training too! > > Is that the same price at which you could not hire Ada folk ? > > (For purposes of this discussion the exact amount does not matter, > just the relationship.) Once you realize the best approach to cost-plus contracts is to honestly work as ineptly as possible, then you would hire the cheapest folks you can find that the Government will accept. So it appears I was wrong, the optimal solution is to hire C/C++ programmers and make them code in Ada with no training at all. Upon this conclusion, I can now make sense of the Ada coding practices I've seen: - Calling memmov instead of using unchecked_conversion. - Using 'Address to overlay variables (on the stack!). - Assigning all of the components of a record one at a time instead of using an aggregate assignment. - Using a preprocessor to add 15 variatons of the code (with overlapping conditions). - Making every subprogram a function. ... The hope is that Ada can still provide safety when coded in a C-like fasion. However, invariably, some wiz says that the run-time checks in Ada are too time consuming and they turn them off; exceptions and exception handlers are banned and type checking is assigned the role of matching engineering units (feet versus meters). Even trained Ada programmers have a hard time mapping Object Oriented concepts to Ada since all of the OO classes are taught in C++ (or no language as Rational prefers it). So you see aggregation being accomplished via child packages. How reusable is a component that is the 6th child of the 12th generation of the system object? And instead of using variant records it is easier to create a single class that every message in the system is derived from; imagine how many thousands of variations are required for variable length messages. But it easy to guess what the input or output of any component is, it is a "message.object" (to be defined at run-time). How are design patterns automatically applied to Ada objects? Maybe Ada was/is too much too soon, the world is not quite ready yet? Rex Reges ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-06 21:19 ` Rex Reges @ 2001-11-06 23:01 ` Larry Kilgallen 2001-11-08 14:55 ` Rex Reges ` (2 subsequent siblings) 3 siblings, 0 replies; 56+ messages in thread From: Larry Kilgallen @ 2001-11-06 23:01 UTC (permalink / raw) In article <3BE853FD.513040F@reges.org>, Rex Reges <Dogbert.EggsAndSpamWithoutTheSpam@reges.org> writes: > Upon this conclusion, I can now make sense of the Ada coding > practices I've seen: > - Assigning all of the components of a record one at > a time instead of using an aggregate assignment. It must be done separately if your design involves making two successive assignments to the same component and none to some other component. Foolish consistency is the hobgoblin of small minds. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-06 21:19 ` Rex Reges 2001-11-06 23:01 ` Larry Kilgallen @ 2001-11-08 14:55 ` Rex Reges [not found] ` <Wa+tfCvHgQXH@eisner.e <3BEA9CED.8C6BF839@reges.org> 2001-11-08 16:23 ` Larry Kilgallen 3 siblings, 0 replies; 56+ messages in thread From: Rex Reges @ 2001-11-08 14:55 UTC (permalink / raw) Larry Kilgallen wrote: > > In article <3BE853FD.513040F@reges.org>, Rex Reges <Dogbert.EggsAndSpamWithoutTheSpam@reges.org> writes: > > > Upon this conclusion, I can now make sense of the Ada coding > > practices I've seen: > > > - Assigning all of the components of a record one at > > a time instead of using an aggregate assignment. > > It must be done separately if your design involves making > two successive assignments to the same component and none > to some other component. > When reading code where every assignment is done on primitive components throughout, I find this reminiscent of writing a C program since C doesn't have an assignment operator for things like structures and arrays. Tedious, eh? You can use memmov, of course, but that has all sorts of dangers of its own. Generally, it is a good idea to make an aggregate assignment for a record, since any change in the record type will then cause a compiler error if some part of the code is not updated. I'm sure you are not suggesting that we eliminate this guideline, but rather allow exceptions. I've ran into a few myself: - Some structures are too big to even initialize with an aggregate assignment (a 128kB memory mapped device control areas, for example). - When frequently appending to the same variable structure by modifying the variant part is inefficient; it's better to expand the variable to the max expected size once, filling it with dummy data, and then overwrite the individual subcomponents one at a time. - If there is the possibility that a subcomponent is out of range, then you need individual assignments of the subcomponents to perform a constraint check. The constraint check is only required for the assignment operator and the constraint checks for a record assignment are only to verify the variant parts are in range. I've seen this happen when an ASCII string (Ada83) was read in with 8-bit characters in it (someone used the compose key to create a degree symbol). Another time, a floating point conversion routine didn't catch that the exponent was greater than the 255 max value since I set the entire floating point structure in a single aggregate assignment. I certainly can't disagree with you over this point! Rex Reges ^ permalink raw reply [flat|nested] 56+ messages in thread
[parent not found: <Wa+tfCvHgQXH@eisner.e <3BEA9CED.8C6BF839@reges.org>]
* Re: Joint Strike Fighter [not found] ` <Wa+tfCvHgQXH@eisner.e <3BEA9CED.8C6BF839@reges.org> @ 2001-11-08 15:43 ` Ian Wild 2001-11-08 22:18 ` Rex Reges 0 siblings, 1 reply; 56+ messages in thread From: Ian Wild @ 2001-11-08 15:43 UTC (permalink / raw) Rex Reges wrote: > > When reading code where every assignment is done on primitive > components throughout, I find this reminiscent of writing a > C program since C doesn't have an assignment operator for > things like structures and arrays. Tedious, eh? AFAIK structure assignment was added to C sometime in the late seventies. You really ought to upgrade your compiler. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-08 15:43 ` Ian Wild @ 2001-11-08 22:18 ` Rex Reges 2001-11-22 6:25 ` David Thompson 0 siblings, 1 reply; 56+ messages in thread From: Rex Reges @ 2001-11-08 22:18 UTC (permalink / raw) Ian Wild wrote: > > Rex Reges wrote: > > > > When reading code where every assignment is done on primitive > > components throughout, I find this reminiscent of writing a > > C program since C doesn't have an assignment operator for > > things like structures and arrays. Tedious, eh? > > AFAIK structure assignment was added to C sometime in the > late seventies. You really ought to upgrade your compiler. Hmmm, I must have missed that in my ANSI C manual. A function can return a structure, but I must have been using strmov and memmov for no good reason, eh? It's good to hear. Rex Reges ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-08 22:18 ` Rex Reges @ 2001-11-22 6:25 ` David Thompson 0 siblings, 0 replies; 56+ messages in thread From: David Thompson @ 2001-11-22 6:25 UTC (permalink / raw) Rex Reges <Dogbert.EggsAndSpamWithoutTheSpam@reges.org> wrote : > > > Ian Wild wrote: ... > > AFAIK structure assignment was added to C sometime in the > > late seventies. You really ought to upgrade your compiler. > > Hmmm, I must have missed that in my ANSI C manual. A function > can return a structure, but I must have been using strmov and > memmov for no good reason, eh? It's good to hear. > There is no strmov, and the str* C standard library routines are for strings (in C, consecutive memory bytes until a null character = code 0) and not appropriate for structs -- except the trivial case of a struct containing only a character array used as a string, and even then it would be better to apply the str* routines to the char array member not the struct. memcpy would be the normal untyped way of copying (assigning) any data type. memmove (with an e) is needed only if the source and target are or may be overlapped, which cannot normally occur for a struct type; the usual case is shifting text or arbitrary data around within a buffer. -- - David.Thompson 1 now at worldnet.att.net ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-06 21:19 ` Rex Reges ` (2 preceding siblings ...) [not found] ` <Wa+tfCvHgQXH@eisner.e <3BEA9CED.8C6BF839@reges.org> @ 2001-11-08 16:23 ` Larry Kilgallen 3 siblings, 0 replies; 56+ messages in thread From: Larry Kilgallen @ 2001-11-08 16:23 UTC (permalink / raw) In article <3BEA9CED.8C6BF839@reges.org>, Rex Reges <Dogbert.EggsAndSpamWithoutTheSpam@reges.org> writes: > Larry Kilgallen wrote: >> >> In article <3BE853FD.513040F@reges.org>, Rex Reges <Dogbert.EggsAndSpamWithoutTheSpam@reges.org> writes: >> >> > Upon this conclusion, I can now make sense of the Ada coding >> > practices I've seen: >> >> > - Assigning all of the components of a record one at >> > a time instead of using an aggregate assignment. >> >> It must be done separately if your design involves making >> two successive assignments to the same component and none >> to some other component. > Generally, it is a good idea to make an aggregate assignment > for a record, since any change in the record type will then > cause a compiler error if some part of the code is not > updated. I'm sure you are not suggesting that we eliminate > this guideline, but rather allow exceptions. I've ran into Actually I was not even exceptions. I merely made another (failed) attempt at an implicit ":-)". When will I learn :-) > this guideline, but rather allow exceptions. I've ran into > a few myself: > > - Some structures are too big to even initialize with an > aggregate assignment (a 128kB memory mapped device control > areas, for example). That seems like a compiler limitation, which ultimately should be corrected. > - When frequently appending to the same variable structure > by modifying the variant part is inefficient; it's better > to expand the variable to the max expected size once, > filling it with dummy data, and then overwrite the > individual subcomponents one at a time. There must be a way compilers could do that better. Granted I generally don't do speed-critical work, but I prefer something that is more foolproof even if slightly slower. > - If there is the possibility that a subcomponent is > out of range, then you need individual assignments of > the subcomponents to perform a constraint check. The > constraint check is only required for the assignment > operator and the constraint checks for a record assignment > are only to verify the variant parts are in range. I've I would have guessed creation of the record aggregate would have done constraint checking. I gather my guess would have been wrong. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-06 16:46 ` Rex Reges 2001-11-06 18:17 ` Marin David Condic 2001-11-06 19:07 ` Larry Kilgallen @ 2001-11-08 13:53 ` Marc A. Criley 2001-11-08 22:15 ` Rex Reges 2001-11-09 15:35 ` Ted Dennison 3 siblings, 1 reply; 56+ messages in thread From: Marc A. Criley @ 2001-11-08 13:53 UTC (permalink / raw) Rex Reges wrote: > > For military contracts, the more common scenario is > that the project is replanned due to shifting politics > or global events. Once the contract is won, then you > sock the Government for big bucks to accomadate constantly > shifting requirements, changing project funding profiles, > etc. It's all cost plus. I hardly consider it "socking the Government" to charge them for the time and resources required to accommodate their changing requirements. If the customer asked for a price to provide capability X, and after accepting that bid change their requirements to X' + Y, and there's a cost increase involved--well, who else is supposed to pay for it? And if they initially order 1000 widgets in the first year's production run, then stretch that out to 250 widgets across four years, of course there's going to be a per-widget cost increase. Again, is the manufacturer supposed to just eat that difference, because their customer (and Congress) have a fixation on short-term costs? > > In the worst-case scenario, a project may come to an > end and the Government's audit (FCA/PCA) discoveres that > a bunch of requirements haven't been met and a bunch > of work hasn't been completed. The big shots in the > Pentagon aren't going to take a fall, so they accept > things as delivered. When I worked for the Government, > I would have been happy to get 50% of what the contract > asked for! If it's not until the end of the program that the government discovers there are significant unfulfilled requirements, then the government's contract manager(s) should be canned. This is incompetence nearly on the level of malfeasance. Even if the contractor insists "trust us, we'll meet the requirements and you don't need all that expensive oversight", the contract manager would be a fool to just say, "Yup, okay!" Good, proven contractors may have earned the priviledge of "light" oversight, but never none! In almost 20 years of software development, I've never been involved with a project that would blithely fail to meet the project's requirements and be indifferent to such an occurrence. From projects of a few millions to hundreds of millions of dollars, when there were cost and requirements problems, we made sure the customer knew about it and jointly hammered out a new plan. Sometimes requirements were dropped or modified, sometimes the company ate the difference, and yes, sometimes the government expended more funds. Marc A. Criley Senior Staff Engineer Quadrus Corporation www.quadruscorp.com ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-08 13:53 ` Marc A. Criley @ 2001-11-08 22:15 ` Rex Reges 2001-11-09 12:44 ` Marc A. Criley 0 siblings, 1 reply; 56+ messages in thread From: Rex Reges @ 2001-11-08 22:15 UTC (permalink / raw) "Marc A. Criley" wrote: > > > In almost 20 years of software development, I've never been involved > with a project that would blithely fail to meet the project's > requirements and be indifferent to such an occurrence. From projects of > a few millions to hundreds of millions of dollars, when there were cost > and requirements problems, we made sure the customer knew about it and > jointly hammered out a new plan. Sometimes requirements were dropped or > modified, sometimes the company ate the difference, and yes, sometimes > the government expended more funds. > The Government has tried lots of ways to fix its procurement methods: cost plus award fee, cost plus incentive fee, etc. The best solution is just to hire reputable folks like yourself, which is amazingly hard to do! Rex Reges ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-08 22:15 ` Rex Reges @ 2001-11-09 12:44 ` Marc A. Criley 2001-11-09 15:41 ` Ted Dennison 0 siblings, 1 reply; 56+ messages in thread From: Marc A. Criley @ 2001-11-09 12:44 UTC (permalink / raw) Rex Reges wrote: > > "Marc A. Criley" wrote: > > > > > > In almost 20 years of software development, I've never been involved > > with a project that would blithely fail to meet the project's > > requirements and be indifferent to such an occurrence. From projects of > > a few millions to hundreds of millions of dollars, when there were cost > > and requirements problems, we made sure the customer knew about it and > > jointly hammered out a new plan. Sometimes requirements were dropped or > > modified, sometimes the company ate the difference, and yes, sometimes > > the government expended more funds. > > > > The Government has tried lots of ways to fix its procurement methods: > cost plus award fee, cost plus incentive fee, etc. The best solution > is just to hire reputable folks like yourself, which is amazingly > hard to do! > Thanks, but the thing is that I wasn't running the program--this is just the way the programs were run at the companies where I've worked. And I'm talking about places like Lockheed Martin and Hughes. Marc A. Criley Senior Staff Engineer Quadrus Corporation www.quadruscorp.com ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-09 12:44 ` Marc A. Criley @ 2001-11-09 15:41 ` Ted Dennison 0 siblings, 0 replies; 56+ messages in thread From: Ted Dennison @ 2001-11-09 15:41 UTC (permalink / raw) In article <3BEBC180.53DC4367@earthlink.net>, Marc A. Criley says... > >Thanks, but the thing is that I wasn't running the program--this is just >the way the programs were run at the companies where I've worked. And >I'm talking about places like Lockheed Martin and Hughes. I've never see a situation quite as bad as he was making out. However, I have to admit that the larger the project (in terms of developers), the more like that it resembled. Perhaps all yours are just smallish (< 100 developers)? --- T.E.D. homepage - http://www.telepath.com/dennison/Ted/TED.html No trees were killed in the sending of this message. However a large number of electrons were terribly inconvenienced. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-06 16:46 ` Rex Reges ` (2 preceding siblings ...) 2001-11-08 13:53 ` Marc A. Criley @ 2001-11-09 15:35 ` Ted Dennison 2001-11-10 6:56 ` john flynn 3 siblings, 1 reply; 56+ messages in thread From: Ted Dennison @ 2001-11-09 15:35 UTC (permalink / raw) In article <3BE813E4.C4797DDE@reges.org>, Rex Reges says... >What about Ada? Like the Macintosh, Beta VCRs and the >Vax, Ada's superiority is admired by those in the >know. That matters squat to management who want to I dislike such analogies. For one thing, I've used all three and remain unimpressed by their supposed total superiority. For another, those are *platforms*. Platforms have a whole set of issues languages don't. A more proper analogy is with things that are "tools". You could also make analogies with building materials. People don't like to use the proper analogies though, because it doesn't easily lead to the point they'd like to make (and for good reason). For another, I strongly believe that all those platforms became marginalized because they were proprietary and were trying to fight open standards. From that point of view, the analogy with Ada is even more off. >I doubt that one could get several hundred Ada programmers >in a pinch. I couldn't hire six experienced Ada >contractors in six months! And try to get them to move Personally I think you'd have trouble getting that many *true* C++ programmers in six months too. Just about all the supposed C++ programmers I've run into actually write C with "//" line comments. The place I work in is officially a C++ shop, but I'd say we have more Ada developers in here than *real* C++ developers. >to some tornado infested place like Oklahoma City (who knows >what Fort Worth holds). Of course we could train C++ I probably would have let this whole message slide, but as an Ada developer who just so happens to already live in "some tornado infested place" (Tulsa gets more of them than OKC does), I have to admit this tweaked me a bit. --- T.E.D. homepage - http://www.telepath.com/dennison/Ted/TED.html No trees were killed in the sending of this message. However a large number of electrons were terribly inconvenienced. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-09 15:35 ` Ted Dennison @ 2001-11-10 6:56 ` john flynn 0 siblings, 0 replies; 56+ messages in thread From: john flynn @ 2001-11-10 6:56 UTC (permalink / raw) > I probably would have let this whole message slide, but as an Ada developer who > just so happens to already live in "some tornado infested place" (Tulsa gets > more of them than OKC does), I have to admit this tweaked me a bit. > Software or weather infestation? ....tornado? ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-03 16:58 ` Richard Riehle 2001-11-03 18:52 ` Jeffrey Carter @ 2001-11-04 1:08 ` David Botton 2001-11-05 14:59 ` Marin David Condic 2 siblings, 0 replies; 56+ messages in thread From: David Botton @ 2001-11-04 1:08 UTC (permalink / raw) > One of the most important benefits of C++ is that, once people have enough > experience with it, it becomes obvious how inherently hideous it is. A wise man once said, there are three types of people: When a fly falls in to a cup of wine One person will throw out the wine One person will throw out the fly and drink the wine One person will suck the wine off the fly and then drink the wine I know all three types of people when it comes to C++. This is not a benefit of C++, but rather a curse that in reality most Software Engineers will be forced to work for/with person number three. When I write and design in C++, I keep a large lists of restrictions in use of the language. Go try and explain to person #3 why you hesitate to make use of feature X Y or Z and you are talking to deaf ears. Worse yet, think about when he decides to dip in to your code in the version control system and start adding his favorite "tricks" when he becomes a client of your library..... David Botton ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-03 16:58 ` Richard Riehle 2001-11-03 18:52 ` Jeffrey Carter 2001-11-04 1:08 ` David Botton @ 2001-11-05 14:59 ` Marin David Condic 2 siblings, 0 replies; 56+ messages in thread From: Marin David Condic @ 2001-11-05 14:59 UTC (permalink / raw) Oh, it always is. To be fair, once you get reasonably sophisticated with Ada, you can find yourself frustrated by the details. For example, when you start getting into the complexities of generic instantiation, inheritance, etc., you discover that sometimes what you want to do and what seems reasonable to do is in fact impossible to do. So even Ada has "warts", if you will, that can only be discovered by becoming quite familiar with it. OTOH, at least I've not run into features of Ada that cause serious flaws in the resulting system just by their mere existence and use. Typically, the compiler catches the common errors and won't let you do something that is too inherently risky or error prone. I understand the view that C++ is its own virus. MDC -- Marin David Condic Senior Software Engineer Pace Micro Technology Americas www.pacemicro.com Enabling the digital revolution e-Mail: marin.condic@pacemicro.com Web: http://www.mcondic.com/ "Richard Riehle" <richard@adaworks.com> wrote in message news:3BE4221B.34589071@adaworks.com... > > Ahhhh, but "the devil is in the details." The more preceptive among them > eventually discover that whoever said, "C++ is its own virus" was on to > something. Unfortunately, once they have committed to a particular > course of action, they are stuck with it. It is too late for "buyer's remorse" > ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-01 4:44 ` JF Harrison 2001-11-01 14:41 ` Marin David Condic @ 2001-11-01 14:55 ` Ted Dennison 2001-11-01 21:47 ` P Norby ` (2 subsequent siblings) 4 siblings, 0 replies; 56+ messages in thread From: Ted Dennison @ 2001-11-01 14:55 UTC (permalink / raw) In article <mailman.1004589967.2606.comp.lang.ada@ada.eu.org>, JF Harrison says... >arena. I think you are focusing on the wrong people in wondering why it has >gone C++. Functional managers want things done a certain way, and they >decide. If programmers newly hired dont even know what Ada is (I've met >some like that), they aren't going to even have an opinion on the matter, >much less feedback if asked. ( "Would you like a job programming in Ada?" - >"Um, what's that?") And of course many younger employees want C++ because >that is what they learned in school (in many cases) so that's their skill >set, or, yes, they want to get paid to learn it in the first place, for job >security and mobility. That almost perfectly sums up my experience in the matter. The folks pushing for C++ (or other languages for that matter) over Ada are almost never the experienced engineers who will actually have to *use* the damn language. Some fresh out of college types would prefer not to use it too, but they generally come around after they actually use it for a while. Way back in the "mandate" days I worked on one project where our lead software developer basicly took over the entire project (with the backing of the rest of us developers of course). Program management had our Ada waiver all ready, and was absolutly shocked when we didn't want it. :-) That was the best-run project it has ever been my privelege to work on, btw. --- T.E.D. homepage - http://www.telepath.com/dennison/Ted/TED.html No trees were killed in the sending of this message. However a large number of electrons were terribly inconvenienced. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-01 4:44 ` JF Harrison 2001-11-01 14:41 ` Marin David Condic 2001-11-01 14:55 ` Ted Dennison @ 2001-11-01 21:47 ` P Norby 2001-11-02 17:02 ` P Norby [not found] ` <003301c163c0$289f8c60$45d82c41@vaio> 4 siblings, 0 replies; 56+ messages in thread From: P Norby @ 2001-11-01 21:47 UTC (permalink / raw) To: comp.lang.ada I have applied at the lmco website, but would like to talk to someone regarding Ada work at LM in FW. Could you advise me about whom to contact? Thanks. PS Norby ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-01 4:44 ` JF Harrison ` (2 preceding siblings ...) 2001-11-01 21:47 ` P Norby @ 2001-11-02 17:02 ` P Norby [not found] ` <003301c163c0$289f8c60$45d82c41@vaio> 4 siblings, 0 replies; 56+ messages in thread From: P Norby @ 2001-11-02 17:02 UTC (permalink / raw) To: comp.lang.ada I have applied at the lmco website, but would like to talk to someone regarding Ada work at LM in FW. Could you advise me about whom to contact? Thanks. PS Norby ----- Original Message ----- From: "JF Harrison" <madscientist@colulus.net> Newsgroups: comp.lang.ada To: <comp.lang.ada@ada.eu.org> Sent: Wednesday, October 31, 2001 10:44 PM Subject: Re: Joint Strike Fighter > I am a software engineer at LMCO and have no interest in C++. I > specifically applied for a job using Ada 95, coming out of the dot bomb > arena. I think you are focusing on the wrong people in wondering why it has > gone C++. Functional managers want things done a certain way, and they > decide. If programmers newly hired dont even know what Ada is (I've met > some like that), they aren't going to even have an opinion on the matter, > much less feedback if asked. ( "Would you like a job programming in Ada?" - > "Um, what's that?") And of course many younger employees want C++ because > that is what they learned in school (in many cases) so that's their skill > set, or, yes, they want to get paid to learn it in the first place, for job > security and mobility. > > > > > ----- Original Message ----- > From: "Marin David Condic ]" <dont.bother.mcondic.auntie.spam@[acm.org> > Newsgroups: comp.lang.ada > To: <comp.lang.ada@ada.eu.org> > Sent: Wednesday, October 31, 2001 8:25 AM > Subject: Re: Joint Strike Fighter > > > > To be generous, there may be issues surrounding the availability of tools > > and utilities. There is a lot of stuff available for C++ that you might > have > > a hard time duplicating in Ada. > > > > But I suspect that the decision is *highly* colored by the fact that C++ > > skills look better on a resume than Ada skills. > > > > MDC > > -- > > Marin David Condic > > Senior Software Engineer > > Pace Micro Technology Americas www.pacemicro.com > > Enabling the digital revolution > > e-Mail: marin.condic@pacemicro.com > > Web: http://www.mcondic.com/ > > > > > > "Wes Groleau" <wwgrol@sparc01.ftw.rsc.raytheon.com> wrote in message > > news:3BE023AB.8F235EF5@sparc01.ftw.rsc.raytheon.com... > > > > > > Perhaps it's > > > "I need C++ on my resume, so I'll whip up a case > > > for it. The decision-makers know nothing, so they'll > > > buy it." > > > > > > > > _______________________________________________ > > comp.lang.ada mailing list > > comp.lang.ada@ada.eu.org > > http://ada.eu.org/mailman/listinfo/comp.lang.ada > > > ^ permalink raw reply [flat|nested] 56+ messages in thread
[parent not found: <003301c163c0$289f8c60$45d82c41@vaio>]
* Re: Joint Strike Fighter [not found] ` <003301c163c0$289f8c60$45d82c41@vaio> @ 2001-11-02 19:54 ` JF Harrison [not found] ` <002a01c163d8$25bb4440$2702a8c0@WorkGroup> 1 sibling, 0 replies; 56+ messages in thread From: JF Harrison @ 2001-11-02 19:54 UTC (permalink / raw) To: comp.lang.ada Hi PS, FW as in Fort Worth? I'm not sure who you'd contact there. I work in Sunnyvale, CA. If you attached your resume in MS Word format I could pass it on. I'd get a recruiting bonus if you were hired. Are you a new grad? Do you have Ada experience? Best Regards, JF Harrison ----- Original Message ----- From: "P Norby" <psnorby@peoplepc.com> To: <comp.lang.ada@ada.eu.org> Sent: Friday, November 02, 2001 9:02 AM Subject: Re: Joint Strike Fighter > I have applied at the lmco website, but would like to talk to someone > regarding Ada work at LM in FW. Could you advise me about whom to contact? > > Thanks. > > PS Norby > > ----- Original Message ----- > From: "JF Harrison" <madscientist@colulus.net> > Newsgroups: comp.lang.ada > To: <comp.lang.ada@ada.eu.org> > Sent: Wednesday, October 31, 2001 10:44 PM > Subject: Re: Joint Strike Fighter > > > > I am a software engineer at LMCO and have no interest in C++. I > > specifically applied for a job using Ada 95, coming out of the dot bomb > > arena. I think you are focusing on the wrong people in wondering why it > has > > gone C++. Functional managers want things done a certain way, and they > > decide. If programmers newly hired dont even know what Ada is (I've met > > some like that), they aren't going to even have an opinion on the matter, > > much less feedback if asked. ( "Would you like a job programming in > Ada?" - > > "Um, what's that?") And of course many younger employees want C++ because > > that is what they learned in school (in many cases) so that's their skill > > set, or, yes, they want to get paid to learn it in the first place, for > job > > security and mobility. > > > > > > > > > > ----- Original Message ----- > > From: "Marin David Condic ]" <dont.bother.mcondic.auntie.spam@[acm.org> > > Newsgroups: comp.lang.ada > > To: <comp.lang.ada@ada.eu.org> > > Sent: Wednesday, October 31, 2001 8:25 AM > > Subject: Re: Joint Strike Fighter > > > > > > > To be generous, there may be issues surrounding the availability of > tools > > > and utilities. There is a lot of stuff available for C++ that you might > > have > > > a hard time duplicating in Ada. > > > > > > But I suspect that the decision is *highly* colored by the fact that C++ > > > skills look better on a resume than Ada skills. > > > > > > MDC > > > -- > > > Marin David Condic > > > Senior Software Engineer > > > Pace Micro Technology Americas www.pacemicro.com > > > Enabling the digital revolution > > > e-Mail: marin.condic@pacemicro.com > > > Web: http://www.mcondic.com/ > > > > > > > > > "Wes Groleau" <wwgrol@sparc01.ftw.rsc.raytheon.com> wrote in message > > > news:3BE023AB.8F235EF5@sparc01.ftw.rsc.raytheon.com... > > > > > > > > Perhaps it's > > > > "I need C++ on my resume, so I'll whip up a case > > > > for it. The decision-makers know nothing, so they'll > > > > buy it." > > > > > > > > > > > > _______________________________________________ > > > comp.lang.ada mailing list > > > comp.lang.ada@ada.eu.org > > > http://ada.eu.org/mailman/listinfo/comp.lang.ada > > > > > > > _______________________________________________ > comp.lang.ada mailing list > comp.lang.ada@ada.eu.org > http://ada.eu.org/mailman/listinfo/comp.lang.ada > ^ permalink raw reply [flat|nested] 56+ messages in thread
[parent not found: <002a01c163d8$25bb4440$2702a8c0@WorkGroup>]
* Re: Joint Strike Fighter [not found] ` <002a01c163d8$25bb4440$2702a8c0@WorkGroup> @ 2001-11-02 20:40 ` JF Harrison 0 siblings, 0 replies; 56+ messages in thread From: JF Harrison @ 2001-11-02 20:40 UTC (permalink / raw) To: comp.lang.ada Oops. I use the email interface to c.l.a so "reply" didnt function the way I intended. My apologies to the list. ----- Original Message ----- From: "JF Harrison" <madscientist@colulus.net> To: <comp.lang.ada@ada.eu.org> Sent: Friday, November 02, 2001 11:54 AM Subject: Re: Joint Strike Fighter > Hi PS, > > FW as in Fort Worth? > I'm not sure who you'd contact there. I work in Sunnyvale, CA. If you > attached your resume in MS Word format I could pass it on. I'd get a > recruiting bonus if you were hired. Are you a new grad? Do you have Ada > experience? > > Best Regards, > JF Harrison > > > ----- Original Message ----- > From: "P Norby" <psnorby@peoplepc.com> > To: <comp.lang.ada@ada.eu.org> > Sent: Friday, November 02, 2001 9:02 AM > Subject: Re: Joint Strike Fighter > > > > I have applied at the lmco website, but would like to talk to someone > > regarding Ada work at LM in FW. Could you advise me about whom to > contact? > > > > Thanks. > > > > PS Norby > > > > ----- Original Message ----- > > From: "JF Harrison" <madscientist@colulus.net> > > Newsgroups: comp.lang.ada > > To: <comp.lang.ada@ada.eu.org> > > Sent: Wednesday, October 31, 2001 10:44 PM > > Subject: Re: Joint Strike Fighter > > > > > > > I am a software engineer at LMCO and have no interest in C++. I > > > specifically applied for a job using Ada 95, coming out of the dot bomb > > > arena. I think you are focusing on the wrong people in wondering why it > > has > > > gone C++. Functional managers want things done a certain way, and they > > > decide. If programmers newly hired dont even know what Ada is (I've met > > > some like that), they aren't going to even have an opinion on the > matter, > > > much less feedback if asked. ( "Would you like a job programming in > > Ada?" - > > > "Um, what's that?") And of course many younger employees want C++ > because > > > that is what they learned in school (in many cases) so that's their > skill > > > set, or, yes, they want to get paid to learn it in the first place, for > > job > > > security and mobility. > > > > > > > > > > > > > > > ----- Original Message ----- > > > From: "Marin David Condic ]" <dont.bother.mcondic.auntie.spam@[acm.org> > > > Newsgroups: comp.lang.ada > > > To: <comp.lang.ada@ada.eu.org> > > > Sent: Wednesday, October 31, 2001 8:25 AM > > > Subject: Re: Joint Strike Fighter > > > > > > > > > > To be generous, there may be issues surrounding the availability of > > tools > > > > and utilities. There is a lot of stuff available for C++ that you > might > > > have > > > > a hard time duplicating in Ada. > > > > > > > > But I suspect that the decision is *highly* colored by the fact that > C++ > > > > skills look better on a resume than Ada skills. > > > > > > > > MDC > > > > -- > > > > Marin David Condic > > > > Senior Software Engineer > > > > Pace Micro Technology Americas www.pacemicro.com > > > > Enabling the digital revolution > > > > e-Mail: marin.condic@pacemicro.com > > > > Web: http://www.mcondic.com/ > > > > > > > > > > > > "Wes Groleau" <wwgrol@sparc01.ftw.rsc.raytheon.com> wrote in message > > > > news:3BE023AB.8F235EF5@sparc01.ftw.rsc.raytheon.com... > > > > > > > > > > Perhaps it's > > > > > "I need C++ on my resume, so I'll whip up a case > > > > > for it. The decision-makers know nothing, so they'll > > > > > buy it." > > > > > > > > > > > > > > > > _______________________________________________ > > > > comp.lang.ada mailing list > > > > comp.lang.ada@ada.eu.org > > > > http://ada.eu.org/mailman/listinfo/comp.lang.ada > > > > > > > > > > > _______________________________________________ > > comp.lang.ada mailing list > > comp.lang.ada@ada.eu.org > > http://ada.eu.org/mailman/listinfo/comp.lang.ada > > > > _______________________________________________ > comp.lang.ada mailing list > comp.lang.ada@ada.eu.org > http://ada.eu.org/mailman/listinfo/comp.lang.ada > ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-10-31 16:25 ` Marin David Condic 2001-11-01 4:44 ` JF Harrison @ 2001-11-01 11:38 ` Ian 2001-11-01 14:51 ` Marin David Condic ` (2 more replies) 1 sibling, 3 replies; 56+ messages in thread From: Ian @ 2001-11-01 11:38 UTC (permalink / raw) "Marin David Condic" <dont.bother.mcondic.auntie.spam@[acm.org> wrote in message news:<9rp8mo$6d8$1@nh.pace.co.uk>... > To be generous, there may be issues surrounding the availability of tools > and utilities. There is a lot of stuff available for C++ that you might have > a hard time duplicating in Ada. Working currently on the VSTOL predecessor of JSF I don't find anything that we need from Ada and the available tools that C++ would provide. Our process,(on a different project) is described in FULL in: GENESYS An Application of OO technology to Aircraft Display Systems, Neil Davidson, BAE Systems Avionics Ltd, Presented in Symposium on Reliable Object Orientated Programming, at Institution of Electrical Engineers, Savoy Place, London, 24th October 2001. Except we use a substitute for Labview. We don't have a problem recruiting Ada experienced software engineers and then practically everyone who wants it gets training. I have done courses on statecharts, UML, UML to Ada95 code generation, Test instrumentation tools for Ada and Ada95 updates. I don't think it is that difficult to do avionics in Ada95 if you already know C++ properly, (assuming some knowledge of SW Engineering principles). On a large project there is a lot of opportunities for mentoring from other more experienced team members. Ian ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-01 11:38 ` Ian @ 2001-11-01 14:51 ` Marin David Condic 2001-11-02 9:08 ` John McCabe 2001-11-29 16:48 ` Matthew Heaney 2 siblings, 0 replies; 56+ messages in thread From: Marin David Condic @ 2001-11-01 14:51 UTC (permalink / raw) It depends entirely on the project and what the project needs. In some cases, you need little more than a compiler. In others, you might find significant leverage with another language because of the availability of (for example) GUI tools, databases, application-specific code generators, etc... Please don't misunderstand me - I'm a fan of Ada and want to see it used widely. I believe there are lots of places it already fits nicely and more places can be made to fit as tools progress. The more widely it is used, the more likely I can find work doing what I like best. :-) I'm merely observing that (to be generous) some projects may migrate to C++ because of perceived availability of tools & resources and that's not totally illigitimate. But I suspect there is more liklihood that the root causes are emotional and human. We human beings have a way of deciding what we want to do for our own interests and then going off and find reasons why that has always been "The Right Choice". :-) MDC -- Marin David Condic Senior Software Engineer Pace Micro Technology Americas www.pacemicro.com Enabling the digital revolution e-Mail: marin.condic@pacemicro.com Web: http://www.mcondic.com/ "Ian" <ian0kerr@my-deja.com> wrote in message news:11bf7180.0111010338.6dbc1537@posting.google.com... > > Working currently on the VSTOL predecessor of JSF I don't find > anything that we need from Ada and the available tools that C++ would > provide. Our process,(on a different project) is described in FULL in: > ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-01 11:38 ` Ian 2001-11-01 14:51 ` Marin David Condic @ 2001-11-02 9:08 ` John McCabe 2001-11-02 16:16 ` Ian 2001-11-29 16:48 ` Matthew Heaney 2 siblings, 1 reply; 56+ messages in thread From: John McCabe @ 2001-11-02 9:08 UTC (permalink / raw) On 1 Nov 2001 03:38:12 -0800, ian0kerr@my-deja.com (Ian) wrote: >Working currently on the VSTOL predecessor of JSF I don't find >anything that we need from Ada and the available tools that C++ would >provide. I'm confused by this comment, can you please explain it in slightly different words? > Our process,(on a different project) is described in FULL in: > >GENESYS An Application of OO technology to Aircraft Display Systems, >Neil Davidson, BAE Systems Avionics Ltd, Presented in Symposium on >Reliable Object Orientated Programming, at Institution of Electrical >Engineers, Savoy Place, London, 24th October 2001. Wow - I Had no idea there was a process in place in your department. >Except we use a substitute for Labview. We don't have a problem >recruiting Ada experienced software engineers and then practically >everyone who wants it gets training. Are you sure? Even permanent ones? I thought BAE *and* AeI were having problems recruiting good, permanent Ada engineers because: 1) They don't pay enough 2) Many people don't want to do Ada! >I have done courses on >statecharts, UML, UML to Ada95 code generation, Test instrumentation >tools for Ada and Ada95 updates. That's good - we never got *any* training on the rig team! >I don't think it is that difficult to do avionics in Ada95 if you >already know C++ properly, (assuming some knowledge of SW Engineering >principles). That depends on how flexible you are, and how much OO you want to use. Looking at it the other way, I don't think it would be difficult to do avionics in C++ if you already know Ada properly - and it will certainly be more reliable if you have to use C++, to use Ada trained developers to do the job than those who have only ever used C/C++ based languages! ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-02 9:08 ` John McCabe @ 2001-11-02 16:16 ` Ian 2001-11-02 17:04 ` John McCabe 0 siblings, 1 reply; 56+ messages in thread From: Ian @ 2001-11-02 16:16 UTC (permalink / raw) john.mccabe@emrad.com.nospam (John McCabe) wrote in message news:<3be2614e.882178@news.demon.co.uk>... > On 1 Nov 2001 03:38:12 -0800, ian0kerr@my-deja.com (Ian) wrote: > >Working currently on the VSTOL predecessor of JSF. GR.7 > I don't find > >anything that we need from Ada and the available tools that C++ would > >provide. > I'm confused by this comment, can you please explain it in slightly > different words? Ada provides us with everything we need. C++ does not have an advantage for us. > >GENESYS An Application of OO technology to Aircraft Display Systems, > >Neil Davidson, BAE Systems Avionics Ltd, Presented in Symposium on > >Reliable Object Orientated Programming, at Institution of Electrical > >Engineers, Savoy Place, London, 24th October 2001. > Wow - I Had no idea there was a process in place in your department. If you want a copy of the above, email me your snail address. :-; Well as Ron D. wrote a process, a while back, for your department why would you think we would be different? > I thought BAE *and* AeI were having > problems recruiting good, permanent Ada engineers because: The turn over is quite low and we get replacements quickly. > 1) They don't pay enough Money is not everything especially if the project is not the usual shambles! > 2) Many people don't want to do Ada! > >I have done courses on > >statecharts, UML, UML to Ada95 code generation, Test instrumentation > >tools for Ada and Ada95 updates. > That's good - we never got *any* training on the rig team! You should have asked your management as we had problems spending all the training money one year. Probably because other departments did not encourage training. > >I don't think it is that difficult to do avionics in Ada95 if you > >already know C++ properly, (assuming some knowledge of SW Engineering > >principles). > That depends on how flexible you are, and how much OO you want to use. > Looking at it the other way, I don't think it would be difficult to do > avionics in C++ if you already know Ada properly So why not just write it in Ada in the first place? > - and it will > certainly be more reliable if you have to use C++, Even my C++ course teacher thought that C++ was a dangerous language. > to use Ada trained > developers to do the job than those who have only ever used C/C++ > based languages! I hope you are happer where you are now. Ian ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-02 16:16 ` Ian @ 2001-11-02 17:04 ` John McCabe 0 siblings, 0 replies; 56+ messages in thread From: John McCabe @ 2001-11-02 17:04 UTC (permalink / raw) On 2 Nov 2001 08:16:20 -0800, ian0kerr@my-deja.com (Ian) wrote: >> I don't find >> >anything that we need from Ada and the available tools that C++ would >> >provide. > >> I'm confused by this comment, can you please explain it in slightly >> different words? > >Ada provides us with everything we need. C++ does not have an >advantage for us. So what you meant was that there is nothing that C++ would provide that you don't get from Ada and the available tools. >> Wow - I Had no idea there was a process in place in your department. > >If you want a copy of the above, email me your snail address. :-; It's alright - I'm not that interested, but thanks anyway. >Well as Ron D. wrote a process, a while back, for your department why >would you think we would be different? Ron D? First I've heard of it. As far as I'm aware we were way ahead on the project lifecycle and nothing had been done like this for our department. >> I thought BAE *and* AeI were having >> problems recruiting good, permanent Ada engineers because: >The turn over is quite low and we get replacements quickly. Contract or permanent? I don't know of anyone who started there as a permie to do Ada work, and even if they did, the chances are they were told they would be doing something else! >> 1) They don't pay enough >Money is not everything especially if the project is not the usual >shambles! True, but a reasonable amount is required and, to be honest, for what AeI were offering contractors to go permanent it wouldn't be worth getting out of bed for! >> That's good - we never got *any* training on the rig team! >You should have asked your management as we had problems spending all >the training money one year. Probably because other departments did >not encourage training. Rig development had *no* budget for training. Any training given to members of the team was through general training budget, so wasn't allowed to be spent on contractors. >> - and it will >> certainly be more reliable if you have to use C++, > Even my C++ course teacher thought that C++ was a dangerous language. Did he say it *is* a dangerous language, or it *can be* a dangerous language. There is a difference - in untrained hands it is still easy enough to write highly unreliable Ada programs! >> to use Ada trained >> developers to do the job than those who have only ever used C/C++ >> based languages! > >I hope you are happer where you are now. Oh I am!! ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-01 11:38 ` Ian 2001-11-01 14:51 ` Marin David Condic 2001-11-02 9:08 ` John McCabe @ 2001-11-29 16:48 ` Matthew Heaney 2001-11-29 17:12 ` Marin David Condic 2 siblings, 1 reply; 56+ messages in thread From: Matthew Heaney @ 2001-11-29 16:48 UTC (permalink / raw) "Ian" <ian0kerr@my-deja.com> wrote in message news:11bf7180.0111010338.6dbc1537@posting.google.com... > Working currently on the VSTOL predecessor of JSF I don't find > anything that we need from Ada and the available tools that C++ would > provide. Our process,(on a different project) is described in FULL in: > > GENESYS An Application of OO technology to Aircraft Display Systems, > Neil Davidson, BAE Systems Avionics Ltd, Presented in Symposium on > Reliable Object Orientated Programming, at Institution of Electrical > Engineers, Savoy Place, London, 24th October 2001. I wanted to mention that the speaker at this session seemed not to realize that tagged types in Ada95 are automatically passed by reference. He seemed to think that tagged types were passed by value, and that steps would need to be taken by the programmer to prevent this. What they were doing on the project as a "fix" was to pass tagged objects by reference explicitly, using named access types. But this caused problems wrt accessibility rules. But none of this was necessary, because tagged types are automatically passed by reference in Ada95. Limited types whose full view is limited are also passed by reference. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-29 16:48 ` Matthew Heaney @ 2001-11-29 17:12 ` Marin David Condic 2001-11-30 12:49 ` Simon Wright 0 siblings, 1 reply; 56+ messages in thread From: Marin David Condic @ 2001-11-29 17:12 UTC (permalink / raw) This seems to be a very common misconception about Ada that tends to come from C/C++ programmers approaching the language for the first time. Clearly, many programmers are simply used to having to do something explicit to get pass-by-reference and think it won't happen unless they make it so. I have encountered this misconception often when teaching Ada. I don't know what could be done with teaching materials, reference documents or the language itself to make it more clear that the compiler will handle this for you and won't do something stupid. It just seems to occur over and over again and Ada gets a bad name over something that is just being misunderstood. It would be good to have something about this in the FAQ. MDC -- Marin David Condic Senior Software Engineer Pace Micro Technology Americas www.pacemicro.com Enabling the digital revolution e-Mail: marin.condic@pacemicro.com Web: http://www.mcondic.com/ "Matthew Heaney" <mheaney@on2.com> wrote in message news:u0cpfi8hvh7jca@corp.supernews.com... > > I wanted to mention that the speaker at this session seemed not to realize > that tagged types in Ada95 are automatically passed by reference. He seemed > to think that tagged types were passed by value, and that steps would need > to be taken by the programmer to prevent this. > > What they were doing on the project as a "fix" was to pass tagged objects by > reference explicitly, using named access types. But this caused problems > wrt accessibility rules. But none of this was necessary, because tagged > types are automatically passed by reference in Ada95. > > Limited types whose full view is limited are also passed by reference. > > > > ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-29 17:12 ` Marin David Condic @ 2001-11-30 12:49 ` Simon Wright 2001-11-30 14:46 ` Marin David Condic 2001-11-30 15:03 ` Ted Dennison 0 siblings, 2 replies; 56+ messages in thread From: Simon Wright @ 2001-11-30 12:49 UTC (permalink / raw) "Marin David Condic" <dont.bother.mcondic.auntie.spam@[acm.org> writes: > This seems to be a very common misconception about Ada that tends to > come from C/C++ programmers approaching the language for the first > time. Clearly, many programmers are simply used to having to do > something explicit to get pass-by-reference and think it won't > happen unless they make it so. I have encountered this > misconception often when teaching Ada. I don't know what could be > done with teaching materials, reference documents or the language > itself to make it more clear that the compiler will handle this for > you and won't do something stupid. It just seems to occur over and > over again and Ada gets a bad name over something that is just being > misunderstood. I'm not sure that this particular issue is the right way round (well, it wasn't for me when I encountered it). I had a Socket (record) type which needed to be passed by reference but wasn't; the cure was to make it tagged, which I was less than happy with. I forget why 'limited' wouldn't do .. So I _did_ have to do something explicit to get pass-by-reference. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-30 12:49 ` Simon Wright @ 2001-11-30 14:46 ` Marin David Condic 2001-11-30 16:37 ` Jeffrey Carter 2001-11-30 15:03 ` Ted Dennison 1 sibling, 1 reply; 56+ messages in thread From: Marin David Condic @ 2001-11-30 14:46 UTC (permalink / raw) Well, there may be issues with any given implementation of Ada and how it chooses to handle things, but there isn't anything that I know of inherent in Ada that would force pass-by-value of a large record structure. Some implementations of Ada could be grossly inefficient in all sorts of areas without that being something intrinsic in the language. I would think that a sensible implementation of Ada would look at the size of the item being passed and decide on the most efficient means for the given architecture. AFAIK, the in/out-ness of a parameter shouldn't force a pass-by-value (the language lawyers can correct me here) but pretty definitely an "in out" ought to be able to go by reference. (Again presuming that the compiler makes an intelligent choice about how to pass the parameter for maximum efficiency.) Are there implementations out there that pass a large record or array by value if the mode is "in out"? (Beyond efficiency, I'd park the PBV/PBR issue in the "Don't Care" lot. If the compiler picks the fastest possible means of transferring the parameter (and protects the in/out-ness through static analysis), but my code depends on side effects of PBR, I've probably done a bad job of designing the code.) MDC -- Marin David Condic Senior Software Engineer Pace Micro Technology Americas www.pacemicro.com Enabling the digital revolution e-Mail: marin.condic@pacemicro.com Web: http://www.mcondic.com/ "Simon Wright" <simon.j.wright@amsjv.com> wrote in message news:x7v7ks8bf0g.fsf@galadriel.frlngtn.gecm.com... > > I'm not sure that this particular issue is the right way round (well, > it wasn't for me when I encountered it). > > I had a Socket (record) type which needed to be passed by reference > but wasn't; the cure was to make it tagged, which I was less than > happy with. I forget why 'limited' wouldn't do .. > > So I _did_ have to do something explicit to get pass-by-reference. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-30 14:46 ` Marin David Condic @ 2001-11-30 16:37 ` Jeffrey Carter 0 siblings, 0 replies; 56+ messages in thread From: Jeffrey Carter @ 2001-11-30 16:37 UTC (permalink / raw) Marin David Condic wrote: > > I would think that a sensible implementation of Ada would look at the size > of the item being passed and decide on the most efficient means for the > given architecture. AFAIK, the in/out-ness of a parameter shouldn't force a > pass-by-value (the language lawyers can correct me here) but pretty > definitely an "in out" ought to be able to go by reference. (Again presuming > that the compiler makes an intelligent choice about how to pass the > parameter for maximum efficiency.) The ARM specifies that elementary types must be passed by value, regardless of size or mode, and tagged and limited types must be passed reference, regardless of size or mode. Other types are up to the compiler writer. So, for example, if your compiler supports 64-bit integer types on a platform with 32-bit registers (as GNAT does), they must be passed by value even though they don't fit in a single register and an address does. In this case pass by reference might be more "efficient" but is not allowed by the language. On the other hand, a small limited type must be passed by reference even though several of them might fit in one register. In this case pass by value might be more "efficient" but again is not allowed. -- Jeffrey Carter ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-30 12:49 ` Simon Wright 2001-11-30 14:46 ` Marin David Condic @ 2001-11-30 15:03 ` Ted Dennison 2001-11-30 16:26 ` Simon Wright 1 sibling, 1 reply; 56+ messages in thread From: Ted Dennison @ 2001-11-30 15:03 UTC (permalink / raw) In article <x7v7ks8bf0g.fsf@galadriel.frlngtn.gecm.com>, Simon Wright says... > >I had a Socket (record) type which needed to be passed by reference >but wasn't; the cure was to make it tagged, which I was less than >happy with. I forget why 'limited' wouldn't do .. If it took up more than a register I'd say you have a legitimate gripe with your compiler vendor. However, you definitely should use one of the forms gauranteed to pass by reference if you *need* it passed that way for some reason. If you just want it to do the most efficient thing (which is the ususal rationale I hear from the C refugees), just let the compiler do it. --- T.E.D. homepage - http://www.telepath.com/dennison/Ted/TED.html No trees were killed in the sending of this message. However a large number of electrons were terribly inconvenienced. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-30 15:03 ` Ted Dennison @ 2001-11-30 16:26 ` Simon Wright 2001-11-30 16:39 ` Ted Dennison ` (2 more replies) 0 siblings, 3 replies; 56+ messages in thread From: Simon Wright @ 2001-11-30 16:26 UTC (permalink / raw) Ted Dennison<dennison@telepath.com> writes: > If it took up more than a register I'd say you have a legitimate > gripe with your compiler vendor. However, you definitely should use > one of the forms gauranteed to pass by reference if you *need* it > passed that way for some reason. If you just want it to do the most > efficient thing (which is the ususal rationale I hear from the C > refugees), just let the compiler do it. This was the bug report: I have a (private) type Socket: type Socket is record Fd : Integer; -- -1 => socket is closed end record; and a procedure Close: procedure Close (The_Socket : in out Socket) is Fd : Integer; begin Fd := The_Socket.Fd; The_Socket.Fd := -1; -- indicate that The_Socket is now closed if Close (Fd) < 0 then -- this is an import of the Unix close() raise Close_Error; end if; end Close; GNAT uses copy semantics here, so if the exception occurs the actual parameter doesn't get altered and still has a valid file descriptor, leading to confusion downstream. so making Socket limited would have done as well (I can now see no reason why I shouldn't have done that .. this was a while back, may have been a reason at the time). Anyway, it really needed to be by reference! -- Simon Wright Email: simon.j.wright@amsjv.com Alenia Marconi Systems Voice: +44(0)23 9270 1778 Integrated Systems Division FAX: +44(0)23 9270 1800 ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-30 16:26 ` Simon Wright @ 2001-11-30 16:39 ` Ted Dennison 2001-11-30 17:08 ` Pat Rogers 2001-11-30 22:53 ` Chad R. Meiners 2 siblings, 0 replies; 56+ messages in thread From: Ted Dennison @ 2001-11-30 16:39 UTC (permalink / raw) In article <x7v667sb4yc.fsf@galadriel.frlngtn.gecm.com>, Simon Wright says... > > procedure Close (The_Socket : in out Socket) is > Fd : Integer; > begin > Fd := The_Socket.Fd; > The_Socket.Fd := -1; -- indicate that The_Socket is now closed > if Close (Fd) < 0 then -- this is an import of the Unix close() > raise Close_Error; > end if; > end Close; > > GNAT uses copy semantics here, so if the exception occurs the actual > parameter doesn't get altered and still has a valid file descriptor, > leading to confusion downstream. Interesting. Another alternative is to specify the mode as access. That can be kind of a pain for the user, though. --- T.E.D. homepage - http://www.telepath.com/dennison/Ted/TED.html No trees were killed in the sending of this message. However a large number of electrons were terribly inconvenienced. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-30 16:26 ` Simon Wright 2001-11-30 16:39 ` Ted Dennison @ 2001-11-30 17:08 ` Pat Rogers 2001-11-30 22:53 ` Chad R. Meiners 2 siblings, 0 replies; 56+ messages in thread From: Pat Rogers @ 2001-11-30 17:08 UTC (permalink / raw) "Simon Wright" <simon.j.wright@amsjv.com> wrote in message news:x7v667sb4yc.fsf@galadriel.frlngtn.gecm.com... > Ted Dennison<dennison@telepath.com> writes: > > > If it took up more than a register I'd say you have a legitimate > > gripe with your compiler vendor. However, you definitely should use > > one of the forms gauranteed to pass by reference if you *need* it > > passed that way for some reason. If you just want it to do the most > > efficient thing (which is the ususal rationale I hear from the C > > refugees), just let the compiler do it. > > This was the bug report: > > I have a (private) type Socket: > > type Socket is record > Fd : Integer; -- -1 => socket is closed > end record; > <snip> > > so making Socket limited would have done as well (I can now see no > reason why I shouldn't have done that .. this was a while back, may > have been a reason at the time). Anyway, it really needed to be by > reference! One could use the pragma Volatile trick when a limited type is unacceptable: make a (hidden) null record type, apply pragma Volatile to it, and have a component of this type in the final exported type (e.g. type Socket). The enclosing type (Socket) is then required to be passed by reference and no extra storage is required. I don't remember where I saw this first, but I suspect it was from J.P. Rosen -- one of the most clever Ada people around. -- --- Patrick Rogers Consulting and Training in: http://www.classwide.com Real-Time/OO Languages progers@classwide.com Hard Deadline Schedulability Analysis (281)648-3165 Software Fault Tolerance ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-30 16:26 ` Simon Wright 2001-11-30 16:39 ` Ted Dennison 2001-11-30 17:08 ` Pat Rogers @ 2001-11-30 22:53 ` Chad R. Meiners 2001-12-01 8:08 ` Simon Wright 2 siblings, 1 reply; 56+ messages in thread From: Chad R. Meiners @ 2001-11-30 22:53 UTC (permalink / raw) "Simon Wright" <simon.j.wright@amsjv.com> wrote in message news:x7v667sb4yc.fsf@galadriel.frlngtn.gecm.com... > procedure Close (The_Socket : in out Socket) is > Fd : Integer; > begin > Fd := The_Socket.Fd; > The_Socket.Fd := -1; -- indicate that The_Socket is now closed > if Close (Fd) < 0 then -- this is an import of the Unix close() > raise Close_Error; > end if; > end Close; So to clarify you want the procedure to either: 1. Close the socket normally 2. Fail to close the socket yet lose the file handle so the programmer can do nothing useful with the socket when he/she handles the exception. The second path seems like it would not be useful and it would be annoying since it introduces an unusable exception to handle. I conclude that you want to the invalidate the handle no matter what (since it is a result of both paths) so why do you not just silently ignore any errors given by the OS? -CRM ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-11-30 22:53 ` Chad R. Meiners @ 2001-12-01 8:08 ` Simon Wright 0 siblings, 0 replies; 56+ messages in thread From: Simon Wright @ 2001-12-01 8:08 UTC (permalink / raw) "Chad R. Meiners" <crmeiners@hotmail.com> writes: > The second path seems like it would not be useful and it would be > annoying since it introduces an unusable exception to handle. I > conclude that you want to the invalidate the handle no matter what > (since it is a result of both paths) so why do you not just silently > ignore any errors given by the OS? With hindsight you have a point (in this case; no doubt other examples where by-reference is needed could be concocted!) I'm pretty sure that the new GNAT.Sockets raises an exception on a failed Close_Socket, and I raised your objection which was fairly comprehensively answered; I can tell you the reasoning if you like, mail me at <simon.j.wright@amsjv.com>, but it was to do with possible errors in user code (closing a socket twice, for example). ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-10-29 4:55 Joint Strike Fighter Richard Riehle 2001-10-29 11:11 ` Ian @ 2001-10-29 15:02 ` Marin David Condic 2001-10-29 17:55 ` Paul A Storm ` (2 subsequent siblings) 4 siblings, 0 replies; 56+ messages in thread From: Marin David Condic @ 2001-10-29 15:02 UTC (permalink / raw) I used to work on the JSF engine control and that was done in Ada and I can't think of a good reason Pratt & Whitney would want to switch and lose all that verification work. I'd have to verify it with one of my former associates (if any of them are still at P&W! :-) but I would doubt that after years of development and testing anyone would want to throw out all the code and start over and have to once again flight certify the control. I wouldn't know about all of the other avionics in the JSF. That would be a *lot* of systems. Are there any in particular you had in mind? MDC -- Marin David Condic Senior Software Engineer Pace Micro Technology Americas www.pacemicro.com Enabling the digital revolution e-Mail: marin.condic@pacemicro.com Web: http://www.mcondic.com/ "Richard Riehle" <richard@adaworks.com> wrote in message news:3BDCE159.39F6D422@adaworks.com... > Now that LMCO has been awarded the contract for > JSF, does anyone know if the original plan to do the > software in Ada remains unchanged? > > Richard Riehle > ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-10-29 4:55 Joint Strike Fighter Richard Riehle 2001-10-29 11:11 ` Ian 2001-10-29 15:02 ` Marin David Condic @ 2001-10-29 17:55 ` Paul A Storm 2001-11-01 4:46 ` Richard Riehle 2001-11-02 20:03 ` Dirk Craeynest 2001-11-07 3:57 ` Vincent Marciante 4 siblings, 1 reply; 56+ messages in thread From: Paul A Storm @ 2001-10-29 17:55 UTC (permalink / raw) Richard Riehle wrote: > Now that LMCO has been awarded the contract for > JSF, does anyone know if the original plan to do the > software in Ada remains unchanged? > > Richard Riehle Ada use is alive and well here at LMCO. ;-) ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-10-29 17:55 ` Paul A Storm @ 2001-11-01 4:46 ` Richard Riehle 0 siblings, 0 replies; 56+ messages in thread From: Richard Riehle @ 2001-11-01 4:46 UTC (permalink / raw) Paul A Storm wrote: > Richard Riehle wrote: > > > Now that LMCO has been awarded the contract for > > JSF, does anyone know if the original plan to do the > > software in Ada remains unchanged? > > > > Richard Riehle > > Ada use is alive and well here at LMCO. Paul. Yes, I know that many well-informed managers continue to select Ada for their projects. I have had the pleasure of working with many of those managers and their people. In fact, the quality of LMCO software people, in my experience, has been exceptional and gratifying. Of course, in any organization, there are many different criteria used in decision-making process. We must be fair and assume that the criteria used to select C++ for certain projects was carefully considered and seriously taken. The concern among those in this forum is, I hope, that the best decisions are being taken with regard to the safety-critical software being developed for DoD weapon systems. I have no doubt of the sincerity and commitment of those making the decisions. However, some in this forum seem to suggest that factors such as resume enhancement play too great a role in the final decision. One would hope that is not the case, and most of the LMCO managers that I know are wiser than that. We need to beware of letting our biases in favor of Ada influence our opinions about people we don't know, and realize that our skepticism is, for the most part, conjecture that follows from those biases. I admit that I am all too often guilty of this myself. No responsible manager is going to let anything but the quality of the end product determine what tools and processes to select in building that product. That being said, I believe the vast majority of managers at LMCO are responsible and concientious people. The language decision for JSF will have had a lot of input from a lot of informed people. Also, those at LMCO I have talked with are committed to quality products regardless of what language is used for the coding. Yes, it is disappointing when we learn that Ada was pre-empted by C++. Yes, we in this forum believe Ada is superior to C++ for the building of weapon systems. No, language selection is not an exact science. Reasonable people disagree all the time about this issue. Richard Riehle ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-10-29 4:55 Joint Strike Fighter Richard Riehle ` (2 preceding siblings ...) 2001-10-29 17:55 ` Paul A Storm @ 2001-11-02 20:03 ` Dirk Craeynest 2001-11-07 3:57 ` Vincent Marciante 4 siblings, 0 replies; 56+ messages in thread From: Dirk Craeynest @ 2001-11-02 20:03 UTC (permalink / raw) [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain, Size: 2045 bytes --] In article <3BDCE159.39F6D422@adaworks.com>, Richard Riehle <richard@adaworks.com> wrote: >Now that LMCO has been awarded the contract for >JSF, does anyone know if the original plan to do the >software in Ada remains unchanged? Check out the recent news at http://www.ghs.com/news/211031l.html. [start quote:] Green Hills Software's INTEGRITY(tm) Selected As Operating System For F-35 Joint Strike Fighter Green Hills to Provide Operating System and Development Environment for Largest Military Procurement in History Santa Barbara, CA, October 31, 2001 -- Green Hills Software, Inc., today announced that Lockheed Martin will be using Green Hills' INTEGRITY(tm) real-time operating system (RTOS) and AdaMULTI� 2000 software development tools to develop software for its Joint Strike Fighter (JSF) aircraft. Lockheed Martin's design for the JSF was selected by the Department of Defense (DoD) in a $200 billion award, the largest in US DoD history. Avionics software developed by Lockheed Martin will run on airborne PowerPC processors operating under the INTEGRITY RTOS. [end quote] And a bit further: [start quote:] Carbone continues, "The INTEGRITY RTOS, together with Green Hills' AdaMULTI IDE, and Ada 95/C/C++ compilers provides a complete single-vendor RTOS and development solution for developing real-time mission and safety-critical software systems capable of meeting the security and safety standards of ISO/IEC 15408 (Common Criteria) and RTCA DO-178B. [end quote] So, at the very least, use of Ada is still possible... Dirk (Dirk.Craeynest@cs.kuleuven.ac.be for Ada-Belgium e-mail) -- Dirk Craeynest | Email Dirk.Craeynest@offis.be | Ada-Belgium Offis nv/sa - Aubay Group | Phone +32(2)725.40.25 | Ada-Europe Weiveldlaan 41/32 | +32(2)729.97.36 (work) | ACM SIGAda B-1930 Zaventem, Belgium | Fax +32(2)725.40.12 | Team Ada *** Intl. Conference on Reliable Software Technologies - Ada-Europe'2002 *** June 17-21, 2002, Vienna, Austria *** http://www.ada-europe.org/ *** ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Joint Strike Fighter 2001-10-29 4:55 Joint Strike Fighter Richard Riehle ` (3 preceding siblings ...) 2001-11-02 20:03 ` Dirk Craeynest @ 2001-11-07 3:57 ` Vincent Marciante 4 siblings, 0 replies; 56+ messages in thread From: Vincent Marciante @ 2001-11-07 3:57 UTC (permalink / raw) Richard Riehle wrote: > > Now that LMCO has been awarded the contract for > JSF, does anyone know if the original plan to do the > software in Ada remains unchanged? > > Richard Riehle --------------------------------------------- PRESS RELEASES IN CATEGORY: INDUSTRY NEWS (MARKET) --------------------------------------------- Company : Green Hills Software, Inc. Date : Oct 31 2001 12:00AM Title : Green Hills Software�s INTEGRITY� Selected As Operating System For F-35 Joint Strike Fighter URL : http://www.dedicated-systems.com/VPR/layout/display/pr.asp?PRID=2575 --------------------------------------------- Summary: Green Hills Software, Inc., today announced that Lockheed Martin will be using Green Hills? INTEGRITY? real-time operating system (RTOS) and AdaMULTI� 2000 software development tools to develop software for its Joint Strike Fighter (JSF) aircraft. Lockheed Martin?s design for the JSF was selected by the Department of Defense (DoD) in a $200 billion award, the largest in US DoD history. Avionics software developed by Lockheed Martin will run on airborne PowerPC processors operating under the INTEGRITY RTOS. Vincent Marciante (Sorry but, Please remove the under bar and the word remove before attempting to replying through my email address) ^ permalink raw reply [flat|nested] 56+ messages in thread
end of thread, other threads:[~2001-12-01 8:08 UTC | newest] Thread overview: 56+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2001-10-29 4:55 Joint Strike Fighter Richard Riehle 2001-10-29 11:11 ` Ian 2001-10-31 6:38 ` Richard Riehle 2001-10-31 13:38 ` David Botton 2001-10-31 16:15 ` Wes Groleau 2001-10-31 16:25 ` Marin David Condic 2001-11-01 4:44 ` JF Harrison 2001-11-01 14:41 ` Marin David Condic 2001-11-03 16:58 ` Richard Riehle 2001-11-03 18:52 ` Jeffrey Carter 2001-11-05 15:30 ` Ted Dennison 2001-11-06 2:07 ` Jeffrey Carter 2001-11-06 16:46 ` Rex Reges 2001-11-06 18:17 ` Marin David Condic 2001-11-06 19:07 ` Larry Kilgallen 2001-11-06 21:19 ` Rex Reges 2001-11-06 23:01 ` Larry Kilgallen 2001-11-08 14:55 ` Rex Reges [not found] ` <Wa+tfCvHgQXH@eisner.e <3BEA9CED.8C6BF839@reges.org> 2001-11-08 15:43 ` Ian Wild 2001-11-08 22:18 ` Rex Reges 2001-11-22 6:25 ` David Thompson 2001-11-08 16:23 ` Larry Kilgallen 2001-11-08 13:53 ` Marc A. Criley 2001-11-08 22:15 ` Rex Reges 2001-11-09 12:44 ` Marc A. Criley 2001-11-09 15:41 ` Ted Dennison 2001-11-09 15:35 ` Ted Dennison 2001-11-10 6:56 ` john flynn 2001-11-04 1:08 ` David Botton 2001-11-05 14:59 ` Marin David Condic 2001-11-01 14:55 ` Ted Dennison 2001-11-01 21:47 ` P Norby 2001-11-02 17:02 ` P Norby [not found] ` <003301c163c0$289f8c60$45d82c41@vaio> 2001-11-02 19:54 ` JF Harrison [not found] ` <002a01c163d8$25bb4440$2702a8c0@WorkGroup> 2001-11-02 20:40 ` JF Harrison 2001-11-01 11:38 ` Ian 2001-11-01 14:51 ` Marin David Condic 2001-11-02 9:08 ` John McCabe 2001-11-02 16:16 ` Ian 2001-11-02 17:04 ` John McCabe 2001-11-29 16:48 ` Matthew Heaney 2001-11-29 17:12 ` Marin David Condic 2001-11-30 12:49 ` Simon Wright 2001-11-30 14:46 ` Marin David Condic 2001-11-30 16:37 ` Jeffrey Carter 2001-11-30 15:03 ` Ted Dennison 2001-11-30 16:26 ` Simon Wright 2001-11-30 16:39 ` Ted Dennison 2001-11-30 17:08 ` Pat Rogers 2001-11-30 22:53 ` Chad R. Meiners 2001-12-01 8:08 ` Simon Wright 2001-10-29 15:02 ` Marin David Condic 2001-10-29 17:55 ` Paul A Storm 2001-11-01 4:46 ` Richard Riehle 2001-11-02 20:03 ` Dirk Craeynest 2001-11-07 3:57 ` Vincent Marciante
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox