Discussing the article: "DRAKON visual programming language — communication tool for MQL developers and customers"

 

Check out the new article: DRAKON visual programming language — communication tool for MQL developers and customers.

DRAKON is a visual programming language designed to simplify interaction between specialists from different fields (biologists, physicists, engineers...) with programmers in Russian space projects (for example, in the Buran reusable spacecraft project). In this article, I will talk about how DRAKON makes the creation of algorithms accessible and intuitive, even if you have never encountered code, and also how it is easier for customers to explain their thoughts when ordering trading robots, and for programmers to make fewer mistakes in complex functions.

This will not decrease the load of the programmer’s technical work, but at least they will understand your thoughts much better, and there is less chance that they will make mistakes in the first versions. These errors will have eventually to be corrected, which may require additional time (and/or money).

In general, DRAKON diagrams are beneficial both for programmers and customers who are unfamiliar with programming but have a very good understanding of how exactly they want their EAs to work.

To put it simply:

  • The language is structured in such a way that it really helps you think. When I see an algorithm in the form of a diagram, it is much easier for me to understand the relationships between parts in the modules, as well as between the modules themselves, find errors and use solutions that might not seem obvious without a diagram.
  • DRAKON helps to better understand the customer.
  • It is easier to convey my proposals to the customer if any arise.
  • It is easier for the customer to criticize my mistakes.
  • If the customer has drawn a DRAKON diagram, it can be transferred into the code and the requirements specification can be considered completed. This is much easier than dealing with questions and issues arising during the coding itself. There may be some features that are obvious to the customer, but not for the developer. The diagram eliminates potential misunderstandings.

For me, graphics in the algorithms is an indispensable communication tool. When two people are interested in the result and are engaged in a dialog, it is better for them to speak the same language. The language of DRAKON diagrams is universal for specialists in any branch of knowledge if you understand it once.

Author: Oleh Fedorov

 
You might want to give Flowgorithm a try.
 
Soewono Effendi #:
You might want to give Flowgorithm a try.

It looks very interesting, thanks.

Chat style console is not so good for me, but it is many interesting things there.

 

I found Flowgorithm is more for educational purpose than real world programming. Drakon is closer to what I'm looking for : closer to Grafcet which is not well known outside of France and Automation field but it's a gem ;) https://www.researchgate.net/profile/Paul-Baracos-2/publication/243782363_Grafcet_step_by_step/links/588b7e3d45851567c93c9cdb/Grafcet-step-by-step.pdf


I had been taught a long time ago in french engineering school (not computer science but tradional engineering field) by a teacher who was part of the comitee. Before learning it I had no interesting in coding and was almost last, with it I became first :)

Then I forgot about it since I was in traditional software engineering. After decades I realised there's no real modeling in traditional software engineering as nobody actually uses UML apart from drafts and I realise Grafcet or equivalent + a bit of UML could be a real way to be on par with other engineering fields. Like Drakon it is first aimed at specification but due to its simplicity and fractality it can easily map with code so much people think that SFC is equivalent to Grafcet whereas SFC is indeed derived from Grafcet it is only a coding language for a specific industry (automation) not meant for specification.

As said here  "one of the main advantages of GRAFCET is the specification of hierarchical structureshttps://www.sciencedirect.com/science/article/pii/S2405896319314387 and it is exclusively event driven so very suitable for trading algorithms ;)

A model-driven approach for transforming GRAFCET specification into PLC code including hierarchical structures
A model-driven approach for transforming GRAFCET specification into PLC code including hierarchical structures
  • www.sciencedirect.com
GRAFCET, as defined in IEC 60848, is a powerful graphical modelling language to define the behavior of sequence controls with discrete event systems. …