|Perl: the Markov chain saw|
Re: (OT) Where is programming headed?by Dominus (Parson)
|on Dec 15, 2001 at 00:24 UTC||Need Help??|
I think I might agree with your main point, but I'd suggest that in the future you avoid using technical jargon when you're not exactly sure what it means. For example:
Programmers will be necessary until someone solves the halting problem. The automatic programming problem (writing a program that writes programs for you) has been proven NP-complete.
I'm not sure what you mean here, and most of the obvious interpretations are false. If you mean that it's impossible to write a program that writes programs, that's wrong, because I have a program here that I use every day that takes an input specification and writes a machine language program to implement that specification; it's called gcc. Programs write other programs all the time.
I doubt if there's any meaningful sense in which "the automatic programming problem" (whatever that is) can be shown to be NP-complete. If you mean that it's equivalent to the halting problem, you might also want to note that the halting problem is not NP-complete, and revise accordingly.
You said that the C code will fail "as often as not":
But you're mistaken; the result of the test is guaranteed to be true. Certain float values can be compared exactly, and 1 is among those values.
In general, if two floats both happen to represent rational numbers whose denominators are both powers of 2, and if neither float's significand exceeds the available precision, then the values are represented exactly and can be compared exactly. In particular, integral values less than about 253 will be represented and compared exactly.
So while I think you may have good points, the factual errors in your note spoiled its persuasiveness for me.
Hope this helps.