Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The idea that there is a man/machine trade off is a fallacy. In fact whatever is hard for the machine is also hard for the human and vice versa. Syntax requiring hard-core parsing techniques is also harder for humans to understand and to parse.

If you're already thinking in abstract syntax, encoding it in concrete syntax is extra work. The more convoluted the concrete syntax, the more work it is. And then consequently to decode it.

Analogy:

"When you write plain text, you're doing the job that the machine should be doing for you because you're writing in the direct decoded output! You should type your data directly in compressed format; then you could take advantage of GNU gzip to decode for you! The gzip format has useful syntactic sugars for reducing verbosity, like indicating that some fragment of a few bytes is to be repeated. And you can further express yourself in fewer bits using convenient Huffman codes and such."

The fallacy is rooted in taking it for granted that the convoluted representation is the more convenient one in which programmers actually think and, furthermore, that the only operation whose cost matters is the conversion of that representation to the abstract one, not vice versa.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: