what happened to the forum? - page 6

 
Yuriy Asaulenko:

It just means that you have had enough of the tools that MT-MQL provides. That's fine.

I asked you what tools are missing?

 
Georgiy Merts:

I asked, what tools are missing?

OOP. That is what is missing.

In MQL you have some of the tools, of course they can be transferred to C++ and so on. But the very concept of OOP is not supported by MT. MT is a closed ecosystem. Applying OOP as a concept in MT is impossible.

 
Yuriy Asaulenko:

MQL supports the concept of OOP in a very limited way, mostly only in terms of some tools. MT-MQL is a self-contained, self-sufficient (according to the developers) structure (an ecosystem - according to the developers). Discussion or application of the concept of OOP within the framework of MT-MQL is absolutely futile. And within the framework of classes-inheritance, etc. it is not interesting.


Do you have any idea what programming is? I doubt it :)

 
Petros Shatakhtsyan:


Do you have any idea what programming is? I doubt it.)

No, I don't.

 
Without Interfaces as in Java, there is no full-fledged OOP in this MQL5. There is only a kind of parody...
 
Georgiy Merts:

No, well, the profit is possible to get, say, something to write, commenting on their actions, showing their codes through Shared Projects, and those who want - let them complement. I have only doubt that these very people will be willing.

I don't see what the benefit is here. Training for money? This topic died a long time ago, no one is willing to pay. And no one pays my salary for 8.5 years, in free flight )).

 
Roffild:
Without Interfaces as in Java, there is no full-fledged OOP in this MQL5. There is only a kind of parody...
//--- базовый интерфейс для описания животных 
interface IAnimal 
  { 
//--- методы интерфейса по умолчанию имеют public-доступ 
   void Sound();  // звук, который издает животное 
  }; 
//+------------------------------------------------------------------+ 
//|  класс CCat наследуется от интерфейса IAnimal                    | 
//+------------------------------------------------------------------+ 
class CCat : public IAnimal 
  { 
public: 
                     CCat() { Print("Cat was born"); } 
                    ~CCat() { Print("Cat is dead");  } 
   //--- реализуем метод Sound интерфейса IAnimal 
   void Sound(){ Print("meou"); } 
  }; 
//+------------------------------------------------------------------+ 
//|  класс CDog наследуется от интерфейса IAnimal                    | 
//+------------------------------------------------------------------+ 
class CDog : public IAnimal 
  { 
public: 
                     CDog() { Print("Dog was born"); } 
                    ~CDog() { Print("Dog is dead");  } 
   //--- реализуем метод Sound интерфейса IAnimal 
   void Sound(){ Print("guaf"); } 
  }; 
//+------------------------------------------------------------------+ 
//| Script program start function                                    | 
//+------------------------------------------------------------------+ 
void OnStart() 
  { 
//--- массив указателей на объекты типа IAnimal 
   IAnimal *animals[2]; 
//--- породим потомков IAnimal и сохраним указатели на них в массив     
   animals[0]=new CCat; 
   animals[1]=new CDog; 
//--- вызовем метод Sound() базового интерфейса IAnimal для каждого потомка   
   for(int i=0;i<ArraySize(animals);++i) 
      animals[i].Sound(); 
//--- удалим объекты 
   for(int i=0;i<ArraySize(animals);++i) 
      delete animals[i]; 
//--- результат выполнения 
/* 
   Cat was born 
   Dog was born 
   meou 
   guaf 
   Cat is dead 
   Dog is dead 
*/ 
  }
 
Alexey Volchanskiy:

I don't see what the benefit is here. Training for money? This topic died a long time ago, no one is willing to pay. And no one has paid my salary for 8.5 years, in free flight ))

You're really something. Education... What training? All this class-inheritance stuff is explained on 20 pages of "C++ for Dummies". Those who can read it will learn on their own, and those who can't - no training will do any good. And it has been well known for a long time before us.

Learning rarely pays off for anyone except those who are predisposed to it, but they hardly need it. (c) D. Gibbons
 
Yuriy Asaulenko:

OOP. That's what's missing.

In MQL you have some of the tools, of course they can be transferred to C++ etc. But the very concept of OOP is not supported by MT. MT is a closed ecosystem. Applying OOP as a concept in MT is impossible.

something strange you say, with absolutely no confirmation

 
Alexey Volchanskiy:

you are saying something strange, with absolutely no confirmation

If you think that inheritance classes and their application is OOP, then you are indeed saying something strange. Yes, applying classes is convenient, but it's not OOP yet, it's just one of the tools.

ZS Remember what one of the first versions of C++ was called? C with classes - no mention of OOP at all.)

Reason: