4 ms·
I don't know what your definition of a "moderately complex" program looks like, but I have to say that from my own dabbling with PureData I really enjoyed the w
by sebular 11y ago
I don't know what your definition of a "moderately complex" program looks like, but I have to say that from my own dabbling with PureData I really enjoyed the way it handled the concepts of abstraction and encapsulation.
It's been long enough that I've forgotten the terminology, but I remember thoroughly enjoying the process of first building a widget, then meticulously arranging all of the little boxes, color-coding, and labeling various sections until it looked visually attractive. Then when I was satisfied, I could take that entire widget and abstract it away as a small box with only the relevant input/output connectors.
I guess it's always just stuck out in my mind as the one time I really dug into a visual language, and the aesthetic aspect of organizing my "code" was very appealing. It's been a decade since I last opened any of those old project files, but I can still picture many of the components I built with my mind's eye. In and of itself, that's got to be worth something.
I imagine that someday we'll see the rise of a programming metaphor that works as a hybrid of code and visual. Even though working with PureData was inspirational, I don't see text-based languages losing relevancy any time soon. However, I think that while text code is great for representing the flow of logic, higher-order organizational constructs (such as class hierarchies) might be better represented by visual relationships. If I give you a paper and pencil and ask you to map out interconnected relationships between a bunch of entities, you're probably going to start drawing boxes and lines-- and end up with something that looks a lot like PureData.
Especially if you consider the potential of future iterations on today's VR/AR concepts, I wouldn't be too surprised if programming languages eventually looked like color-coded interconnected boxes of text code that can be rearranged in space. It wouldn't even be that far-fetched to imagine animations being included to enhance a programmer's ability to visualize the flow of logic. And I don't think that such concepts should be particularly offensive to those who consider themselves to be serious programmers.
- TuringTest 11y agoI imagine that someday we'll see the rise of a programming metaphor that works as a hybrid of code and visual. You're going to enjoy the Eve language...[1][2] :-) [1] http://eve-lang.com/ http://eve-lang.com/ [2] http://incidentalcomplexity.com/ http://incidentalcomplexity.com/
- mhroth 11y agoPd and Max/MSP are indeed great languages, at least with respect to being able to visualize audio signal flows. But I beg to differ with this idea that they can't be fast or efficient. Such languages can be compiled just like any other, though Pd doesn't do this in order to retain the flexibility of dynamic patching. [1] I helped write a system called Heavy which can translate Pure Data patches into fast C code. https://enzienaudio.com/ https://enzienaudio.com/ [2] Here's a simple example video. https://www.youtube.com/watch?v=_zwI5g3NNYw https://www.youtube.com/watch?v=_zwI5g3NNYw