Live data from Hacker News

Visual programming means anyone can be a coder

newscientist.com

41–49 of 49 posts

Re: Visual programming means anyone can be a coder

#41
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'm skeptical because I don't see how visual programming models are even possible for the type of development I routinely perform (my day job is writing a high-performance distributed, parallel implementation of the well-known 'make' tool). Even if it is theoretically possible, for some parts of my project, I imagine it would take nearly as long to create the visual programming environment, and I'm not sure it would be particularly reusable.

I loved Bret Victor's talk. And this recursive drawing thing is neat too. But both of those are dealing with programs that are primarily visual in their own output. I can't help but think, "That's neat, but not broadly applicable." Honestly, how many people are there out there dying to write programs to make fractal-like pictures?

Perhaps I'm just not visionary enough to see the potential, but I don't believe these techniques will really "democratize programming." Whether or not doing so is desirable in the first place is another debate altogether.

Re: Visual programming means anyone can be a coder

#42
post #35
post #32

Earlier quoted context omitted.

Except KISMET doesn't scale well. When I see the baroque contraptions game designers create it makes my blood boil at the inefficiency but that's the cost of a faster design->code turnaround. Runtime efficiency sacrificed for development time savings.

Part of that however is a symptom of Kismet's current implementation. I imagine an improved Kismet will greatly improve things.

As far as I understood him, some of the performance problems also stem from overly complex implementations by level designers. But I guess the big advantage of KISMET is that is allows level designers to do logic _at all_ without reading into the finer details of UScript or the scripting language at hand.

I must admit, my only experience with level building was some amateur work in UnrealEdit - the original, 1998 one. And there, I found triggers and stuff really annoying.

Re: Visual programming means anyone can be a coder

#43
I remember the first time I learned Excel after graduating college with a Computer Engineering degree from UIUC. When it finally clicked for me what functional programming actually did, how every problem can be reduced to a series of relationships, I looked back on my computer sciences classes and thought WTF.

So flip the concept on its head: writing imperative code with lines of characters means that almost nobody can be a coder.

After wasting most of my life chasing bugs down rabbit holes, I can honestly say that I'm not joking. Visual programming may suck now, but someday it's going to run circles around the crap we're stuck with today.

Re: Visual programming means anyone can be a coder

#44
What I think is missed by a lot of people here is the opportunity for 'visual programming' to help with visual tasks, which is a lot of what people do on computers (making games, CAD, maps/GIS, images, 3d models, etc.). It will help because at the moment there's no way to 'see what you are doing' and code/program it at the same time in any of these areas in a realtime way. When this changes it will cause massive ramifications through these industries.

I do agree though that the title is a ridiculous assertion though (because everyone can already program, and visual programming is in no way going to stop people from having to become domain experts to do anything really interesting).

Re: Visual programming means anyone can be a coder

#47
post #42
post #35

Earlier quoted context omitted.

Part of that however is a symptom of Kismet's current implementation. I imagine an improved Kismet will greatly improve things.

As far as I understood him, some of the performance problems also stem from overly complex implementations by level designers. But I guess the big advantage of KISMET is that is allows level designers to do logic _at all_ without reading into the finer details of UScript or the scripting language at hand. I must admit, my only experience with level building was some amateur work in UnrealEdit - the original, 1998 one…

A huge cause ause of the overly complex implementations by level designers is a direct result of problems with Kismet. For instance, I had to put together a 5 node system just to compare two bools for equality.

Additionally UnrealScript isn't really made for "scripting" particularly not for the level. For instance, the whole game/editor needs to be shutdown/reloaded to recompile scripts. In that sense it's much less script and much more virtual machine'd language with gameplay specific features.

Re: Visual programming means anyone can be a coder

#48

Earlier quoted context omitted.

Unlike the "workflow systems" you mention, non-programmers make audio-visual art using Max/MSP/Jitter and kids make stuff using Scratch/BYOB. Both have been rather successful in engaging non-programmers of various age groups. So we do have evidence of "visual" interactive programming working well for some people.

I don't deny it's a useful learning tool, my first exposure to programming was a Turtle robot you could program to draw stuff when I was 5 or 6! It's just a very, very long distance yet from producing the kind of code that we all produce day-to-day now.

I'm not sure what "kind of code that we all produce day-to-day" you're referring to, but Max being priced at $400 per license suggests it isn't only a "useful learning tool". Do checkout http://cycling74.com and see whether the long distance could be the other way for these kinds of applications.

Re: Visual programming means anyone can be a coder

#49

About time!

Alan Kay and others pioneers brought us object-orientation almost 40 years ago now, a set of organizing abstractions to enable people to conceptualize systems that could map to real world domains. What if there are even a higher order of abstractions that could place systems into semantic contexts? Perhaps this is where graphical abstractions could be useful to manage this complexity through visual constraints, thus transition the software engineering 'art' towards a true systems engineering 'discipline.' What fundamental properties restrict software engineering from such higher order tool evolution considering that visualizations have been applied to virtually every other scientific, business, and art domain?
Post reply on HN