Live data from Hacker News

Visual programming means anyone can be a coder

newscientist.com

21–30 of 49 posts

Re: Visual programming means anyone can be a coder

#21
post #9
post #6

I don't think the audience for this exists. People with a mind capable of programming are also capable of learning syntax, especially since there are so many languages now with lightweight syntax. I fear these attempts shall remain confined to educational toys for kids, which are really cool, but I don't see them used widely in schools.

I'm a programmer. I started learning syntax as a kid. I write code all the time. I adapt to new language concepts and syntax. I can use vim effectively. I can tolerate an IDE. I still cannot get ideas out of my head and into the computer as fast as I "need" to. I believe something graphical, visual, or the like is going the right direction. I want graphical touch programming (not typing syntax) for organizing logic i…

I'd suggest you learn how to touch type if you care about getting stuff out of your head fast.

Just because it has a graphical interface doesn't mean the process of telling the computer what to do will be faster. The reason for this is simple - there are still just as much stuff you need to tell the computer for it to be able to do what it must.

Re: Visual programming means anyone can be a coder

#23
post #15

If you are a skeptic on this, I really urge you to listen to Bret Victor. I have generally been skeptical of these kinds of things in the past, but just in the last week Bret Victor's talk ( http://youtu.be/PUv66718DII ) combined with his excellent 2006 paper that digs into related concepts ( http://worrydream.com/MagicInk/ ) has made me re-think that position. One of the key points in his talk that made me think abo…

I first got into programming using Hypercard on the machines at my middle school. I started out just visually building simple stacks that didn't really do much, until a teacher showed me some of the stuff older kids had built by manipulating the Hypertalk language underneath. It was like learning about the Matrix. I looked at what they did and copied it for my own stuff, eventually learning a significant portion of the Hypertalk language. Fun times.

As such, I think 'visual' programming might be great to rope people in, but it isn't enough. Had I not taken it to the next level, I would have gotten bored, simply because I couldn't do that much with the tools I knew about. Drilling down a bit was hard, but necessary. In the case of Hypercard, of course I had to drill down because the tools for putting together complicated stuff visually weren't there. But, there is a reason they weren't there, that being that Hypertalk, while having a steeper learning curve than buttons and slides, was a more efficient and concise way to represent more complex stuff.

There's really no way around that. At its best, visual programming can be a way for non-programmers to put together really, really, simple stuff that they think they need. (It can be much worse than this, I've worked with a framework that was originally designed for this purpose or something like it, for middle office banking software - worse 18 months of my fucking life, and the worst part was none of the non-programmers it was originally targeted towards would go near it.) For everything else we need more robust tools.

And let's not forget that the hard part of programming isn't even the syntax anyway. It's the concepts. Even if you could design a visual programming 'language' just as rich as any text-based one, anyone who wanted to do anything with it would still have to learn all the same concepts. And that's the hard part.

Re: Visual programming means anyone can be a coder

#24
post #9
post #6

I don't think the audience for this exists. People with a mind capable of programming are also capable of learning syntax, especially since there are so many languages now with lightweight syntax. I fear these attempts shall remain confined to educational toys for kids, which are really cool, but I don't see them used widely in schools.

I'm a programmer. I started learning syntax as a kid. I write code all the time. I adapt to new language concepts and syntax. I can use vim effectively. I can tolerate an IDE. I still cannot get ideas out of my head and into the computer as fast as I "need" to. I believe something graphical, visual, or the like is going the right direction. I want graphical touch programming (not typing syntax) for organizing logic i…

It would indeed be great to have some "higher bandwidth" way to interact with a program under development. And better graphical tools could clearly increase the bandwidth out from computer to programmer.

But for bandwidth into the computer, there's still nothing that can compete with text. Consider the space of meaningful words you can type at 100wpm, and how awkward it would be to offer a similar number of choices at a similar speed on two (or even three) dimensional display.

Re: Visual programming means anyone can be a coder

#25
We do not need to invent visual programming languages that will "encourage" people to program. Most people are quite capable right now.

Its motivation that matters - and until it is taught to 5 year olds as a matter of course, then seeing the world eaten by software will provide motivation enough.

Imagine you lived next door to that Gutenberg guy and his new-fangled press. You would want to be learning to read now - not waiting for someone to invent the comic.

Re: Visual programming means anyone can be a coder

#26

Earlier quoted context omitted.

I'm skeptical because I remember the RAD tools of the early 00s that were going to let businessmen program. Oh, and who can forget the wonderful workflow systems that were all the rage soon after? There seemed to be a new one released every week. I invite you to go try MS's WWF, that's 'visual'. What a nightmare that is. They don't work. You need a programmer involved because edge cases rapidly become complicated and…

I met with Bret Victor for lunch while visiting SF a few years ago and I specifically argued against visual programming languages making anyone able to program. I mean I know that some people are more inclined to think in blocks and visual metaphors (Hell most programmers draw out ideas constantly cause we do too) but any sufficient program eventually gets complicated enough that visual programming kind of breaks dow…

Just listened to a Herding Code interview with a guy who was using APL to get domain experts programming.

He had a very interesting and elegant solution to the problem: You let the domain experts take charge of implementing their domain logic. But as soon as you hit a point where what they're doing needs to be shared with the rest of the company, you bring in a software engineer to sit down with them and review the code. They take charge of making sure it's robust and reliable, and work with the domain expert to refactor it into something that will be more maintainable.

That seemed like a reasonable solution to me. And the thing that was striking was that he wasn't doing it with any newfangled visual languages or anything like that. It's already being done successfully in a business environment using APL.

Re: Visual programming means anyone can be a coder

#27

Earlier quoted context omitted.

I'm skeptical because I remember the RAD tools of the early 00s that were going to let businessmen program. Oh, and who can forget the wonderful workflow systems that were all the rage soon after? There seemed to be a new one released every week. I invite you to go try MS's WWF, that's 'visual'. What a nightmare that is. They don't work. You need a programmer involved because edge cases rapidly become complicated and…

I met with Bret Victor for lunch while visiting SF a few years ago and I specifically argued against visual programming languages making anyone able to program. I mean I know that some people are more inclined to think in blocks and visual metaphors (Hell most programmers draw out ideas constantly cause we do too) but any sufficient program eventually gets complicated enough that visual programming kind of breaks dow…

Intuitions and anecdotes are fine, but there is actual research on visual programming languages, as well as on computer science education.

Visualizations, animations, and metaphors do help beginners learning programming and understand programming concepts. Scratch is currently probably the most well known tool for beginning students to use for programming (used with kindergartners all the way up to college freshmen).

Re: Visual programming means anyone can be a coder

#28
post #24
post #9

Earlier quoted context omitted.

I'm a programmer. I started learning syntax as a kid. I write code all the time. I adapt to new language concepts and syntax. I can use vim effectively. I can tolerate an IDE. I still cannot get ideas out of my head and into the computer as fast as I "need" to. I believe something graphical, visual, or the like is going the right direction. I want graphical touch programming (not typing syntax) for organizing logic i…

It would indeed be great to have some "higher bandwidth" way to interact with a program under development. And better graphical tools could clearly increase the bandwidth out from computer to programmer. But for bandwidth into the computer, there's still nothing that can compete with text. Consider the space of meaningful words you can type at 100wpm, and how awkward it would be to offer a similar number of choices a…

Depends on the language. Writing boilerplace C++ header files, which duplicate everything in the source is certainly a low-yield way to communiate with a computer.

Graphics could help there; let me drag methods up and down the hierarchy and have it automatically refactor (change arguments and scope of references without me typing). Create new fields with a right-click and choose a type with a default name; drag a reference to a closure etc.

Even this: if I could navigate different views on the same source e.g. without comments; without debugging prints and asserts; with references and scopes delineated. This can make it faster to find where to type. But I guess thats bandwidth out again; ok.

Re: Visual programming means anyone can be a coder

#30

Earlier quoted context omitted.

I met with Bret Victor for lunch while visiting SF a few years ago and I specifically argued against visual programming languages making anyone able to program. I mean I know that some people are more inclined to think in blocks and visual metaphors (Hell most programmers draw out ideas constantly cause we do too) but any sufficient program eventually gets complicated enough that visual programming kind of breaks dow…

Intuitions and anecdotes are fine, but there is actual research on visual programming languages, as well as on computer science education. Visualizations, animations, and metaphors do help beginners learning programming and understand programming concepts. Scratch is currently probably the most well known tool for beginning students to use for programming (used with kindergartners all the way up to college freshmen).

Some people are helped by visual metaphors. Others learn by hearing; other by reading.

And then there was that thread about some people never, ever 'getting it' and being as hopeless after a semester class as the first day. I've even met folks who, after years of computer classes, still hadn't figured out that code is executed in sequence.

Post reply on HN