3 ms·
> Decide whether a language is for humans or for machines and do one of those things. And do the one thing well instead of both, but badly. The thing is all th
by intrepidhero 6y ago
> Decide whether a language is for humans or for machines and do one of those things. And do the one thing well instead of both, but badly.
The thing is all these languages (ASM, C, XML, JSON, Python, etc) are fundamentally about communication between a human and a machine. We make tradeoffs between making them easy to parse (for the machine) or easy to read and write (for the human) but they all must address both needs. And when you have a problem domain as large as "2D Vector Graphics" or worse, "The Web", complexity is unavoidable.
I'm not saying we can't do better than SVG. I agree with many of the author's points and would love to see a minimal subset of SVG that is easy to write by hand. The tradeoffs are engineering decisions and important. But don't pretend that you can pick a goal such as, "easy for humans" and ignore all the other dimensions of the language design problem.
- Eisfunke 6y agoYou're absolutely right, it is always a trade-off. I've added a paragraph at the end of my article focused on that particular problem to address that: https://www.eisfunke.com/article/language-design-machine-or-human.html https://www.eisfunke.com/article/language-design-machine-or-...
- andrey_utkin 6y ago> fundamentally about communication between a human and a machine. True! And we should not postulate who is at both sides of the communication - machine or human. It's like postulating that a hammer is a tool which must be held by a human hand, which then precludes robot-operated hammers.