
Code is not inevitable - MaysonL
http://maetl.net/code-is-not-inevitable
======
norswap
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.

