Skip to content

"I do not write code for computers" #22

Open
@pachunka

Description

@pachunka

I'd like to briefly say I think this project is a great idea - a field as open and potent as programming deserves a common ground its participants can believe in.

As invited by your readme, I'm taking issue with tenet no. 6, and the phrase "I do not write code for computers" - as a plain English statement, it's obviously false. Right now, in another window on my screen, I'm writing experimental code for my computer to run, and for me (admittedly human) to observe the effects of. The phrase obviously isn't meant to be taken so literally, but to me it's, as a result, actually unclear what the tenet means...

I think the tenet is trying to imply that I, while programming, mustn't forget that, ultimately, this code will run on machines used by people, but the tenet might instead (or also) be talking about other programmers who may need to run or inspect the code - and I don't know which it's talking about.

If it's the former, I agree with the tenet - whereas if it's the latter, I actually think it's at odds with the oath as a whole, because sometimes code that is friendlier to an end-user's computer must be less friendly to a fellow programmer. e.g. Crafting code that takes less processing time/power for a user's computer, but that takes more time/commentary to explain to a fellow programmer.

At minimum, I think the tenet needs to clarify which set of "people" the it's referring to; the users, or fellow programmers. (other tenets vary as to which group they affect, but they tend to specify; e.g. no. 0 vs. no. 4)

At maximum, the tenet may even need to be split into two tenets, because I think the 'pull' between whether to serve the end-user or serve the programmer is at the heart of this oath, and any ambiguity that can be removed on this aspect will strengthen the whole project.

Once again, thank you for pursuing this; I think it has amazing potential.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions