http://qs1969.pair.com?node_id=206223


in reply to Re: Computers declared extraneous
in thread Cheap idioms

I agree with the importance of writing clear code. But this isn't the point that I took issue with.

Your logic is still flawed:

completely unreadable source is of no use to anyone,

Users use code that is "completely unreadable" to them all the time. Code with lost source is sometimes used and may be considered "completely unreadable". If that was all that was available it would be used often.

If every programmer died today, do you seriously think that software would be unused tomorrow?

What does it do?

Don't you have to execute it before it does something?

Do you know?

You could execute it and find out.

How will you find an error if there is one?

You would execute it. If you can not execute it, it has no function.

How do you know what is an error or not?

If it is not executable it does nothing. Is that an error? If it executes and performs the functions desired then it is correct.

The foremost issue is writing legible code.

The foremost issue is writing code that does something, that executes, that performs a desired function. Legibility is a adjunct toward that end.

You are like a person who says air isn't that important, you are taking it for granted.

Your position is ridiculous. If you must cling to it, I hope it serves you well.

Replies are listed 'Best First'.
Re^2: Computers declared extraneous
by Aristotle (Chancellor) on Oct 18, 2002 at 12:31 UTC
    You could execute it and find out.

    Assume that the program produces no messages whatsoever. You run it without parameters, it says nothing. You pass a file as parameter, it says nothing. You list the directory, there's no new file, the one passed hasn't changed. Hmm, that probably wasn't it.

    Or suppose you have a library with absolutely no documentation.

    Tell me how you would go about finding out what the code does at this point.

    Of course the fact that code is executable by a computer is not quite incidental, but the essence of that saying is that you should write your code as if it were. In fact, you are already thinking by these lines, even if you don't realize it.

    Makeshifts last the longest.

      (For the tired audience, Ovid & I are discussing/quibbling/seeking consensus on a big nit. If you take it seriously it can impact how you work and live. )

      programs are letters from one programmer to another. The fact that computers can execute them is only incidental.

      To say that the "essential meaning" of the above phrase is that you should write your code as if its executability is incidental is Humpty-Dumptyism.

      Implied by the view you expressed is that these letters that really are letters deserve, or normally receive, more care and accuracy than programs.

      I realize that clear code is important, you could have cited that from any of my posts in this thread. But I am not thinking like you. I do not support the statement

      the fact that code is executable ... is not quite incidental

      What my code does when executed is the primary issue. The only code that I've written that has not been executed, was written as an adjunct to creating other code that was.

        The only code that I've written that has not been executed, was written as an adjunct to creating other code that was.

        Please explain how code that creates other code was never executed, but the code that was never created by the aforementioned never-executed code, was, in fact, executed.