I remember being blown away the first time I saw the visual programming tool that came with Silicon Graphics workstations. Visual programming works great as long as you restrict it to a particular domain (e.g. data processing, visualization, audio processing etc).
> as long as you restrict it to a particular domain why?
A personal history of visual programming environments (2021)
21–28 of 28 posts
Re: A personal history of visual programming environments (2021)
#22Surprised nobody's mentioned LabView yet! Anybody have experience/opinions using this? Their versioning is one of the worst I've ever seen, but they have a impressively comprehensive ecosystem of industrial test equipment. https://www.ni.com/en-us/shop/labview.html
LabVIEW is a trap. If you are considering using LabVIEW for making product software, consider systems with better developer ergonomics, such as having your engineers write Python while being water boarded. The problem is that LabVIEW, the language and IDE, comes with LabVIEW, the integration library for your NI sensors and test equipment and other doohickies. So slapping a program together to gather some data and dis…
Re: A personal history of visual programming environments (2021)
#23Re: A personal history of visual programming environments (2021)
#24I enjoyed reading this. I knew of quartz composer but I never did anything with it. I love visual tools and I think they are underutilized today. I cut my teeth in ~2005 with Houdini[0] and Fusion[1] which are both heavily graph / node based (and procedural). Most recently I have been rekindling my love for visual programming and flow based programming and plan to spend some time in January and February doing more re…
Quartz Composer was IMHO one of the coolest things to come out of Apple ~15 years ago in the early days of their Core Animation layer-based rendering framework. When I was first freelancing, I got a gig working on some displays for a large law firm and chose QC. Was able to do things like fancily display customer testimonials and the like, but have a Mac mini running things which had a shared folder that staff could…
Re: A personal history of visual programming environments (2021)
#25Earlier quoted context omitted.
Quartz Composer was IMHO one of the coolest things to come out of Apple ~15 years ago in the early days of their Core Animation layer-based rendering framework. When I was first freelancing, I got a gig working on some displays for a large law firm and chose QC. Was able to do things like fancily display customer testimonials and the like, but have a Mac mini running things which had a shared folder that staff could…
wikipedia says it is deprecated; what was it replaced with?
Re: A personal history of visual programming environments (2021)
#26I enjoyed reading this. I knew of quartz composer but I never did anything with it. I love visual tools and I think they are underutilized today. I cut my teeth in ~2005 with Houdini[0] and Fusion[1] which are both heavily graph / node based (and procedural). Most recently I have been rekindling my love for visual programming and flow based programming and plan to spend some time in January and February doing more re…
Quartz Composer was IMHO one of the coolest things to come out of Apple ~15 years ago in the early days of their Core Animation layer-based rendering framework. When I was first freelancing, I got a gig working on some displays for a large law firm and chose QC. Was able to do things like fancily display customer testimonials and the like, but have a Mac mini running things which had a shared folder that staff could…
Ars Technica write-up: https://arstechnica.com/gadgets/2007/11/ic-7/
My page: https://codesorcery.net/tag/ironcoder.html
The basic idea was that after launch, the app would use the NSWorkspace API to catch subsequent apps launching and fullscreen your Mac with an animation of the new app playing a guitar on stage, meanwhile the other apps already running had their icons in the crowd, dancing. The more apps you had launched, the rowdier the audience would get.
I used QC to create the animations with the placeholders for app icons and names, and then some variables related to crowd intensity. Then, at runtime, the app could plug in results from the NSWorkspace API to fill out those graphics and dial in the crowd response level.
Re: A personal history of visual programming environments (2021)
#27Earlier quoted context omitted.
> 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…
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.
Re: A personal history of visual programming environments (2021)
#28Earlier quoted context omitted.
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…
> 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 woul…