Discusión sobre el artículo "Lenguaje de programación visual Drakon: una herramienta de comunicación para desarrolladores y clientes MQL"

 

Artículo publicado Lenguaje de programación visual Drakon: una herramienta de comunicación para desarrolladores y clientes MQL:

DRAKON es un lenguaje de programación visual especialmente diseñado para simplificar la interacción entre especialistas de distintas ramas (biólogos, físicos, ingenieros...) y programadores en proyectos espaciales rusos (por ejemplo, al crear el complejo "Burán"). En este artículo, hablaremos sobre cómo DRAKON hace que la creación de algoritmos sea accesible e intuitiva, incluso si nunca nos hemos enfrentado al código. Asimismo, también veremos cómo el lenguaje DRAKON ayuda tanto al cliente a explicar sus pensamientos al encargar robots comerciales, como al programador a cometer menos errores en funciones complejas.

El programador no tendrá menos trabajo técnico, pero entenderá mucho mejor sus ideas y será menos probable que cometa errores en las primeras versiones. Y luego habrá que corregir dichos errores, lo que puede requerir más tiempo (y/o dinero).

En general, los esquemas DRAKON tienen ventajas tanto para el programador como para los clientes que no están familiarizados con la programación, aunque tengan una idea muy buena (mejor que nadie) de cómo quieren que funcione sus asesores.

Resumiendo esta introducción, querría decir que, para mí, DRAKON es bueno porque:

  • El lenguaje está construido de forma que realmente nos ayuda a pensar. Cuando veo un algoritmo dibujado delante de mí, me resulta mucho más fácil darme cuenta de las interrelaciones de las partes en los módulos y de los módulos enteros entre sí, encontrar errores y usar soluciones que no sean obvias en sí mismas, sino que se desprendan del esquema.
  • DRAKON nos ayuda a comprender mejor al cliente.
  • Resulta más sencillo comunicar nuestras sugerencias, si las hay, al cliente.
  • Para el cliente resulta más fácil criticar nuestros errores.
  • Si el cliente ha dibujado un esquema DRAKON, entonces este esquema podrá convertirse literalmente en código y considerar cumplidos los TdR. Esto es mucho más sencillo que darnos cuenta durante el proceso de que no sabemos, digamos, qué hacer si la señal no funciona. Es que para el cliente resulta tan obvio que se ha olvidado de aclararlo, y después de aclararlo resulta que debemos escribir tres pantallas más de código... Es mejor aclarar estas cosas antes de empezar a programar, y los esquemas visuales nos sirven de gran ayuda en esta tarea.

En mi opinión, los gráficos en los algoritmos son una herramienta maravillosa de comunicación. Cuando dos personas están interesadas en el resultado y dialogan, es mejor que hablen el mismo idioma, y el lenguaje de los esquemas DRAKON es universal para los expertos de cualquier profesión, si lo entienden una primera vez.

Autor: Oleh Fedorov

 

Era inquietante:

Leí los carteles con asombro. Había tres. En la puerta de la izquierda, un cartel macizo azul con letras plateadas brillaba estrictamente con cristal grueso:

NICHAVO
CABAÑA SOBRE PATAS DE POLLO
MONUMENTO DE LA ANTIGÜEDAD SOLOVETSKY



En la verja derecha colgaba desde arriba una placa de hojalata oxidada: "Calle Lukomorye, N_13, N. K. Gorynych", y debajo había un trozo de madera contrachapada con una inscripción escrita con tinta en un renglón torcido:

.

EL GATO NO FUNCIONA

Administración


 
Разработка эксперта средствами UML
Разработка эксперта средствами UML
  • www.mql5.com
В статье рассматривается создание торгового советника с помощью графического языка UML, который используется для визуального моделирования объектно-ориентированных программных систем. Основным преимуществом такого подхода является визуализация работы проектировщика. Приведен пример проектирования структуры и свойств советника при помощи программы Software Ideas Modeler.
 
Dmitry Fedoseev #:

Eso me recuerda algo:

Leo las señales con asombro.

...

¿Puedes ampliar un poco la asociación?

P.D. A mí también me encanta "Monday". Así como algunas de sus otras cosas.

 
Stanislav Korotky #:
Related Post.
Super. Gracias.
 
Oleh Fedorov #:

¿Puede ampliar un poco la información sobre la asociación?

P.D. A mí también me encanta "Monday". Así como algunas de sus otras cosas.

Nada en particular. El comienzo es tan surrealista:"El lenguaje DRAGON se desarrolló gracias a los esfuerzos conjuntos de la Agencia Espacial Federal", que por un momento pensé que estaba leyendo a Strugatsky.

 
Quizá quieras probar Flowgorithm.
 
Dmitry Fedoseev #:

Nada especial. El comienzo es tan surrealista:"El lenguaje DRAGON se desarrolló gracias a los esfuerzos conjuntos de la Agencia Espacial Federal", que por un momento pensé que estaba leyendo a Strugatsky.

Da miedo verlo. Al imaginar cuántos diagramas tuvieron que dibujar los desarrolladores del software Buran para realizar un aterrizaje automático, ¡se me saltan las lágrimas!

 
Alexey Volchanskiy #:

¡Es un espectáculo horrible! Cuando imagino cuántos diagramas tuvieron que dibujar los desarrolladores del software Buran para realizar un aterrizaje automático, ¡se me saltan las lágrimas!

La cuestión es que en los proyectos en los que se utilizó DRAGON, las oficinas de diseño se negaron a contratar programadores. Los programas los escribían los ingenieros de aplicaciones, que eran los que tenían que encargarse de todos los algoritmos a prueba de fallos. Habrían tenido que dibujar estos esquemas de todos modos, al menos para la interacción entre departamentos. Por lo tanto, la utilidad de la tecnología me parece personalmente bastante concreta...
 
Soewono Effendi #:
Quizá quieras probar Flowgorithm.

Parece muy interesante, gracias.

Consola de estilo de chat no es tan bueno para mí, pero hay muchas cosas interesantes allí.

 

He encontrado Flowgorithm es más para fines educativos que la programación del mundo real. Drakon está más cerca de lo que estoy buscando: más cerca de Grafcet que no es muy conocido fuera de Francia y el campo de la automatización, pero es una joya ;) https://www.researchgate.net/profile/Paul-Baracos-2/publication/243782363_Grafcet_step_by_step/links/588b7e3d45851567c93c9cdb/Grafcet-step-by-step.pdf


Me enseñaron hace mucho tiempo en la escuela de ingeniería francesa (no la informática, pero el campo de la ingeniería tradional) por un profesor que formaba parte del comité. Antes de aprenderlo no tenía ningún interés en la codificación y era casi el último, con él me convertí en el primero :)

Luego me olvidé de ello, ya que me dedicaba a la ingeniería de software tradicional. Después de décadas me di cuenta de que no hay modelado real en la ingeniería de software tradicional como nadie realmente utiliza UML aparte de los borradores y me di cuenta de Grafcet o equivalente + un poco de UML podría ser una forma real de estar a la par con otros campos de la ingeniería. Al igual que Drakon, está orientado en primer lugar a la especificación, pero debido a su simplicidad y fractalidad se puede mapear fácilmente con el código, por lo que mucha gente piensa que SFC es equivalente a Grafcet, mientras que SFC se deriva de Grafcet, pero es sólo un lenguaje de codificación para una industria específica (automatización), no para la especificación.

Como se dice aquí"una de las principales ventajas de GRAFCET es la especificación de estructuras jerárquicas" https://www.sciencedirect.com/science/article/pii/S2405896319314387 y es exclusivamente dirigido por eventos por lo que es muy adecuado para algoritmos de negociación ;)

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. …