3 comments

[ 0.96 ms ] story [ 1671 ms ] thread
This has been sold repeatedly as a bill of goods but its not true for two reasons.

First, code or written text is the most compact and information-rich medium that humans have. It's how we learn and share complex information with each other. Therefore it makes sense as a computer programming medium. The corollary is using an alphabet to form words and sentences, rather than using ideograms or pictures.

Secondly, the machine also runs on code. There is a direct relationship between the code we write and the code that is actually executed on the processor. So it makes sense to write code if we are expecting code as the final product.

I think it's wrong to say that programming is not difficult. It's one of the most difficult jobs in the world. The hard part of programming is not languages or syntax, its architecture and bulletproofing and debugging -- and those become more difficult with visual code tools, not easier.

The point is not that we should code using visual tools, but that our code should be visualizable.

And for debugging, we write textual pretty printers for data structures, but wouldn't it be better to have them graphically visualized.

Keep the best of both worlds.

I don't think so. No list of tables, graphs, lines, boxes, globes, or whatever "visually" improves code and it never really has. That's why none of those products are very successful.

It would be great if there were some kind of documentation generator that produces boxes and lines out of real code. Today's tools want you to code AND draw boxes, which is really dumb -- or just draw boxes and hope the code underneath works, which is even worse.

There are some exceptions. Synthesizer programming is often done visually. So is programming instruments with LabView. But for general programming, no, visual is not the way.