4 ms·
> Or are you saying we should program in visio-style diagrams? Yes. It should be possible to develop an interface that is actually faster and cleaner to progra
by lukev 16y ago
> Or are you saying we should program in visio-style diagrams?
Yes. It should be possible to develop an interface that is actually faster and cleaner to program in than text. I'd love to see what touch interfaces can do in this regard.
It's never been done, granted. But it should be possible. I hope developers aren't dissuaded from attempting graphical programming interfaces just because everything that has existed up to now has sucked.
- rbanffy 16y ago> Yes. It should be possible to develop an interface that is actually faster and cleaner to program in than text http://scratch.mit.edu/ http://scratch.mit.edu/ ? I am not sure I would like to use it for anything complex.
- lukev 16y agoThat's just an imperative program using "blocks" instead of "lines." An innovative, usable visual programming language will introduce a new programming paradigm (probably based off of functional languages) that provides deep integration with the GUI and plays to its strengths, not just do a linear line->block transliteration into a graphical environment. Although, Scratch is great for teaching kids about programming.
- jerf 16y agoSyntax highlighting is pretty much it. Adding much more would blow out our ability to handle complexity and just be too busy on the screen for anything to make sense. Go look at a language parser sometime; we've actually put a lot of work in any production-ready language into that "low tech" text interface. The tree approach is useful for macro writing, and if you don't know Lisp maybe you should go check one out, but I'm very unconvinced there's a better way to actually interact with the code even in theory. It may be visually unimpressive but it's actually incredibly, incredibly sophisticated under the hood. If it's good enough for human speech, it's more than good enough for programming.
- lukev 16y agoYes, I love lisp - I'm a huge Clojure buff. And that's exactly what makes me think a graphical programming interface could be done well. As languages get more lisp-like, it seems as if they would become more conducive to a graphical programming environment. I imagine looking at something that looks a lot like lisp - it shows the high-level structure of the code as a tree. But it could allows me to change the level of abstraction I'm viewing on the fly. Also, it could reveal (or hide, at my preference) lots of metadata about the code... is it pure, is it stateful, is it parallel, etc. In essence, it allows you to look at your code as an n-dimensional entity instead of a 2 dimensional file. Basically, I'd like to see what happens when you decouple the code from its presentation. Then, you can choose alternate presentations (including plain text!) depending on the task at hand.