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: 109fba,d275ffeffdf83655 X-Google-Attributes: gid109fba,public X-Google-Thread: 103376,d275ffeffdf83655 X-Google-Attributes: gid103376,public From: adam@irvine.com Subject: Re: Ada vs C++ vs Java Date: 1999/01/21 Message-ID: <78876r$agj$1@nnrp1.dejanews.com>#1/1 X-Deja-AN: 435349316 References: <369C1F31.AE5AF7EF@concentric.net> <369DDDC3.FDE09999@sea.ericsson.se> <369e309a.32671759@news.demon.co.uk> <77ledn$eu7$1@remarQ.com> <77pnqc$cgi$1@newnews.global.net.uk> <8p64spq5lo5.fsf@Eng.Sun.COM> <8p6vhi5mv34.fsf@Eng.Sun.COM> <8p6yan1xger.fsf@Eng.Sun.COM> <780so2$u83$1@nnrp1.dejanews.com> <8p6emoqzt10.fsf@Eng.Sun.COM> <1999Jan20.142122.1@eisner> X-Http-Proxy: 1.0 x13.dejanews.com:80 (Squid/1.1.22) for client 192.160.8.21 Organization: Deja News - The Leader in Internet Discussion X-Article-Creation-Date: Thu Jan 21 21:46:06 1999 GMT Newsgroups: comp.lang.ada,comp.lang.c++ X-Http-User-Agent: Mozilla/3.0 (X11; I; Linux 2.0.34 i686) Date: 1999-01-21T00:00:00+00:00 List-Id: In article <1999Jan20.142122.1@eisner>, Kilgallen@eisner.decus.org.nospam wrote: > In article <8p6emoqzt10.fsf@Eng.Sun.COM>, Mike Coffin writes: > > This might be a valid argument if I wrote all programs from scratch, > > never inherited a program or library from someone else, never had to > > debug another's program, and never had to work in a team. I don't > > have that luxury. If my team uses Ada, I *have to* understand > > overloading and tasking. > > Competent programmers do not use exotic (viewed from the problem > domain) features that are not needed for the problem at hand. If you > are maintaining a GUI calculator (looks like a pocket calculator on the > screen), you should be very skeptical if your predecessors or cohorts > chose to use Ada tasking. If you are writing a general message switch, > on the other had, use of tasking is to be expected. > So what you encounter in code you did not write should not vary a lot > from the set of features you would have chosen if you wrote it all > yourself from scratch. Good point. To further this point: Say you had to work on a team that had written a general message switch. If they had written the program in Ada, you'd have to learn tasking. But if they had written it in C, what would they have used to implement the same stuff that tasking implements in Ada? Somehow, they'd have to write code that accomplished the same thing. Would they use POSIX threads? Well, then you'd have to learn that. I only know a little about the POSIX threads library, but I know it has a lot of little subroutines. (A quick "man" on one operating system shows 53 routines, some of which might be specific to that OS.) So you'd have to learn about how that whole library works, and the proper way to use those routines, and what ways are improper and what might happen if you call a routine at the wrong time or forget to call a needed routine or whatever. (At least in Ada, some of the things you can do wrong are flagged by the compiler.) Or did the team write its own library or macros for handling the concurrent stuff? Or, instead of a library, do they have conventional ways of coding the spawning and synchronization and whatever? Well, then you'd have to learn the semantics of their library routines or macros or conventions, which might be even harder because their code will be poorly documented if they're typical C programmers :-), and this knowledge won't be something you can take to another job. Plus, you won't be able to find any tutorials on the 'net that could help you. The point is this: If you (Mike) think that joining an Ada shop means you have to learn more complex stuff than if you joined a C shop, you're wrong. You'll still have to learn some complex stuff if the team uses C. True, the stuff you'll have to learn may not be in the language definition; it's somewhere else. So what? -- Adam -----------== Posted via Deja News, The Discussion Network ==---------- http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own