17 ms·
I think the reason is that text is already a highly optimized visual way to represent information. It started with cave paintings and evolved to what it is now.
by Changu 9y ago
I think the reason is that text is already a highly optimized visual way to represent information. It started with cave paintings and evolved to what it is now.
"Please go to the supermarket and get two bottles of beer. If you see Joe, tell him we are having a party in my house at 6 tomorrow."
It took me a few seconds to write that. Imagine I had to paint it.
- GuiA 9y ago请你到超市去买两瓶酒。如果你见Joe,告诉他我们明天六点钟参加派对在我的家。 Here, that was quite fast to paint. Would have been even faster with a proper brush instead of a keyboard :p
- ghurtado 9y agoIf that was a painting then surely I would have some remote idea of what it represents. As it is, I (and many others) don't.
- BenjiWiebe 9y agoUnless it was modern art, of course.
- threatofrain 9y agoMaybe he's making a joke about how Chinese characters evolved from more pictorial-like elements, and are in a sense abstractions over pictures.
- humanrebar 9y agoEven harder with pictures, searching and, sharing, and refactoring: "Joe has been way too busy yesterday. What did you ask him to do in the last week?" "Yeah, that's too much. Just ask Jessica to do the emails going out next week."
- david927 9y agoSo do you use text files for storage or a database? Is your company's accounting system in Word or Oracle? Are programs text, like a novel, or is it data? And to find out, would you query Moby Dick? Not really -- at least that's not how it's meant to be consumed. You read it from beginning to end. Would you read your program from beginning to end or would you query it? You query it, exclusively. I submit that programs are data, not text, and visual programming then becomes like data visualization. Text is holding us back.
- afarrell 9y agoRight, code is data. But the interface to write and modify that data is text. Consider, how long does it take you to draw an infographic representing the percentage of the United States that has a college education? How long does it take to modify it when you realise it is a mistake Now how long does it take you to represent/change that data with text?
- david927 9y agoYour example is strange. Changing the text and changing the data would require the same amount of time. And a graph would, in fact, instantly put that change into context. Right, code is data. Not now, though. Currently, code is text -- it's not data. That's the problem. And, yes, currently, drawing it instead of typing out the text is a horrible idea. We agree. But remember, currently, we're failing. Software is a disgrace of an industry, in all honestly. It's mired in undue complexity. It's a Rube Goldberg contraption that we all, somehow, take seriously. Imagine a better future. Imagine visualizing a complex set of rules and seeing all the places where a change would cause knock-on effects. Imagine being able to manage your code base in a way that doesn't require you to download it all into your head. Hell, imagine a decent IDE. The first step for all of that is to move it from text to data.
- kpil 9y agoI think you are chasing something that does not exist. While i submit to the idea that programs are "data", and could be represented not just like text, the expressiveness when using a visual representation is small, but the exactness is as high as normal languages. I've seen large visual-programming programs, and they explode into complexity, and I think there is a reason for that, the expressiveness of a symbolic language using text is so much higher. Could we increase the expressiveness even further? English have high expressiveness but is inexact. I don't think it's possible to increase the expressiveness and keep the precision - at least without some sort of intelligent agent that can reject interpretations that makes no sense. So - when general AI is invented, we can probably soon write programs that are very inexact, highly expressive, but still work. Until then, we will have to continue wrestle down the computer to obey our if-statements, one by one.
- nikofeyn 9y agothen why does everyone sketch a picture when trying to convey an idea? text is obviously useful but so is visual information. the complete dismissal of visual programming by text-based programmers is often infuriating. visual programming can provide an immediate indication of structure and dataflow, something that text-based languages struggle with. in my mind, the best case scenario is some sort of hybrid, where visual and text representations take over on what they're best at, yielding to the other when it makes sense. the way people work on mathematics is a great example of this. drawings, diagrams, graphs, shapes, etc. are used to convey structural information where text and symbols are used to convey more detailed, descriptive information.
- zepolen 9y agoThey are adding words in the form of thoughts or speech to describe the drawing.
- nikofeyn 9y agothat's not always true. the visual representation of an idea that can also be conveyed in text can oftentimes provide additional information not easily gleaned from the text-based representation. the easiest example of this is the visual representation of the graph of a function. a more advanced one is feynman diagrams. also think of symbology that is so ubiquitous in mathematics. it's much easier to write x_n->x absolutely rather than detail out the text-based definition of absolute convergence. obviously this latter idea is close to writing a function or procedure in code that consolidates an idea to a smaller textual representation, but symbology in mathematics far outpaces that of symbology in text-based programming languages.
- wybiral 9y agoThere are hybrid languages, like Python... Visual whitespace denotes blocks while visual symbols like "if", "for", and "def" denote the meaning of those blocks. (and sane programmers use visual layout to convey structure in every language)
- 9y ago
- partycoder 9y agoWell, it depends. If we had to describe the situation in very graphic detail, then images can be more succinct.
- hasenj 9y agoExactly! I'm actually bewildered why some people think visual programming is a good idea at all.
- pier25 9y agoI know a guy who does all his projects using Max MSP and loves it. It's obvious that visual programming is much less expressive than writing code, but it's attractive to people that are afraid of code or are too lazy to learn a new language.
- eon1 9y agoI know a few people who do this, too. They're almost invariably awful about it and completely convinced they're on the "right track" over people actually writing code, too..
- crazygringo 9y agoI suspect it has to do entirely with affordances. Programming in text, you have to learn, in advance, what the commands are that you're allowed to type, and remember them. That's a heavy up-front investment. Visual programming generally makes it much clearer exactly what your range of options are -- the goal is for the learning curve to be far easier.
- hasenj 9y agoCould be an interesting feature for IDEs to start studying certain control structures, not just function calls and parameters.
- Too 9y agoGood autocompletion with intuitively named standard library comes close to this. When coding c# in visual studio I very rarely have to look at documentation, you just guess what the class or function might be called and get the options presented for you.
- yjftsjthsd-h 9y ago
- deleted 9y ago[deleted]
- c3534l 9y ago> It started with cave paintings and evolved to what it is now. Actually, our writing system evolved from accounting tokens. Eventually we learned we could save on little figurines by pressing the one into clay a bunch. And at any rate, writing encodes speech and is severely limited to the limitations spoken speech has. Rather than be well-optimized, writing is severely limited by tradition, by the physical limitation of auditory communication, and by the physical limitations of encoding it into paper.
- wwarner 9y agoI think this is exactly right, but I would add that when we start using computers to analyze and help write programs, faster, more intuitive ways of programming will emerge.
- mekkkkkk 9y ago"Painting" it in this case would be a flow chart thingie with an action leading to a decision tree with two outputs. Not extremely complex, and with a bit of practice and a good environment, it probably takes about the same amount of time as writing. There might be other cases where this is not true, but I think the major gains with a proper visual environment would be on a higher abstraction level. Visualizing the architecture of a project, tracking dependencies, etc.. Basically tasks where your "takes longer to draw" argument is nullified by the fact that it is the computer that does the drawing.