views:

133

answers:

5

Note: marked as community wiki.

Is there a good analysis of why visual programming languages still haven't taken off? We're still coding these days 'linearly' in a 80x25 text window; while the concepts we represent (data structures, algorithms) seem like they can be more intuitively represented visually.

A: 

An 80x25 text window? Really? Not to compare sizes, but my text window is quite a bit bigger than that. But regardless of that, I personally can't imagine a visual programming language that would satisfy me. For technical information, text is far more information-dense than video. I would much rather skim an article about a technical subject than watch a video about that subject in five times as much time (seriously guys, knock it off with the videos already).

In a similar way, I would much rather spend a few seconds typing a few lines of code, than a few minutes dragging and dropping things around to accomplish the same thing. It's about conciseness, and expressiveness. Visual programming languages just don't have it, in my experience. Good for teaching fundamentals of programming? Sure. Alice is pretty neat. But not for day-to-day work.

On a somewhat-related note, Code Bubbles is an interesting take on improving the "80x25 text window".

Joel Mueller
It's not the size of the text window that matters. It's the DPI.
Mike Two
+1  A: 

Dont forget with VS 2010 (.NET 4), its now multi monitor supported, which mean you can now allow editors, designers and tool-windows to be moved outside the top-level window and positioned anywhere you want across to any monitor on your system.

kevchadders
+2  A: 

Two approaches to programming that aren't just simple text come to mind:

I think Structured Editing is pretty interesting, because it takes the 'braces with idententation' convention, which has proven really useful for keeping code organized, to its logical extreme. I think it could really be something, if someone were to make a brilliant (from a usability perspective) implementation of it.

The LabView approach, on the other hand, doesn't excite me so much. The visual idioms don't seem powerful and obvious enough, compared to text. I haven't used LabView much though, so it's probably better than I think.

Joren
One of the most powerfull patents in LabVIEW is the representation of a for-loop. They studied quite some time (3 or 4 years if I recall correctly) on that little (but very important) feature. This shows how different you need to think when you convert from text to visual programming.
Ton
It reminded me of a foreach loop in a way, because if I recall correctly, when the data wire containing a collection crosses the loop boundary, it transforms into a data wire that contains an element of the collection.
Joren
A: 

There is quite some mixing and matching.

For instance, people do use GUI editors like NetBeans Matisse or VS.Net because some things are easier to draw than to code. Some people use GUI data model editors: it's much easier, faster and (I would argue) produces a better result than writing DDL. Even when you write code, you have all sorts of graphical tools to help you understand what you're doing (the eclipse hierarchy view, for example).

On the other hand, we do still use similar text editors to the ones people used 30 years ago for a lot of our work. :) It's obvious that there is value to be had from both.

Tomislav Nakic-Alfirevic
A: 

MatLab? I cannot think of prototyping engineering problems without visual tools of matlab.

Nishu
Matlab is not a visual programming language. It's core language is an ASCII based script (.m-file)
Ton