| PLEX86 | ||
Where should the type information be 216On Sun, 03 Apr 2005 19:59:06 -0700 in alt.folklore.computers, "Tom
Myself and coworkers found that getting out of the unstructured flowchart mentality and into the structured flow mentality allowed us to write simpler, clearer, more reliable and robust code, about which you could reason and provide some reasonable guarantees. Also, as Dijkstra, Wirth, and (the other Michael) Jackson pointed out, data can help structure algorithms and select appropriate code constructs, which algorithms and code constructs can also help in selecting and designing appropriate data structures for tackling the problems to be addressed. When I see excessive gotos with no particularly good reason for their placement or use, I have to wonder just how well the developer understood the problem to be solved. Agreed: in development, ease of testing and debugging are most important; in production, reliability and then speed are most important. Where should the type information be 220 Try the specifications of signal handling and I-O. Is longjmp from catching a SIGFPE defined behaviour or... When the compiler is generating gotos, it has certain guarantees about what is going to happen; when the programmer supplies them, all bets are off. My conversion to structured control was a result of maintenance on original programs where the developers obviously had no clear model of the problem to be tackled, reflected in the appearance of the code as hacked at until it worked. Subsequent experience over decades has proved that usually 30-50% of such poorly structured code is useless and can be deleted, often greatly improving the reliability, robustness and performance of the code (without making any other changes), as well as making the intent clearer, which radically simplifies subsequent enhancements, reducing both development and testing efforts. ISTM that some initial buttumptions are made, depending on the information about the control flow available to the compiler; such as: loops normally execute at least once, one of an if-then-else has to execute each time so make an estimate, and single ended ifs may be exceptional so make an estimate or default to not executing. Where should the type information be 217 I would think most compilers would pick this up as a CSE. How about a 25... You work with a compiler: how does it handle branch prediction? -- Thanks. Take care, Brian Inglis Calgary, Alberta, Canada fake address use address above to reply
|
||||
Where should the type information be 217 Alt Folklore Computers from Newsgroups The #1 Usenet Provider on the Internet
|
||||