Ask HN: Why does visual programming suck?
11–20 of 325 posts
Re: Ask HN: Why does visual programming suck?
#12If you are a good enough programmer you want the power of ex regular expressions and you can solve almost any problem out there.
If you aren't you aren't much better off as you still need to learn how to program.
As a scripting language however it can be great because you can be much more opinionated about what should be prioritized.
What would be much more interesting and useful IMO was if normal languages created a visual environment akin to the visual programming languages we see sometimes.
Re: Ask HN: Why does visual programming suck?
#13Re: Ask HN: Why does visual programming suck?
#14One modern incarnation of visual programming is called "low code", and it seems pretty successful. This is a good introduction and discussion about whether this is a fad or it's here to stay: https://medium.com/softwareimprovementgroup/low-code-wave-of...
Re: Ask HN: Why does visual programming suck?
#15- Visual programming tools usually only work at one abstraction level (your first point)
- Often centered around a gimmick and cannot encode "normal" detail-oriented imperative code efficiently
- Only a fraction of a given program is amenable to flow charts, Visual Basic-style forms, etc. Unfortunately, most visual programming environments are all-encompassing.
- So VPs tend to become blunt, awkward tools that lack power of expression, ergonomic editors, scalability to real usecases, etc.
FWIW, I do believe that a better code editor is possible through non-plaintext programming. (Serialize token trees and ASTs, instead of plaintext.) But such an editor would likely be used in text-editor-mode >50% of the time, just due to the high information content and sheer readability of text.
Re: Ask HN: Why does visual programming suck?
#16In other words, VP itself is a red herring. The leap that needs to first to be made is that from text to data.
Re: Ask HN: Why does visual programming suck?
#17I believe the solution lies in coming up with a way to compose pre-built components into complete applications...I think the existing efforts involving Angular,React,VueJS,Vaadin..etc are all pointing in the right direction....I have been working on Solvent (www.crudzilla.com) for sometime now and solving the UI building (drag-drop) is something that I am still actively thinking about...one of these days someone will crack the problem :)
Re: Ask HN: Why does visual programming suck?
#18Most of us don't do that. Most of us make due with off the rack suits with some tailoring for 1/10th the price.
With programming we have an expectation of bespoke design, so anything less, even if it's much easier, seems lame.
A potentially useful reframing of the question is, "What are all the common use cases that could be solved sufficiently with significantly less effort using visual programming?"
Re: Ask HN: Why does visual programming suck?
#19Picture says it all: http://thedailywtf.com/articles/Labview-Spaghetti :)
Re: Ask HN: Why does visual programming suck?
#20Visual programming efforts have tried to visualize code and operate at the wrong abstraction. Programming is just the act of creating programs. In a visual programming environment, the author / programmer should use visual interactions to "write the program". This means a few things needs to be considered:
- the representation - how is a computer program represented? how is state represented? - direct manipulation - imagine using a tool like Photoshop having to compile / build to see your changes between every edit. - input devices - mouse / keyboard works for writing lines of code. Touchscreen is a better input device / interface for visual programming but still lacking (no tactile response).
In my opinion, not enough is reinvented when visual programming efforts are tried. I think the entire stack (human input --> program state) needs to be reinvented and reconsidered. Bret Victor has a great section on visual program in his FAQ for one of his talks - http://worrydream.com/DrawingDynamicVisualizationsTalkAddend...