
Flowgorithm: Flowchart Programming IDE - vmorgulis
http://flowgorithm.org/index.htm
======
kbody
Make it: open-source, cross-platform, extensible and then it's a matter of
finding a great integration way so it can be used for defining the business
logic.

Personally I am pretty confident that in the next few years there will be an
emergence of such tool. Node-RED and NoFlo are on the area, but the goal of
the first didn't help and the other went after the money and lost traction and
the opportunity so it became stagnant.

------
explorigin
Looks easier to use than [DRAKON]([http://drakon-
editor.sourceforge.net/](http://drakon-editor.sourceforge.net/)) but does it
launch rockets?

~~~
digi_owl
Hear about that before, but now they seem to have introduced a web based
editor.

[https://drakon-editor.com/](https://drakon-editor.com/)

Seems to make it very easy to visualize parallel code btw.

------
jrcii
Didn't we, as a community, already try and subsequently scrap this idea when
it was called UML?

~~~
admax88q
The problem with UML is not that it's graphical, but because it's not the
ultimate source of truth in your software. The UML isn't executable.

Instead you build the UML and then go write code to implement what you modeled
in UML. Anything you change in the code is not reflected in the UML making it
out of date.

If you could actually execute your UML it would be much more useful. As it
stands, its just a standardized diagram for visualizing designs.

~~~
jrcii
There was this
[https://en.wikipedia.org/wiki/UML_tool#Code_generation](https://en.wikipedia.org/wiki/UML_tool#Code_generation)

~~~
noselasd
And it mostly generated scaffolding or property bags(java beans), not logic.

------
jamesrom
Why do people think programming is wiring up boxes with arrows? That's like
10% of it.

This does look neat though and should be useful for education.

~~~
drewrv
> Why do people think programming is wiring up boxes with arrows? That's like
> 10% of it.

I agree with this but would like to add: Why do people think programming is
writing text into an editor? The suggestion that maybe there's a better way
than writing stuff in emacs or vim is considered heresy.

~~~
alextgordon
You want to maximise the density of information that is visible on the screen.

The limiting factor is human working memory: the more that is visible at any
one time, the less I have to remember.

So it makes sense to divide the screen into a matrix of little boxes, and put
a symbol in each. That maximises information.

Most programming languages fill those little boxes with ASCII glyphs because
those are what's available on a US keyboard. We certainly could use Unicode or
something else, but we'd need different input devices.

How could we improve things? At the moment any space after a newline is
wasted, unless there's a line comment. I like Chrome web inspector's approach
of putting debug evals in there.

~~~
jljljl
Flowchart programming would let you zoom out and parse the program flow
visually, something that's not always easy to do when reading a textual
implementation.

You're exchanging density at a detail level with being able to visualize the
entire program from a 1000 feet high.

~~~
drewrv
Quickly switching between "high level" and "low level" and everywhere in
between sounds great.

I would love to be able to browse a new codebase with the ease with which I
can browse a new city on google maps.

------
zitterbewegung
When I was in an intro to programming class I used a similar tool. This is
great for teaching people the absolute basics .

------
saikrishnabala
Also, I dont see any concepts of parallel programming or any object oriented
programming features. It can only used by beginners to learn very basic
features of a language.

------
jwatte
Oh, no, not again!

Anyway: how do I resolve merge conflicts in version control?

~~~
kefka
With that Windows flowchart tool, no clue.

But with Node-Red, I can use Flow-Cloner to close the main repo to my local
machine.

Then I can do work, and make sequential updates to my project in
projects/project1/flows.json and use GIT as normal. Then I submit them as any
source commit.

Then the project owner can then clone the .json file into stable/main/dev as
appropriate.

And yes, that works, because it's what I do.

------
erikb
I think I'm about 67% towards text and away from GUI as a person, but I think
if one attempts to make something GUI based it should be beautiful.

------
ausjke
never did this, what's the "selling point" of this method? Thanks.

~~~
sparkie
The selling point is that you can present algorithms to non-programmers and
they can actually follow them without knowing anything about programming. It
seems the brain is better suited for understanding spatial visualizations than
complex linguistic structures, which require more training to understand.

Visualizations like flow charts can help even advanced programmers get an
understanding of some unfamiliar code, because it's much easier to see the
program flow spatially than to read a big block of code and produce that
representation in your head (temporarily, only to forget it shortly after).

The downside is that building visualizations is much slower than typing the
set of instructions for it, as we do in code. This program seems to do things
backwards (generate code from flowcharts), where what would be the most useful
functionality would be to generate the flowcharts from code - thus enabling
both the programmer to be productive and the non-programmer to not be scared.

