Why is this a part of the oath?
> I will use technology for good and for the progress of mankind, free of evil, for the betterment of peoples' lives.
Why is this a part of the oath?
> I will use technology for good and for the progress of mankind, free of evil, for the betterment of peoples' lives.
> Why is this a part of the oath?
Especially considering it excludes potentially useful programs generated by genetic algorithms. Computer generated, computer readable, but typically completely obtuse to humans. Hell, I've experimented with generating unit tests this way in similar fashion to fuzz testing, to good effect!
It's also prejudiced against obfuscated C competitions and various "hack this computer" style challenges which encourage the development of reverse engineering skills.
>> I will not use my knowledge for unfair profit, financial or of other kind.
Fair is a potentially immoral goal in my eyes, even given the incorrect presumption of moral actors. As an extreme example, if the unfair solution greatly benefits each individual more than the fair solution would benefit that same individual, the unfair solution is clearly the correct choice. Taken to it's extreme, "fair" can mean "nobody has anything".
>> When through technology I gain access to private data, I will respect privacy and will not abuse the information at hand.
Bob's "abuse" is Alice's "whistleblower".
Even treated as mere general principles rather than an oath, I would have trouble with this list.
This is not code you write. You wrote the program that generated your code or the constraints the program used. That is your code and that should be human-readable.
Does a compiler generate human-readable machine language code?
One could argue it's indirectly written. If I write C# that generates C#, my coworkers will generally yell at me with good reason if the generated C# is illegible.
One could also argue that the oath doesn't talk specifically about what I write. At work I will try to uphold readability when reviewing coworker's code as well when reviewing it, regardless of the fact that I did not write it myself. I would also be inclined to try and uphold readability when another program writes the code.
> Does a compiler generate human-readable machine language code?
It can, with the proper options and support tooling, and you probably want it to. How else are you going to debug crash dumps from the wild? pdbs are immensely useful to understanding crash dumps even without the original source code to map to. My work computer has a 1TB+ folder named "builds", serving no other purpose than to archive old releases with corresponding assets and PDBs to ensure those EXEs are easily human-readable, in turn making crash dumps easily human-readable.
No other category takes up more space on my hard drives at work or at home. Even that really big one nobody tells mom about! All dedicated to keeping that stuff human-readable.
Bob and Alice both volunteered to read Hillary's and Marco Rubio's donation plea script which contains personal information about the individual being called. Bob and Alice are both uncomfortable that they have access to the private health insurance information of adults in their neighborhood because they volunteered for a political candidate who purchased it from Lexis Nexis. What should Bob and Alice do?
"Betterment of mankind" + "human-readable code" + "ask a coworker for help" = ???
P.S. check out SWEBOK and SEMAT. Software Engineering Body of Knowledge, and Software Engineering Method and Theory.
Unless you're Fabrice Bellard.
http://bellard.org/jslinux/tech.html