Why valenok2003 is against MT5 - page 23

 
Roman.:
In principle, yes. The assembler has jmp. So, it's designed for something, isn't it?


Assembler doesn't have curly braces and ifs, so without jmp and

ja x Above > unsigned numbers jae x Above or Equal >= unsigned numbers jb x Below < unsigned numbers jbe x Below or Equal <= unsigned numbers jc x Carry c==1 (shr,shl,sar,sal,ror,rol... )) jcxz x CX is Zero cx==0 je x Equal == jz x Zero ==0 js x Sign <0 jg x Greater > numbers with sign jge x Greater or Equal >= numbers with sign jl x Less < numbers with sign jle x Less or Equal <= numbers with sign

cannot be avoided

 

Usually, until you start writing your own compiler, you don't understand why goto is undesirable.

Goto destroys the execution flow, goes out of scope and is especially detrimental in OOP, where there are lots of implicit constructors/destructors. Any compiler developer will be terrified when he suddenly realizes that he has to jump into the unknown right from the middle of the block.

Although C++ allows goto for compatibility, its compiler imposes many restrictions on goto use, leaving only a narrow niche for the simplest jumps in equally simple cases.

 
I haven't seen goto since Algol-60, which can't be called procedural. And in assembler, it's a jump to the memory cell number, but not to the label. Goto is not needed in algorithmic procedural languages, especially those supporting OOP.
 

Renat:

Usually, until you start writing your own compiler, you don't understand why goto is undesirable.

Goto destroys execution flow, goes out of scope and is especially detrimental in OOP, where there are lots of implicit constructors/destructors. Any compiler developer will be horrified when he suddenly realizes that he has to jump into the unknown right from the middle of the block.

Although C++ allows goto for compatibility, its compiler imposes many restrictions on goto use, leaving only a narrow niche for the simplest jumps in equally simple cases.

Extreme out-of-block escapes with triggered destructors have not been used. But for early exiting from nested loops and for jumping from different conditions to the same point or to different points goto is indispensable for code simplification. And it simplifies not only code execution, but visually as well.

 
Zhunko:

I haven't used extreme exit with destructor triggering. But for early exit from nested loops and for transition from different conditions to the same point or to different points goto is indispensable for code simplification. And it simplifies not only code execution, but visually as well.

Especially when it's used by 554,000 dummies.
 

Come on, let's play religious wars here. Well, if there's no goto, the hell with it.

I don't remember a situation where it was so badly needed, to the point of boiling sulphur in my ears. I don't even remember a time when I had a thought like "ehhh, I wish I'd come here...". There was no such thing. That said, I can't say that my algorithms are so basic.

Just the same way we could have left goto but prohibited for for some mystic reasons. And you would have survived.

 
Mathemat:

Come on, we're playing religious wars here. If there's no goto, whatever.

I can't say that my algorithms are that basic.

Well, why don't you show me?)
 
tara: Well, I'd show you :)
Why don't you show me an algorithm, which is more elegant with goto than without it.
 
Mathemat:

Come on, let's play religious wars here. Well, if there's no goto, the hell with it.

I don't remember a situation where it was so badly needed, to the point of boiling sulphur in my ears. I don't even remember a time when there was a thought in my head like "eh, I wish I'd come here...". There was no such thing. That said, I can't say that my algorithms are so basic.

In the same way you could leave goto but prohibit for for some mysterious reasons. And you would have survived.


No, it's not fair. I never use for, but it's harmless.
 
tara: No, that's not fair. I never use for, but it is harmless.
Well, do you use for? It's basically the same as for.