lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On 20/07/2018 12:23, Soni "They/Them" L. wrote:

On 2018-07-20 05:00 AM, Javier Guerra Giraldez wrote:
[...]

(Code is a language like any other, and can be read like any other.
Sorry, definitely not. Human languages have evolved to allow effective 
communication between people.
Computer languages are not an *effective* mean of communication for 
people in the vast majority of cases. Especially in cases where an 
algorithm is clever enough or the problem is subtle enough.
If they were an effective mean of communication, there won't be 
countless studies and practices in SW engineering on how to express the 
*intent* of code in a way *easily* understandable for humans (literate 
programming anyone).
There is a well-founded rationale behind many corporate guidelines about 
*requiring* developers to put an adequate amount of comments in their 
code. Of course *quantity* doesn't always corresponds to *quality* of 
comments, but you get the point (*effective* code commenting *is* and 
highly valuable skill for a developer and it is more art than science).

I
find this an useful skill to have, as it helps with reverse engineering
and tracking down bugs, and it also helps with reading my and other
ppl's posts.)


I agree with you on this point and it's good for you if you have such a 
skill, but don't expect people to have the same fluency in 
*communicating ideas* through code.
Moreover, the way you express things in code is dependent on your way of 
thinking, which is not evident in the code (the same *intent* could be 
fulfilled by a different algorithm when written by another developer).
Computer languages (especially imperative ones) are not designed to 
express *intent*, whereas in human matters *intent* is sometimes the 
focus of the discussion at hand.
Coders proficient with a computer language can read and understand 
*what* a piece of code does and most probably *how*. The big problem 
analyzing someone else's (non-trivial) code is usually *why* they do 
that that way.