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.6 required=5.0 tests=BAYES_05,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,a3782bc93aeb7709 X-Google-Attributes: gid103376,public From: ian@rsd.bel.alcatel.be (Ian Ward) Subject: Re: Just a question... Date: 1996/04/17 Message-ID: <4l322p$n7q@btmpjg.god.bel.alcatel.be>#1/1 X-Deja-AN: 147994804 distribution: world references: <4l32nn$mqn@boson.epita.fr> organization: Alcatel Bell Telephone reply-to: ian@rsd.bel.alcatel.be newsgroups: comp.lang.ada Date: 1996-04-17T00:00:00+00:00 List-Id: lachen_p@photon.epita.fr (patrick lacheny) writes: What are the 3 or 4 pieces of advice you would give to a C programmer who wants to use Ada ? Sorry Patrick, my old son, I've got six. 1. If you try to write Ada in the same manner as 'C' then you shall get nowhere, write crap code, and then give up. Unless I am writing both every day, it takes me a week to switch thinking between the two respective languages. (Unlike Lisp which, a week after writing something, I think "I can think of a better of doing that. Hmmm!" so I rewrite it, and then a month later, the same again, and so on.) 2. As a 'C' programmer you shall get infuriated with the way it insists things are done. If you let this get to you and say "Why can I not do X?" then see point 1. If you start doing things the 'Ada' way, you will be pleasantly surprised at sheer speed of the delivered code you turn out. Note that when I say "delivered", I mean that you never hear from the users of your application again (at least regarding your little application.) Reading the rationale is a good way to start to think in Ada terms. 3. Don't try to run Ada on the ZX-80, or the CBM Pet, or any other toy, including toy 'operating systems', because you will just get pissed off. That said, anything powerful enough to have a hardware multiply will be just fine. 4. When somebody of great experience who you respect, asks you "Why do you want to learn that? We used it on a Unix project five years ago but all the tasks hung whenever any task wanted an I/O service, so we had to use lots of small applications in 'C'." ask them why they did not write their small applications in Ada. Chances are they got stuck on point 1 and gave up, forever hating the language, (to be fair here they could have been using one of any number of compilers that were moderately crap five years ago, but now aren't, that does not mean that new Ada 95 compilers coming out from the big houses are going to be totally bug free, it is effectively a new language after all.) Or if they look as though they are going to really start taking the piss, just shine them on with a reply such as: "I thought Unix was a truly great operating system, and supported loads of languages. Did Unix not support asynchronous Tasking_Services and I/O, like VMS, then?" :-) <- (Laurence please note.) 5. When you learned it, have a go at Lisp, it will really make you think, it is beyond, then TPU. 6. Don't forget 'C', ever, because anything you can do in 'C' with pointers, that a compliant Ada compiler will let you get away with, will stand you in great stead, when you have to do any dynamic applications. Above all, you have got to love the language. If you don't you'll get nowhere. However, if you love programming, then you love all languages. Just bear in mind that no love is as great as your first. Blessed are the bigots. --- Ian Ward's opinions only : ian@rsd.bel.alcatel.be It's great when all the documents are finally signed off, is it not? Ian loves, Zilog Z80, Fiat 126's and Durham City. (Today.)