I'm not a programmer. I wish I were. I've tried to learn it several times, different languages, but never went very far. The most complex piece of software I ever wrote was a bulky, inefficient game of life.
Recently I've been exposed to the idea of a visual programming language named subtext. The concept seemed interesting, and the potential great. In short, the assumptions and principles sustaining this language seem more natural and more powerful than those behind writing lines of codes. For instance, a program written as lines of codes is uni-dimensional, and even the best of us may find it difficult to sort that out, model the flow of instructions in your mind, how distant parts of the code interact together, etc. Here it's already more apparent because of the two-dimensional structure of the code.
I don't know whether this particular project will bear fruit. But it seems to me many more people could become more interested in programming, and at least advance further before giving up, if programming languages were easier to learn and use for people who don't necessarily have the necessary mindset to be a programmer in the current paradigm.
It could even benefit people who're already good at it. Any programmer may have a threshold above which the complexity of the code goes beyond their ability to manipulate or understand. I think it should be possible to push that threshold farther with such languages/frameworks, enabling the writing of more complex, yet functional pieces of software.
Do you know anything about similar projects? Also, what could be done to help turn such a project into a workable programming language? Do you see obvious flaws in such an approach? If so, what could be done to repair these, or at least salvage part of this concept?
I'm glad you like subtext. Me too.
I just had a big "update". EDIT: I'm a little less sure now. See the end.
I found something to teach programming on an immediate level to non-programmers without knowing they are programming, without any cruft. I always wished this was possible, but now I think we're really close.
If you want to get programming, and are a visual thinker, but never could get over some sort of inhibition, I think you should try this. You won't even know you're programming. It may not be "quite" programming, but it's closer than anything else I've seen at this level of simplicity. And anyway it's fun and pretty.
The important thing about this "programming" environment is that it is completely concrete. There are no formal "abstractions," and yet it's all about concrete representation of the idea formerly known as abstractions.
Enough words. Take a look: http://recursivedrawing.com/
[I was excited because to me this seems awfully close to the untyped lambda-calculus, made magically concrete. The "normal forms" are the "fixed points" are the fractals. It's all too much and requires more thought. It only makes pictures, though, for now. However, I can't see anything in it like "application" so... the issue of how close it is seems actually quite subtle. Somehow application's being bypassed in a static way. Curious. I'm sure there's a better way to see it I just haven't gotten yet.]
PS: Blue! Blue! Blue! (**)
** This is a joke that will only make sense if you've read The Name of the Wind: Rothfuss. If you prefer to spoil yourself, here, but buy the book afterward if you like it.
cross-posted here
Update:
See also: www.worrydream.com