Visual programming languages will only take you so far, but often that is far enough. What the author misses is that we as professional programmers miss the success stories, because we only get called in when the boundaries have been reached. In my career I’ve often been asked to rewrite Access DBs, InfoPath forms, or SharePoint sites developed by amateurs into something more usable. My early reactions where along th…
Visual Programming – Why It’s a Bad Idea
21–30 of 122 posts
Re: Visual Programming – Why It’s a Bad Idea
#22In order to make a serious comparison of textual and visual programming, you'd be better off using a serious system such as Labview for the comparison, not a... toy for children.
Agreed. Simulink is an extremely serious visual programming language that powers many of our modern high technology. Spacecraft and the like. The authors point on assuming reduced complexity makes me think that he doesn't understand how complex mathematical function models are even when the block diagram looks very simple to the untrained observer.
Simulink can generate C code for productionization, but to write custom algorithms, you typically need to write S-functions, which are typically in C, C++ or Fortran.
Visual environments let you set up topologies quickly and reliably. It's not really programming as such though -- kinda more like scaffolding. Any kind of complex logic is still more efficiently achieved in code because many abstract ideas cannot be efficiently expressed graphically. Visual abstractions are more useful for ideas that can be concretized (typically data-flows type ideas).
Source: used and taught Simulink for many years for control systems engineering.
Re: Visual Programming – Why It’s a Bad Idea
#23In order to make a serious comparison of textual and visual programming, you'd be better off using a serious system such as Labview for the comparison, not a... toy for children.
Re: Visual Programming – Why It’s a Bad Idea
#24Re: Visual Programming – Why It’s a Bad Idea
#25Visual programming languages will only take you so far, but often that is far enough. What the author misses is that we as professional programmers miss the success stories, because we only get called in when the boundaries have been reached. In my career I’ve often been asked to rewrite Access DBs, InfoPath forms, or SharePoint sites developed by amateurs into something more usable. My early reactions where along th…
Re: Visual Programming – Why It’s a Bad Idea
#26Programming is visual, full-stop. The main reason why “visual programming didn’t catch on” is because there can’t be a semantic equivalent to placing programming elements on a 2D grid. A program executed things On sequence, so it’s convenient to program top to bottom. That’s why text is better suited to represent it.
Dataflow programming is not generally executing in sequence. And that’s where visual programming shines.
Re: Visual Programming – Why It’s a Bad Idea
#27https://web.archive.org/web/20171006072839/http://www.kloudt...
The main difficulty was scale and tradeoffs between power vs ease-of-use. We spent a lot of time creating "subroutine blocks" for the most commonly used functions and optimizing for UI/ease of use that we weren't doing much else. Furthermore, pretty much every integration, library etc. had to be converted into its visual equivalents for the language to be of any use and all the linear algebra/candlestick libraries were taking up so much time that the rest of the product was suffering. Stuff that often makes sense to a professional programmer had to be "simplified" so the UX is more optimal. E.g. data structures.
If you look at VPLs in production, there's a reason most of them tend to be "imperative commands only" i.e. a glue language that mainly strings together other subroutines. The concept of objects, or even structs is completely eliminated in the VPL.
http://www.ni.com/getting-started/labview-basics/data-struct...
There are exceptions to this however, the Unreal Engine's Blueprints is a lot more flexible than most.
If you want to get started building your own version of Google's Blockly, here's a good guide:
http://www.aosabook.org/en/500L/blockcode-a-visual-programmi...
Throw in an immediate-mode UI library like React and you might even scale up indefinitely with plain HTML (most browser VPLs stick with SVG/Canvas).
For prettier node-based types of languages, try these libraries:
https://github.com/retejs/rete
https://github.com/slothking-online/diagram
https://github.com/jagenjo/litegraph.js
Bonus tip for anyone looking to implement any: use code generators. AST -> Visual programming component conversion may save you lots of time (assuming that the language has mature enough tooling and labour is extremely expensive)
Re: Visual Programming – Why It’s a Bad Idea
#28Perhaps the growth of VR and other 3D interfaces will breathe new life into visual programming?
Re: Visual Programming – Why It’s a Bad Idea
#29In order to make a serious comparison of textual and visual programming, you'd be better off using a serious system such as Labview for the comparison, not a... toy for children.
Or an enterprise platform with actual enterprise customers: https://www.outsystems.com
Re: Visual Programming – Why It’s a Bad Idea
#30In the early days of KloudTrader, we attempted to use Visual Programming too. https://web.archive.org/web/20171006072839/http://www.kloudt... The main difficulty was scale and tradeoffs between power vs ease-of-use. We spent a lot of time creating "subroutine blocks" for the most commonly used functions and optimizing for UI/ease of use that we weren't doing much else. Furthermore, pretty much every integration, libr…