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,76da32d8c4934801 X-Google-Attributes: gid103376,public From: dale@cs.rmit.edu.au (Dale Stanbrough) Subject: Re: Ada --> C Translation, was: Win CE target Date: 1998/10/11 Message-ID: #1/1 X-Deja-AN: 399798501 References: <6u6flv$qn7$1@nnrp1.dejanews.com> <360FB3B0.5B0E218C@galileo.mpi-hd.mpg.de> <6vobnk$vt9$1@jupiter.cs.uml.edu> X-Complaints-To: abuse@cs.rmit.edu.au X-Trace: emu.cs.rmit.edu.au 908062246 10810 131.170.27.23 (10 Oct 1998 23:30:46 GMT) Organization: RMIT NNTP-Posting-Date: 10 Oct 1998 23:30:46 GMT Newsgroups: comp.lang.ada Date: 1998-10-10T23:30:46+00:00 List-Id: Dr Amirez wrote: " Well, C didn't have exceptions for years and probably will never have it. That didn't keep it from being one of the most successful languages ever created. If you consider a feature rich language a better language then let me tell you this. I remember seeing a question on this forum that goes like this: "If a task blocks on I/O, do other tasks get a chance to run or the *process* will suspend itself, and no task will run until the process get scheduled again? " Someone responded that it's undefined. Well, I would think such an important feature should be very well defined instead of being left as an excercise for the user to find out how that is implemented on their systems. After all, isn't Ada intended to be a system programming language? You can't program systems using features that are system dependant themselves. The more features a language has, the more flaws it has. You, as an Ada programmer, probably know better than I". Ok, let's put your rather simplistic analysis to the test. An issue of Communications of the ACM tested a large number of Unix utilities (vi was one of them) to the test by feeding them with a stream of randomly produced characters. A very high proportion of the programs crashed (core dumped!). This is from a simple language. Why did this happen? If it is such a simple language, surely by your logic, any program will be aok? Lets face reality. A language with more features may be harder to implement. There may be some flaws in the definition. But does it mean that the language can't be used to create reliable code? Certainly the opposite (a simple language will always produce good code) isn't true. What it really means is you have to analyze the features to see if they help you write better programs. Another recent article in Communications of the ACM had a discussion about all the terrible things that could happen in programs (it did a fault analysis of a large number of (C) programs). Guess what.. a large number of the _run time_ problems in these programs would have been _compile time_ problems in Ada. Your analysis seems to have the depth of someone comparing the space shuttle to a fireworks rocket... "Has rocket motor?" "Check!" "Takes off vertically?" "Check!" "Is firework rocket cheaper?" "Check!" "Firework rocket simpler?" "Check!" "Sheesh! why would anyone use a more complex Space shuttle when a firework rocket is cleary much more useful!" You then rather amazingly assert... "You can't program systems using features that are system dependant themselves" Once again I will point you at C. In this language the size of an integer hasn't been defined. This is a system dependent feature. By your definition you can't program systems with C. You had better ring up AT&T and tell them the bad news... Dale