Live data from Hacker News

Ask HN: Why does visual programming suck?

news.ycombinator.com

41–50 of 325 posts

Re: Ask HN: Why does visual programming suck?

#41
post #31
post #24

I've been working on a project that does exactly what you described for the last few years. IMHO vue.js/react really changed the game here, especially for CRUD apps. For example what I did was to code a server part in golang and use vue.js on the frontend and for the app builder. Using the web-based app builder (also 100% vue) the user can design forms. The forms are stored as serialized JSON in the database and the…

I too am curious about what you've built, feel free to email me (on my profile)...I have been working on Solvent (link in profile) and have been exploring Angular or Vue as the UI building component.

They might be talking about their older submission.

https://news.ycombinator.com/item?id=12092527

Re: Ask HN: Why does visual programming suck?

#42
post #14
post #5

One 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...

Looking at the website [0], this is a joke right? Flashy marketing business speak sales site with charts, but what does the product look like? [0] http://low-code.com

You're kidding, right ? that's a really low effort search :)

Anyway, i gave a link above, with good info, including names of leading companies. Here's one:

https://www.mendix.com/

Re: Ask HN: Why does visual programming suck?

#43
I can tell you where in my opinion visual programming works (or can work if anyone actually bothered), but you probably not gonna like it.

First step is to think about IDE assisted programming as a proto visual programming. Second step is to have a real DSL, not just some general purpose programming language with some extra words sprinkled that sort of look like a DSL, but you can easily escape. Visual programming tools that aims to do the job of general purpose programming language is kinda doomed from the start in my opinion.

Here's a snag - how many DSL languages do you know that have intelligent IDE support? Designing a good DSL language is kinda hard in the first place. I know of many, but they are called XML languages, deal-breaker for many. XProc can work as an underlying language for such a visual programming tool, with a good XML schema enabled IDE or editor such as OxygenXML you won't even work with XML as most see it, it's not really text anymore. Dropdown menus in a representation of a tree, that's what it becomes.

There were at least two attempts to create an actual visual programming tool on the base of XProc, most advanced was this one https://community.emc.com/docs/DOC-4382

Re: Ask HN: Why does visual programming suck?

#44
post #31

Earlier quoted context omitted.

I too am curious about what you've built, feel free to email me (on my profile)...I have been working on Solvent (link in profile) and have been exploring Angular or Vue as the UI building component.

They might be talking about their older submission. https://news.ycombinator.com/item?id=12092527

Yes, that's a very early version of the project from one year ago and before migrating to vue.js. I haven't updated the site or the demos since then, but the new one is coming next week.

Re: Ask HN: Why does visual programming suck?

#45

The way people have implemented visual programming has turned out to be a bit of an oxymoron. Visual and symbolic are entirely different channels of representation & understanding (for the most part). Representing a program using lines of code and throwing some "visual magic" to spread out lines of code across a screen doesn't take advantage of what EITHER visual or symbolic manipulation has to offer. Visual programm…

I have been working on xol, a graphic based programming language.

xoL is a graphic based programming language. It represents programming concepts with graphics instead of text. It is product of a long, painstaking design effort, to get an optimal graphical presentation of programs. A good description of it is available in this blog post: http://lignixz.github.io/blog/posts/17/xoL_graphics_based_pr...

A partially working prototype from a previous version is available online. The newer current design has fundamental improvements over that previous prototype. The way some program elements work was redesigned. The control method was also redesigned. It is now aimed primarily at touch based controls. Here is the prototype for the previous version: https://github.com/lignixz/xra9 . The prototype is not optimized for performance so excuse that. It is functional to some extent, if you can figure how to use it. You can add and modify programming elements.

Would welcome any opinions/feedback. Also interested in finding partners/investors/sponsors that may be interested in this project.

Re: Ask HN: Why does visual programming suck?

#46
I think the truth is somewhere in the middle. Look at complex CAD systems and editors. They focused on the visual side and still provide some kind of command line for scripting the things. Even in pure visual programming systems like PD you can type algebraic expressions in textual form. And in text-based systems you may have lots of 2d tables (Smalltalk), graphs of modules, semantic colors (colorForth) etc.

Imagine GUI editor where the user can type the code on the left side and also can move and edit widgets with cursor on the right side. And editing of both sides is working in live mode. My point is that we need to have the best of both worlds to be really productive.

Re: Ask HN: Why does visual programming suck?

#47

I guess it depends on what one considers to be programming. For certain DSLs (audio, control systems, UIs), it seems to be doing OK. For general-purpose work, I think they will always be less desirable than text. Even after thousands of years, words are still our most powerful tool for recording and sharing new ideas. Alan Kay's mistake is that a lot of his original work was with Papert on educating children. For ear…

It's like the difference between a kid's picture book and an adult novel.

Re: Ask HN: Why does visual programming suck?

#48
post #38
post #24

I've been working on a project that does exactly what you described for the last few years. IMHO vue.js/react really changed the game here, especially for CRUD apps. For example what I did was to code a server part in golang and use vue.js on the frontend and for the app builder. Using the web-based app builder (also 100% vue) the user can design forms. The forms are stored as serialized JSON in the database and the…

That's cool -- you should share a link! I've actually also been working on something just like this, which is why I asked for feedback with this. I'll post it on HN tomorrow via a Show HN so we can compare! For anybody interested -- email is in profile. Happy to give you a sneak peek!

Awesome, looking forward for your post on ShowHN!

Re: Ask HN: Why does visual programming suck?

#49
post #48
post #38

Earlier quoted context omitted.

That's cool -- you should share a link! I've actually also been working on something just like this, which is why I asked for feedback with this. I'll post it on HN tomorrow via a Show HN so we can compare! For anybody interested -- email is in profile. Happy to give you a sneak peek!

Awesome, looking forward for your post on ShowHN!

[deleted]

Re: Ask HN: Why does visual programming suck?

#50
Filter Forge founder here, now working on a turing-complete functional visual programming language inspired mostly by Haskell: https://imgur.com/a/HkSgJ

Here's what I currently think on visual programming languages:

1. I see no place for imperative and non-pure functional languages in visual programming.

2. Pure functional languages can absolutely be implemented with visual syntax. This is just another form of representing a program. Instead of taking text as an input, the compiler / interpreter takes the node-based representation, which may or may not directly correspond to the AST. Here's an example of the same toy program in Haskell, Racket and our visual language: https://i.imgur.com/dsNJYyx.png

3. Visual languages shine on higher levels of abstraction. They work great in Filter Forge and similar systems, e.g. material / shader editors in 3D packages or game engines. However, I've never seen a visual language that remains usable and understandable on a lower level of abstraction.

4. Our civilization has settled on text as the lowest common denominator format of information exchange. We have accumulated an enormous amount of tools, infrastructure and software ecosystems built around text. Git, Slack, WWW, Copy / Paste, Ctrl/CMD + F, diff tools, IDEs, regexps, Unix pipes etc etc etc. A visual language will have to reinvent all these wheels.

5. Visual programs have no equivalent of line numbers for addressability. You can unambiguously refer to a location in a text program with just two numbers, line & column, but how do you do that in a visual program? "Uh, it's the red rectangular block with the blue output, to the left of the square green one. The connection you need is the second from the top."?

6. I see no way of quickly commenting out / deactivating a section of a visual program.

7. When you write a text program, you are compelled to give descriptive names to things like functions and variables. A visual program doesn't force you to do that. For example, in our language you connect function outputs to function inputs with graphical arrows, and named binds aren't necessary. In Haskell, however, if you don't want your program to look as a huge chain of function applications, you bind results of certain function to named 'variables', and the names tend to be human-friendly (well, at least in monomorphic functions). To sum up, visual languages lack built-in annotatability and don't compel programmers to annotate programs. Annotation feels extraneous, tacked-on.

8. I/O is hard. Sure, it can be done the Haskell way, but without some kind of monadic sugar (somehow adapted to a visual language) it would be absolutely unpalatable. Also, this would only work on visual languages that are capable of expressing a monad.

Post reply on HN