|
|
|
|
|
by kpil
3487 days ago
|
|
I wholeheartedly agree to almost everything you say and especially that everyone is probably able to learn some programming in a suitable language, just as they can learn to read and do math - and it would be good for them if it was taught well, if not because it gives you a tool for solving problems that you might not otherwise acquire. But I am certain that not all, or perhaps not even the majority, have the skills required to pursue a professional career. I doubt however, that there is much to gain from simplifying the languages, and especially not by going the graphical programming route - it's a chimera occluding the actual problems. Graphic programming could be used as learning tool, just like a set of training wheels, but just as them it would eventually become a hindrance as both make simple problems simple and everything else much more complex or virtually impossible. The tools and languages can be improved of course but I do not think there will be any ground breaking improvements, just like there probably will not be any ground breaking simplifications in mathematics, or the process of learning it. As an side note, I personally wonder why not more work have been done in incorporating first class support for entity-relation and/or graphs in languages - which is probably useful when modeling actual real world problems. But as it is still possible to build using generic language constructs, no one seems to care. Or maybe the problem is that the educational system is so bad that too many are actually struggling to not topple over with their bicycle even after some years in university. |
|
For visual languages such as Squeak, and Skov, the idea is indeed to make programming easier for people.
However, visual programming has another important raison d'ĂȘtre. MIMD programs algorithms are more naturally expressed as dataflow, so that task scheduling and load-balancing become almost trivial, and dataflow is more naturally expressed graphically.
Now we have multicore machines and it is difficult to make optimal use of resources with mainstream imperative programming languages.
Graphs are, as you point out, a very flexible data structure, and there ought to be something to be gained in representing programs as graphs, and having programs operate on graphs. Lisp and Prolog benefit from homoiconicity.