A truly amazing result!!! - page 4

 
nen >> :

Studied logic for programming over 30 years ago. Decipher the abbreviations KNF and DNF.

A conjunctive (disjunctive) normal form.

 
Galaxy писал(а) >>

Stop! What does this have to do with standards or conventions? This is a completely different area of error, turning all mathematics upside down.

The mathematical basis of digital electronics and computer engineering is the algebra of logic (or Boolean algebra), in which definitely (axiomatically)

The logical addition "or" (disjunction ) and the logical multiplication "and"(conjunction) .

How then all KNF and DNF that we studied at university? I think we need to fix it urgently and not embarrass ourselves.

This mistake cannot be corrected. Because a lot of good 4-version programs will go to hell, I think... Unless you introduce some kind of C++ pragm:

#lol_logical_operation

// Old school abnormal logical operations... enjoy!

#unlol_logical_operation

What would be alien logic inside this construct:)

 
I will have to dig through the software. Although I also try to do multi-level checks so that not the first level cuts off everything as much as possible.
 
Prival писал(а) >>

But don't pour your venom here.

It's not the accuracy of the work that's shown here. It helps developers to make the software product even better, eliminate bugs, glitches, etc. Of course, if they find it necessary and possible. Thanks to posts like this, MQL becomes better from build to build.

I would like to contribute to improvement of MT*. For example, to persuade developers to support other languages. And the main thing is that it doesn't cost anything. The best thing would be to integrate CLR-host - then all .NET languages could be used. C# is the same. The effort would be a week at most for one programmer (just to export the MT object model). And I think it would raise the level of MT a lot.

And of course, the development of MQL5... ...in parallel. Bringing its performance to the level of C++. etc.

 
MuruFigi >> :

I would really like to contribute to making MT* better. For example, persuade the developers to make support for other languages. And most importantly, it wouldn't cost anything. The best thing would be to integrate CLR-host - then all .NET languages could be used. C# is the same. The effort would be a week at most for one programmer (just to export the MT object model). And I think it would raise the level of MT a lot.

And of course, the development of MQL5... ...in parallel. Bringing its performance to the level of C++. And so on...

... Like NinjaTrader ? What's the purpose of MQL then? A week of work - you must be joking :)

 
Choomazik писал(а) >>

... like NinjaTrader ? What is MQL for then? A week of work - you're kidding of course :)

I don't know what NinjaTrader is.

Why do you need MQL? For people who have not done programming professionally. It is a simplified language. Moreover, the development environment for .NET - you must install it, understand it and learn another language. If it is not Express, you have to buy an .NET development environment. That is what MQL is for.

And it would be easier for MQL programmers to order the modules of mathematical modeling to programmers who do not know MQL, but know C++ or C#, and could do the work on the .NET platform.

I'm not sure about the week of work too... But I know for sure that it's not difficult. You just need to read the documentation:)

 
MuruFigi >> :

This mistake cannot be fixed. Because a lot of good software on 4 would go to hell, I think... Unless you introduce a C++ type of pragm:

#lol_logical_operation

// Old school abnormal logical operations... enjoy!

#unlol_logical_operation

So that there would be alien logic inside this construct:)

You have to pay for mistakes. And the more serious the mistake, the more, that's life. And if you don't correct it now, it will cost an order of magnitude more later.

And as for logic, that's what our intellectual universe is based on, we actually think giving priority to the conjunction "&" over "or", come to think of it.

Set theory:

&& = interpreted as an intersection of possibilities,

|| = as unity.

A, B are non-empty sets

then

A && B is a subset in A || B,

i.e. if x belongs to A && B, then x belongs to A || B.

i.e. the first condition entails the second, so it is stronger.

And by MQL logic it would be vice versa.

In short we need to fix it urgently.



 

Actually, this is not a subject for a programmer, because the specification of each language comes first and it does not matter that there are other standards somewhere...

and a single standard is a pipe dream, you know...

 
keekkenen >> :

Actually, this is not a subject for a programmer, because the specification of each language comes first and it does not matter that there are other standards somewhere...

and a single standard is a pipe dream, you know...

+1, And as an insurance policy, we just put brackets in questionable places instead of shouting out loud that

"this needs to be fixed because it doesn't work the way I thought it would."

 
TheXpert >> :

+1, And for insurance, we just put brackets in dodgy places instead of shouting out loud that

"this needs to be fixed because it doesn't work the way I thought it would."

Once upon a time a long time ago was looking around for a nine to buy, when I asked the salesman what he thought about the engine oil "burning", he also told me "just stupidly pour a litre of oil every 300 km and you won't have any problems".

But people usually try to minimise the likelihood of a problem occurring, rather than constantly insuring it. And that's the way our cars go, all bluntly bushy-tailed - do-it-yourself constructors.

It's not hard to put brackets, it's just a matter of principle, the product should aim to be reliable, "for a fool", like Japanese tape recorders used to be.

Reason: