Nodes let non-programmers access some of the power of being able to program.
It's inferior to real programming in every other way though. Writing code to generate node graphs (eg. for Blender materials) is particularly hellacious.
> It's inferior to real programming in every other way though. Writing code to generate node graphs (eg. for Blender materials) is particularly hellacious.
Programming is programming, there is no such thing as "real programming". Visual programming is an alternative to textual programming, we're discussing whether it's good or not, but let's not imply that visual programming is not programming, it is programming.
> Writing code to generate node graphs (eg. for Blender materials) is particularly hellacious
No, it isn't hellacious. Node based programming languages eliminates a few things non programmers don't want to deal with: syntax errors and type errors.
I said "writing code to generate node graphs". If you have some example of nice code for this I'd like to see it. Everything I've seen is opaque (unclear what the node graph will look like), basically write-once, and has trouble getting the placement of the nodes correct enough even to not overlap, let alone look nice.
(Also it doesn't eliminate type errors, sockets have a type after all.)
> (Also it doesn't eliminate type errors, sockets have a type after all.)
If you used any significant Node based programming system, then you know you can't randomly plug sockets from different types unless that socket explicitly supports type conversion.
It's inferior to real programming in every other way though. Writing code to generate node graphs (eg. for Blender materials) is particularly hellacious.