On 12/09/2014 10:33 AM, Per Jessen wrote:
ellanios82 wrote:
On 12/09/2014 10: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. ................
- btw - Tools : some must be fantastic-good : IIRC was it Yast was converted into Ruby code by robot-translator ?
I believe some automated code-generation was used yes. In my experience automatically generated code is largely unmaintainable. Once upon a time, I took over an application that was auto-generated in Ada. It was terrible and we rewrote it in assembler.
I would not say unmaintainable. Look, for example, at the code produced by YACC and LEX. Its all based around regular expressions. As someone said, YACC is like a Swiss Army Knife! Anything that can be reduced to pattern recognition can be done with YACC, and anything that can be reduced to tokenization to LEX. But the output 'tables' are unmaintainable as separate entities. The thing is though, you don't maintain them as separate entities, you maintain the source code. The same could be said for the code produced by RubyOnRails, only its dynamic and you never get to see it. The reason I think this is a poor argument, Per, is that a compiler is an automated too for producing assembly code. You might think of it as the distillation of many experts, an 'expert system' or a highly focused 'artificial intelligence' that knows only one thing: code generation. The output of modern compilers is a long way from the template compiler that came with V6 UNIX back in the mid 1970s! But then modern Complex Instruction Set computers such as the x86 architecture offer so much that is beyond the ken of mere mortals to make full use of. -- /"\ \ / 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