Skip to content

Comment on A personal history of visual programming environments (2021)parent

Comments

as long as you restrict it to a particular domain

why?

There have been various attempts to replace general purpose text-based languages (such as C++ or Python) with visual programming. I don't think any of them have been very successful. The level of abstraction is too low to be a good fit with visual programming. You end up with massive spaghetti diagrams. For something like data processing the level of abstraction can be much higher and is a much better fit for visual programming.

There have been various attempts to replace general purpose text-based languages (such as C++ or Python) with visual programming. I don't think any of them have been very successful.

Their lack of success can have many reasons other than their general umfitness. IMO, their lack of success has much more to do with the ubiquity of text oriented tools. The breadth of tools and platforms a new programming paradigm would habe to support to truly be a replacement technology for text is staggering.

You end up with massive spaghetti diagrams.

That's a matter of code quality which is a problem in text code too. Who hasn't encounter a codebase of many multi-thousand line C++ files. Who hasn't encountered an inheritance tree where various levels of the tree partially implement the interface and therefore results in code which bounces up and down the tree executing at all levels of the inheritance.

Generally, I find that most arguments favoring Text over visual programming are cart before the horse type arguments of the form "this feature is better in text". Usually that thing is better in text because we've had the time to make it better. The tools and platforms are mature not intrinsically superior. Text code is "clean" because we have used it long enough to understand what is "good" code quality. Text code is "durable" because we've made text standards and rendering ubiquitous across all platforms. And so on.

You make some good points. But I think part of it come down to the fact that text is a more compact representation than nodes and arrows. I wrote a visual programming tool for data and I think the visual approach is superior for many use cases in data processing. But I chose not to do it using a visual programming language. I did it in C++. Even if the visual programming tooling improved significantly, I still don't think I would choose it for general purpose programming.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.