Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> except we’re trained to use software engineering principles to attempt to manage the complexity

Yeah good point. I think visual languages are often used by people who haven't had experience with software engineering, and that's fine, it's one of their main selling points.

But think there is a general limitation when abstracting connection between nodes. In a programming languages, one could for example do a loop and connect an array of a thousand structs to point to some pointer. In a visual language it would be drawing thousands of connections/wires by hand between nodes. So visual languages in a way hit an abstraction ceiling if you will. In some domains it doesn't matter and there are a few trick around it, so there is room for such languages, but I am pessimistic about a general approach.



In my (again, limited) experience with visual languages, you don’t need thousands of connections. There’s nothing technically preventing a visual language from having complex data types flow through connections and I know some visual languages can unpack arrays (that is, the node outputs a value for every element in an array) so you can have a similar loop. (I’ve seen the reverse too: packing lots of individual items into an array). If I were to design a visual language, I’d have nodes to access keys in KV tables, iterate through lists/arrays/trees and everything else I take for granted in textual languages.

If a language doesn’t support that, then it’s probably because it was deemed unnecessary for the target users, not because of an inherent shortcoming in visual languages.

But I’ve only used a small number of visual languages (Max/msp and Synthmaker being the two I’ve used most), so maybe you do see crazy numbers of connections in the wild (but again, I feel this could be avoided if the language designers wanted to)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: