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, MSGID_RANDY autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,5f8432149982f35e X-Google-Attributes: gid103376,public X-Google-Thread: fca1b,5f8432149982f35e X-Google-Attributes: gidfca1b,public From: mark_lundquist@my-deja.com Subject: Re: Ada and QNX Date: 2000/11/03 Message-ID: <8tvfu0$5pt$1@nnrp1.deja.com>#1/1 X-Deja-AN: 689399936 References: <8r1i82$ri3$1@kujawiak.man.lodz.pl> <8r5pe5$h70$1@nnrp1.deja.com> <8FCDFD7EEnopenopena@63.209.170.206> <39EA6305.CD5CFE1F@ix.netcom.com> <39EA9161.6469DDE2@home.com> <8sf9p0$kpg$1@nnrp1.deja.com> <39EB42B1.A14BDCB6@motorola.com> <8sfm52$f4$1@nnrp1.deja.com> X-Http-Proxy: 1.1 x72.deja.com:80 (Squid/1.1.22) for client 130.213.202.87 Organization: Deja.com - Before you buy. X-Article-Creation-Date: Fri Nov 03 22:58:11 2000 GMT X-MyDeja-Info: XMYDJUIDmark_lundquist Newsgroups: comp.lang.ada,comp.os.qnx X-Http-User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt) Date: 2000-11-03T00:00:00+00:00 List-Id: In article <8sfm52$f4$1@nnrp1.deja.com>, mjsilva@my-deja.com wrote: > In article <39EB42B1.A14BDCB6@motorola.com>, > Igor Kovalenko wrote: > > mjsilva@my-deja.com wrote: > > > > > > In article <39EA9161.6469DDE2@home.com>, > > > Igor Kovalenko wrote: > > > > Ada is way too high and abstract to be good for system level > > > programming > > > > > > What low-level system-programming functionality is missing in Ada? > In > > > fact Ada has more low-level functionality than C or C++. It was, > after > > > all, originally designed for -embedded- applications. > > > > > > > I did not say anything is missing. I said that it is 'too high' which > > should mean there is just too much stuff to bear along with what you > > really need in most cases. > > OK, what 'too high' stuff must you bear in order to do system-level > programming in Ada? I've written device drivers, bootloader and debug monitor code, and a full TCP/IP stack in Ada, and I have to say I really like Ada for system-level programming. Even in a "system level" project you are going to have some bits that are really down on the bare iron, and then the rest which is really your logic or whatever and is not particularly "system-level", except by virtue of being part of something bigger (like an OS) that you do consider to be "system- level"! And for all the rest of those bits, being able to program at an appropriate level of abstraction is quite nice. For the "bare iron" bits, on the other hand, I really find nothing in Ada that gets in the way or is "too abstract". It's just not there. This is from my experience of actually using it. The language will, however, tend to get in your way if you insist on a C-style way of doing things, so you have to learn how to do it the Ada way. It's also true that the Ada locutions are less cryptic and more verbose, which until you get the feel of it may make it feel "too abstract" -- but really it's not. I haven't really done any system-level programming in C or C++, but to be fair I think a fair bit of any programming project in C (and even C++) becomes indistinguishable from system-level progamming. An example would be whenever you have to deal with char [] strings (and you do have to deal with them, even in C++, because while you might prefer to use String objects instead, at some point you usually have to interface w/ pieces of code that did *not* use String!) Another example is when application code has to call an OS for which C is the natural binding. In Ada the virtually-system-level bits are still there where you have to deal with the OS, but if you're using a thick binding (like POSIX) then the low-level bits are hidden for you in the binding. Mark Lundquist Rational Software Sent via Deja.com http://www.deja.com/ Before you buy.