I’ve added some select DRAKON shapes for creating flowcharts. The Python code in the lower right editor is generated from the flowchart, and the output from the run is shown on the left.
PyLint is also now integrated into FlowSharpCode’s PythonCompilerService. This really improves the development process as many syntactical errors are detected before even running the code.
Also, the code generator creates an execution tree which independent of the language syntax, which means that support for other languages is easily added. Now granted, the code itself in each of the DRAKON shapes is Python code, but I have some ideas of how to make that code agnostic as well.
The built in “left-right” and “up-down” connectors now have a grip in the middle connecting line that can be moved to create “U”, “C” and their mirror, connections. A much needed enhancement!
First generation languages (1GL) were closely tied to the hardware, requiring the human operator to physically manipulate toggle switches to enter in the machine language instructions directly.
Second generation languages (2GL) can be loosely categorized as assembly languages.
Third generation languages (3GL) abstracted assembly language into a more human readable syntax.
Fourth generation languages (4GL) are distinguished from 3GH in that they are typically further abstracted from the underlying hardware.
Fifth generation languages (5GL), which abstracts the language itself such that it is based on “”solving problems using constraints given to the program, rather than using an algorithm written by a programmer.”
What will a 6GL look like?
In my opinion, it will look a lot like FlowSharpCode in which programs are written by piecing together the building blocks of smaller pieces of code (“behaviors”) using very visual tools, either a 2D canvas or a 3D virtual surface.
And while we’re at it, a 7GL?
Some may argue that a 6GL will be an AI, but again in my opinion, an AI that truly succeeds at “writing” an original program will do so by building from smaller behaviors. Expecting an AI to produce “code” in the languages that exist today is, well, a cute but absurd thought. A successful AI most likely will utilize some kind of “visualization” (whatever that looks like to an AI) for manifesting its “imagination” into concrete behaviors. And most likely, whatever visualization system the AI uses will most likely be able to be mapped onto a 3D or 4D (including time dimension) surface for us to peruse.
I’ve posted an article illustrating both HTTP and WebSockets intercommunication between the FlowSharp canvas and an application written with FlowSharpCode shapes.
Read the full article here.
Lots of changes to FlowSharp recently!
- Refactoring of code components into services
- UI now implements docking panels and multiple documents
- FlowSharp and FlowSharpCode are now unified
- Bookmark navigation of shapes
- Ctrl-Tab navigation of shape selection history
Read about it more on the Code Project article!