> Why do people think programming is wiring up boxes with arrows? That's like 10% of it.
I agree with this but would like to add: Why do people think programming is writing text into an editor? The suggestion that maybe there's a better way than writing stuff in emacs or vim is considered heresy.
You want to maximise the density of information that is visible on the screen.
The limiting factor is human working memory: the more that is visible at any one time, the less I have to remember.
So it makes sense to divide the screen into a matrix of little boxes, and put a symbol in each. That maximises information.
Most programming languages fill those little boxes with ASCII glyphs because those are what's available on a US keyboard. We certainly could use Unicode or something else, but we'd need different input devices.
How could we improve things? At the moment any space after a newline is wasted, unless there's a line comment. I like Chrome web inspector's approach of putting debug evals in there.
Flowchart programming would let you zoom out and parse the program flow visually, something that's not always easy to do when reading a textual implementation.
You're exchanging density at a detail level with being able to visualize the entire program from a 1000 feet high.
About unicode symbols part, I am using Scala to implement a some ideas distributed among some white papers and there is a mathy notation. I use ac-math and Emacs to enter unicode symbols for names of some variables/methods which translate directly from the papers and are easier to read. Also unicode symbols allow me to use math notation in comments to some extend. I'd like to have an environment where I can write LaTeX in comments.
An example use of unicode in comments:
case (Zero, _) ⇒ g.sign == Positive // ∀x ∈ ℝ⁺. 0 < x
> You want to maximise the density of information that is visible on the screen.
The technical term for this kind of response is "rationalization". You're justifying text after the fact, not describing why it was chosen in the first place. (Hint: because we didn't have widely available, non-textual UIs back then is one possible reason.)
It may still be true, of course, but it's definitely not "truth".
I agree with this but would like to add: Why do people think programming is writing text into an editor? The suggestion that maybe there's a better way than writing stuff in emacs or vim is considered heresy.