On 12/09/2014 03:46 AM, Per Jessen wrote:
There tools such as formal programming, but I have not heard of anyone actually making productive use of it. It's too cumbersome, but in theory you can _prove_ that your code does exactly what it is specified to do. Now we just hope you have a perfect spec to write to, hahaha.
I have; as I said, NASA for Deep Space projects. Its not so much cumbersome as overwhelming as it has to consider so many interfaces and surfaces and more. That escalates with the (N+1)th power of something or other and size is a key part of that. Its one reason that so much of the NASA deep space code is so small. The explosion of code volume and 'function' and 'eye candy' we have in many Linux projects, especially GUIs, is part of the problem. The old 1970s UNIX idea of small programs that did one very specific thing and means of combining them was an attempt to fight the way commercial programming was going at that time with systems like CICS. Sadly the 'enhancements' from Berkeley such as VI[1]and the evolution of the original small and fast Bourne shell into BASH are part of a code explosion. Lets not even start on the GUIs like Gnome and KDE whose combinatorial complexity is unmeasurable! Some of that 'candy' is driven my feature-driven marketing, but some of it is just human nature. The discipline involved in that kind of "Code? Why that's the last thing I'll do" sort of careful analysis and design, and then hand it over to testing and have them humiliate you, and lets face it, testing is no where near as much fun as coding, well that kind of discipline takes enormous motivation. [1] See for example Rob Pike's 1983 presentation at USENIX "Cat -v considered harmful" http://harmful.cat-v.org/cat-v/ -- /"\ \ / ASCII Ribbon Campaign X Against HTML Mail / \ -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org