On 16 Apr 2008, at 03:40, Phillip Gawlowski wrote: > I wouldn't fly in an aeroplane that relies on the runtime to catch > errors. I wouldn't fly in an aeroplane where a runtime error couldn't be caught. That's because there will be runtime errors regardless of how well designed and analysed the code is. > Take the Space Shuttle as an extreme. Does the language breed > perfection > in the Shuttle's source, or is it the process NASA uses? That process includes implementing fail safe conditions for runtime errors. Without those the developers would be legally culpable for any deaths that occurred as a result of their negligence. Waking up in the morning knowing that is surprisingly good at focusing the attention on detail... > I bet you dollars to doughnuts that it is the process, with > more-than-due-diligence in writing and testing the software. That the > requirements are clear cut and well understood is another bonus. > > Languages don't matter. Compilers don't matter. Process, however, > does. > > Or methodology. TDD has its benefits, as does BDD. Without these, the > Agile way wouldn't work. QA is the key, not that language. The court is still out on TDD and BDD. None of my friends in the avionics industry has much confidence in these techniques, but the main goal there is systems which don't kill people or destroy millions of dollars of equipment. The only argument I see in favour of that particular brand of agile development is that the problems involved are essentially human rather than technical and the code is just a way of forcing people to make decisions in a timely fashion. Also whilst QA techniques transfer fairly well between languages, if given the choice between two languages with different levels of verbosity it is always advisable to use the less verbose language: there's less to test, less to go wrong, and less likelihood of muddling your (often vague) requirements. Ellie Eleanor McHugh Games With Brains http://slides.games-with-brains.net ---- raise ArgumentError unless @reality.responds_to? :reason