OOP, templates and macros in mql5, subtleties and uses - page 12

 
Alexey Navoykov:
Ok. But you should still think about abstract methods. Without them, everything looks very unreliable.

I'm thinking in the direction of such a sublanguage without explicit typing at all. Only at runtime. I don't think a well-tuned architecture of this type would lead to errors.

 

I don't believe that a well-tuned architecture of this type will lead to errors.

What's that about?
 
Алексей Тарабанов:

I don't believe that a well-tuned architecture of this type will lead to errors.

What's that about?

This is about the comrade's concern that run-time errors are too unreliable a benchmark for good program debugging

 
Ilya Malev:

I'm thinking in the direction of such a sublanguage without explicit typing at all. Only at runtime. I don't think that a well-tuned architecture of this type would lead to errors.

Well, you're wrong. Absence of typification is an evil thing. Of course, there are some lamer languages without it, but this is something you should avoid, not aspire to. The more the compiler swears at you, the better, it means you're on the right track.
 
Ilya Malev:

This is about the comrade's concern that run-time errors are too unreliable a benchmark for quality program debugging

Ilya, if only there were something to debug...

 
Alexey Navoykov:
But this is a futile point. Lack of typing is an evil. There are certainly lamer languages without it, but this is something to get away from, not to strive for. The more the compiler swears at you, the better, it means that you are on the right track.

We are not writing orbital control stations here, but rather simple, stereotyped and formulaic solutions that differ little from one another. In this context, the lack of strict type control, and instead maximum convenience is just what the doctor ordered. Fans of all sorts of neural networks and GPU operations support may rest easy. So can the adepts of maximum performance.

 
Ilya Malev:

In this context, the lack of strict type control and instead maximum convenience is just what the doctor ordered

By the way, MQL already lacks type checking of pointers. A base pointer implicitly casts to a derived one, which should not happen.

 
Ilya Malev:

We are not writing orbital control stations here, but rather simple, stereotyped and formulaic solutions that differ little from one another. In this context, the lack of strict type control, and instead maximum convenience is just what the doctor ordered. Fans of all sorts of neural networks and GPU operations support may rest easy. So can the adepts of maximum productivity.

The matter is not in the typing as such, but in the way it is presented and the prospects of complex projects with neural networks, GPU, etc. languages with dynamic typing, such as Python, where there is no obvious programming difficulties, while languages with static typing and compiler headache a la C, will remain in the Old Boys, i.e. pensioners)
 
Philipp Negreshniy:
the prospects of complex projects with neural networks, GPUs, etc. for languages with dynamic typing, like Python, where there are no explicit programming difficulties
You probably meant to say: where it is not required to be a programmer ) In fact, languages designed for dummies. And these languages are in fact just a shell, calling some or other codes written in normal programming languages.
 
Alexey Navoykov:
You probably meant to say: where you don't need to be a programmer) In fact, languages designed for dummies. And these languages are essentially just a shell, calling some or other code written in normal programming languages.
I just wanted to say about normal, applied programmers and programs, which this branch and the site is about, and you mean those who write languages, the system ones, which seem to have nothing to do here, except hack something)