From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,ed45459060d00f87 X-Google-Attributes: gid103376,public From: Alan Hohn Subject: Ada jobs & Programming: Art or Science? [was: MN] Date: 1999/02/16 Message-ID: <36C99BDF.BF0FA38F@mediaone.net>#1/1 X-Deja-AN: 444983953 Content-Transfer-Encoding: 7bit References: <79scn2$k04@drn.newsguy.com> <36c25c45.0@news.pacifier.com> <79v9f4$fe$1@remarq.com> <79vd9b$45k$1@remarQ.com> <7a1eir$6oe$1@nnrp1.dejanews.com> <36C8A705.597D432A@planet8.tds-eagan.lmco.com> <7aablt$qqt@drn.newsguy.com> X-Accept-Language: en Content-Type: text/plain; charset=us-ascii Organization: Lockheed Martin TDS Mime-Version: 1.0 Newsgroups: comp.lang.ada Date: 1999-02-16T00:00:00+00:00 List-Id: kevin@woldnospam.com wrote: > Is there any other place an Ada programmer could work? Welcome to this thread. That's what it's about. Please read other messages. > > > >3. I know for a fact that I make more as an Ada software engineer than > >I would as a C++ whatever, because I got offers in both; > > It is obviouse if you work as an Ada programmer, sorry, "engineer", > you'll make more than C++, since people will pay you based on your > experience. But if you have 2 people with equal skills in Ada and C++, > the C++ programmer, will not only have more open opportunities to choose > from (and none of them to have to be to make software to kill people > and tree), but they'll make more money also. > In all this drivel, there were a couple points raised which I neglected to address adequately. This is why we do peer reviews, right? You get someone in who is ignorant so they can question your assumptions and determine whether or not they are warranted. Kevin makes a point here which, if applicable, would hurt my argument. If my C++ experience does not match my Ada experience, I would not be qualified for the really good C++ jobs. (I know, I'm putting too much emphasis on the language again, but we're working in the constructed argument we're given.) My personal situation: I started programming in BASIC and moved to Pascal and C. I really only started learning Ada when I went to college, where I also did work in C++ on X. When I graduated, I was able to find good, well-paid work doing Ada even though my only real-world experience was Pascal (the Delphi variant) and C++. I'm left open to the argument that I don't have the Windows C/C++/MFC experience necessary to get some high paying C jobs. I do have a great deal of Windows and event-driven programming experience, but not in that specific area. But I've looked at a *lot* of those job listings, some of which even include salary range (us entry-level types at least have the luxury that salaries are better published) and the top-end range (for applicants with a few years' experience) was less than or equal to my starting salary. So I think my decision to at least learn Ada was a good one, not least for what it's taught me about software engineering. On the topic of whether or not what we do is science or art, I sympathize. I too, while learning how to program, frequently felt that the "rules" were either intuitive or needlessly strict. I've done a great deal of tutoring in many languages and have also noticed that some students need no explanation and some require a great deal. It seems intuitively that there must be some talent which is essential to a good coder; that is, someone who can take a design and implement it reliably and efficiently in source. But the hard truth, which was learned through many failures of large projects containing the best and brightest programmers in the industry, is that coding is not nearly the most important part of developing software. Experience has shown (and I recommend you to Brooks' _The Mythical Man-Month_) that the best coders cannot write reliable software if there is a bad architecture or design, and mediocre coders are sufficient to write well-designed software. What this means (and this is why the distinction between "programmers" and "software engineers" was created) is that the most valuable people are the ones who can conceptualize a system, irrespective of the environment in which it operates or the language in which it is coded. These people still need the spark of creativity that good programmers have, but they also need to follow sound engineering practices. And I don't think that this is unique to software engineering. We admire the beauty of the Golden Gate Bridge, but it's still there because it was well-engineered. Similarly, we admire the work of Gregor Mendel for his creativity in imagining how genetic traits are inherited, but the work of cross-breeding all those plants required good engineering. And by the way, I think it's great that Ada is used in the medical field to save lives. I simply wanted to say that I work on military projects and I'm proud of it. Best regards, Alan Hohn