Live data from Hacker News

Ask HN: Why does visual programming suck?

news.ycombinator.com

271–280 of 325 posts

Re: Ask HN: Why does visual programming suck?

#271
Programming is inherently difficult. We can do a lot in tooling and increasingly higher level languages to help make a lot of the details a lot easier, but a the core, it remains abstract symbolic manipulation.

It seems to me (and I have by no means done an extensive survey of the field, so YMMV) that efforts in visual programming suffers from mis-diagnosing that the difficult part of programming is the act of writing the code (indeed, the empty editor is intimidating and code in any language looks impenetrable to outsiders), rather than understanding what code to write in the first place.

Re: Ask HN: Why does visual programming suck?

#272

Imagine a world where people only bought bespoke suits. You go to a tailor and are measured and pick out your fabric and wait a few weeks. Then you pick up your suit. It's perfect. You pay $5000 and take it home. Most 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…

you win the prize for asking the right question. the answers are like with AI, where once it's done in a certain domain, then that's not AI anymore. that is, with visual programming, once it's done in a particular domain, people don't think it's programming anymore. the big examples i have in mind are: * spreadsheets -- very visual, everything's in a grid. the relationships are spatial. * electronic music -- people l…

And who could forget the most successful visual programming tool of them all: Photoshop. A relatively simple visual programming language for putting together programs that generate images of various kinds.

Most of the things you do are achieved through a visual programming environment specialised for that particular task. Maybe text-based source files in complex directory trees, managed through a structured text editor with UI composition helpers represents one kind of specialised visual programming environment as well.

Re: Ask HN: Why does visual programming suck?

#273
post #215

Earlier quoted context omitted.

Zero syntax errors.

This is also one of the beauties of text programming. It allows temporary syntax errors while restructuring things. I've used many visual tools where every block you laid out had to be properly connected, so in order to refactor it you had to make dummy blocks as input and output and all other kinds of crap. Adding or removing arguments and return values of functions/blocks is guaranteed to give you rsi from excessiv…

Have you tried using Drakon[0], I really like to use it to visualiase algorithms. It also supports "syntax erros".

[0]http://drakon-editor.sourceforge.net/

Re: Ask HN: Why does visual programming suck?

#274

The old "Gold Standard" for WYSIWYG programming has been Apple's Interface Builder. But every iOS dev I know has moved entirely away from IB in favor of programatic construction of the UI (in Swift or Objective-C text). Why? Because they want to have automated tests over everything they can. The simpler way to say this is: "Complex ideas can only really precisely be expressed in text. To the degree you can express th…

Can't one test a layout built with IB? Load it in a unit test for instance?

Re: Ask HN: Why does visual programming suck?

#275

I think this is a minority perspective, but I generally think coding has a lot more in common with writing than it does with engineering. (I guess Literate Programming would sort of support this idea). Can you imagine trying to write an essay as a flowchart? I think it would just obscure the point, rather than simplify it.

Structurally, a program is also similar to music. A program, if we view the bytecode, is read linearly by default but may have jumps at certain points forwards or backwards, like a coda in musical notation.

People make amazingly complex music in Digital Audio Workstations. Personally I think there is some inspiration to draw from their use/function into the programming experience.

Re: Ask HN: Why does visual programming suck?

#276

I believe general purpose visual programming hasn't become widely popular because currently it's not really needed for general programming. General programming used to be pretty low-level (e.g. i++) and linear (because it's single-threaded in vast majority of cases). Things slowly change though. Now popular functional programming tends to be more high-level and the shift to multi-core CPUs even on mobile devices enco…

The common pattern of applying the same macro to each of the rows/columns can be seen as a SIMD/vectorized operation with the affected cells as inputs and outputs.

Re: Ask HN: Why does visual programming suck?

#277
post #217

Earlier quoted context omitted.

I have a dream that one day we'll collectively realize that "buying programmers the best tools" means the most powerful, and not the shiniest. Then we'll all be running ultra-wide monitors with room for many different visual aides on the one screen, backed by the CPU horsepower (overclocked and liquid cooled, if necessary) to make it all fast. And, hopefully, we'll see what an IDE can really be.

My dream is the opposite. Constrain programmers to hardware that's 2 generations old. That will force us to make our programs run fast in this environment which is much closer to what actual users will use to running it. I do understand the implication that lowering the need for always faster hardware for end users will slow down the pace of development of new hardware. But with the end of Moore's law upon us, that's…

After being stuck with a really, really bad laptop for the past 4 years, I can't disagree more whole-heartedly. I wouldn't wish that experience on my worst enemy, heh.

Though I wish more time was spent on some tools to make them more memory efficient(I'm looking at you, scala and friends), that's just not how it is today. I just bought a new laptop with 32 gigs of ram, and hopefully that is future-proof for the next few years.

Re: Ask HN: Why does visual programming suck?

#278
post #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 to…

Embedded DSLs (using the general purpose programming language as the host) is the way to go for an integrated workflow/experience. I think the same is the case for visual programming languages/tools.

Re: Ask HN: Why does visual programming suck?

#279

Imagine a world where people only bought bespoke suits. You go to a tailor and are measured and pick out your fabric and wait a few weeks. Then you pick up your suit. It's perfect. You pay $5000 and take it home. Most 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…

you win the prize for asking the right question. the answers are like with AI, where once it's done in a certain domain, then that's not AI anymore. that is, with visual programming, once it's done in a particular domain, people don't think it's programming anymore. the big examples i have in mind are: * spreadsheets -- very visual, everything's in a grid. the relationships are spatial. * electronic music -- people l…

Sooo... Minecraft is a visual programming tool, then?

Re: Ask HN: Why does visual programming suck?

#280
post #254

Text doesn't interfere with a programmer's imagination or ability to visualize the system. Visual programming suppresses imagination and imposes a very limited and impoverished visualization.

On the other hand it can be really tricky to reconstruct an understanding of a non-trivial system which someone else made from the textual code. With visual diagrams overall architecture can be conveyed quickly and relatively concisely.
Post reply on HN