Live data from Hacker News

Bubble – Visual Programming

bubble.is

111–120 of 124 posts

Re: Bubble – Visual Programming

#111
post #99

Earlier quoted context omitted.

> The biggest programming language in actual use is Excel Which has cost companies and investors billions and is the most accident prone. http://www.zdnet.com/article/excel-errors-microsofts-spreads... No Version control no way to audit your code. These also come with visual programs.

> Which has cost companies and investors billions and is the most accident prone. Since it handles untold trillions (almost every company processes their financial data through Excel at multiple points) the "billions" it might have cost is a drop in the bucket. There's a reason why it's used nonetheless. > No Version control no way to audit your code. These also come with visual programs. There's nothing about visual…

> There's nothing about visual programs that say "no version control"

Well, this is one of those "in theory" things. In practice diffing and merging visual programs never works well, if at all. Usually nobody has developed the tools for a particular binary format.

Visual programming also has a lot of non-functional information like the exact placement of items. Textual code has indentation and such too, but not as much. To keep visual code clean you need to move it around often, but how to you merge that with other changes?

Re: Bubble – Visual Programming

#112
post #75

Earlier quoted context omitted.

There's a big trend of low-code,or no-code tools. Some of the reviews/reports do talk about 5x and sometimes 10x improvement. There are some tools(if you want i can look later) that you input math and you get fully optimized code for a variety of architectures, so it's kinda 1%.

Am I right in assuming these are only able to handle specific tasks? What I've noticed applies in general, and is usually the result of programmers trying to be too clever, using frameworks, inappropriate use of object orientation, or not refactoring.

I actually feel that being domain constrained is a requirement if you want to offer the maximum amount of expressivity and simplicity[1]. And this is a must for a tool that aims at domain experts.

So maybe the question we should ask: how do we constrain our users to the bone, while still letting them do everything ?

[1]Intuitively, i feel like even textual languages haven't focused on simplicity. even python. they all require good memory, and focus. But is it possible to design a textual language(with the right IDE) that you can do real tasks in, for someone with bad memory and focus ? visual languages will surely get you farther there.

Re: Bubble – Visual Programming

#113

Earlier quoted context omitted.

> Which has cost companies and investors billions and is the most accident prone. Since it handles untold trillions (almost every company processes their financial data through Excel at multiple points) the "billions" it might have cost is a drop in the bucket. There's a reason why it's used nonetheless. > No Version control no way to audit your code. These also come with visual programs. There's nothing about visual…

> There's nothing about visual programs that say "no version control" Well, this is one of those "in theory" things. In practice diffing and merging visual programs never works well, if at all. Usually nobody has developed the tools for a particular binary format. Visual programming also has a lot of non-functional information like the exact placement of items. Textual code has indentation and such too, but not as mu…

That's true, but I wonder if that's not a result of having too few of them, which makes it harder to abstract basic components that can work for many languages, like letters and lines in text.

Imagine saving the visual programs as SVG images of boxes and lines, with properties attached. Then you could easily make a generic merging tool that worked on those objects. It would sometimes make senseless combinations, but so do text version control utilities.

Likewise, merging a move would be implementable, even if the result might have to be tweaked manually. But then again, git and hg have merge conflicts too.

Re: Bubble – Visual Programming

#114
post #94

Earlier quoted context omitted.

If by "easy UI" you mean a WYSIWYG UI editor, those exist for most serious development of applications, such as for Windows, iOS, and Android, though they still aren't the norm in web for some reason. But if by "easy UI" you mean the visual programming language, or the graphical DDL, then I'm skeptical it has any value to programmers. No programmer I know would want to use a visual programming language at all, even w…

I use visual programming all the time. On my whiteboard. The task to convert that into code is trivial. Only manual labour. If I could stay on the whiteboard with my pen and compile parts of my program from there, that would be awesome. Btw: I tried some "Smart" Whiteboards, but they are all just bad quality. Real whiteboards are still superior for whatever you do with whiteboarsd.

Are your drawings precise enough that someone else could keep working on them without ever talking to you?

Re: Bubble – Visual Programming

#115

Earlier quoted context omitted.

> What if the input is the right type, but doesn't have the right count for the expression? I'm not sure what you mean by that. > object orientation is a great way to have a good enough type system. It means different things to different people. The type systems the various kinds of OO provide are subsets of the existing type system, which will soon be extended to support dependent typing. > In a vertex-edge model, t…

> What if the input is the right type, but doesn't have the right count for the expression? Let's say you have type T. T stores one or more pictures. Let's say you have a vertex in the vertex-edge graph that wants an input of type T, but it also wants a T that stores a specific number of pictures. You can ensure basic type safety by requiring an input T for the vertex, but you cannot ensure expression safety since T…

You can ensure basic type safety by requiring an input T for the vertex, but you cannot ensure expression safety since T satisfies the type safety requirement, but not the requirements of the expression represented by the vertex.

You should look into Idris; what you describe is just another type.

http://docs.idris-lang.org/en/latest/tutorial/introduction.h...

Re: Bubble – Visual Programming

#117
post #112

Earlier quoted context omitted.

Am I right in assuming these are only able to handle specific tasks? What I've noticed applies in general, and is usually the result of programmers trying to be too clever, using frameworks, inappropriate use of object orientation, or not refactoring.

I actually feel that being domain constrained is a requirement if you want to offer the maximum amount of expressivity and simplicity[1]. And this is a must for a tool that aims at domain experts. So maybe the question we should ask: how do we constrain our users to the bone, while still letting them do everything ? [1]Intuitively, i feel like even textual languages haven't focused on simplicity. even python. they al…

You don't have to remember the correct syntax, or input and output types, because the editor won't let you enter an invalid program.

The type system constrains many of the choices the programmer can make. It's only possible to connect an output to an input of a compatible type, and doing this can instantiate a type parameter, e.g. [X] -> [car] -> [add1] is only possible if X outputs a List of Int. If you want to connect to an input which is absent, you're only given vertices with inputs of the correct type to choose from.

I should probably put more information about both the type system and the IDE on my tutorial pages.

Re: Bubble – Visual Programming

#118

Earlier quoted context omitted.

If by "easy UI" you mean a WYSIWYG UI editor, those exist for most serious development of applications, such as for Windows, iOS, and Android, though they still aren't the norm in web for some reason. But if by "easy UI" you mean the visual programming language, or the graphical DDL, then I'm skeptical it has any value to programmers. No programmer I know would want to use a visual programming language at all, even w…

> No programmer I know would want to use a visual programming language at all, even with an option to fall into a full text-based programming language. Here! But perhaps not as in typical visual programming tools. When I programmed ABAP which is traditionally heavy on methods/functions with lots of in and out parameters I always wished for the possibility to just drag some lines between parameters I want to map witho…

Something like this maybe? https://www.perl.com/pub/2005/06/23/sprog.html

Re: Bubble – Visual Programming

#119
post #47

Earlier quoted context omitted.

> No programmer I know would want to use a visual programming language at all, even with an option to fall into a full text-based programming language. This is something that a lot of game and graphics programmers are doing already. UE4 uses Blueprints[0] now, with the ability for programmers to drop into C++ for more control. I also think that having multiple ways to interact with programming languages is awesome fr…

> No programmer I know would want to use a visual programming language at all, even with an option to fall into a full text-based programming language. I started with C and then turned to VVVV [0] for a while (now using Python). VVVV enabled me to do a lot of media-related things, that I would have had a hard time doing otherwise. It still has a special place in my heart :) [0] http://vvvv.org

Which Python libraries do use for media-related things?

Re: Bubble – Visual Programming

#120

Earlier quoted context omitted.

Delphi has actually been an inspiration for the UX (i was a big user in 1996).

What UX?

Ah, you are one of the creators. If Bubble is similar to Delphi, I wouldn't call it visual programming (can you develop IF statements, loops and functions visually?).

A better name for Delphi kind of tools would be "Rapid Application Development Environment". And it's more convincing name than "visual programming" - I have never seen a successful visual programming environment.

Post reply on HN