4 ms·
Some insight on this, both personal and inspired by a semiotics course I took : Code is not avoidable because, be it text or image, you're still facing element
by norswap 17y ago
Some insight on this, both personal and inspired by a semiotics course I took :
Code is not avoidable because, be it text or image, you're still facing elements that are given a conventional meaning. That is the definition of a code.
Text is considered to be a digital code, because words have no "likeness" link with what they mean, whereas images form an analogical code because an image generally looks like something real.
Now when considering a programming language, textual or graphic, you're in presence of a third system, which is analogical no with reality, but with "conventional" parts of the textual or visual code. Since textual code is inherently conventional, one might be inclined to think it is better suited to programming languages than visual code, whose analogical properties are never used (visual programming languages use arrows and other conventional constructs, never representation of real things).
Moreover, textual code has what is called a metalinguistic property, meaning it can talk about itself but also about other codes (like visual code). Whereas a strictly analogical visual code cannot. Even a digital visual would be less effective since we already know the textual code's conventions but would have to learn the visual ones. And it is obvious that a programming language benefits greatly from metalinguistics (which sometimes goes by the name "reflexion", just consider macros).
Simply imagine the amount of work to implement lisp-like macros in a visual programming language, even if I think there are more intricate things to do in a visual programming language.
As a side note, remark that lisp macros could be made a lot more understandable with a more verbose syntax.
Speaking of which, it's interesting to note the article doesn't speak about conciseness (which as we all know from reading pg and personal experience is important :D). It's the trade-off for digital systems versus analogical systems : digital systems are harder to learn but are more powerful (because of new concepts) and easier (because of conciseness) to use once you know them.
And in the end, I just don't feel something graphic would be easier once you get past simple if/while statements.