Questions on OOP in MQL5 - page 31

 
Dmitry Fedoseev:
OK, got it, what's FP, it's the new password in the club.

functional programming

fxsaber:

Yes.

questions to the code came up, as always why do you use .... and other demagogy, I will probably not ask - there is no point, because I know you as a practitioner, if it was written that way, it was worthwhile

 

Forum discussion participants (programmers) can be roughly divided into two groups. One of them feeds from the market and programming experts to order is their main occupation. The second group consists of those trading and earning from trading. Programming is secondary and episodic for them. Why not to order from freelancers? If you want to do well, do it yourself, and as a rule it is easier to write than to explain to someone what must be done.

The demand of programmers from the first group to developers - squeeze everything into MKL, otherwise we can not fit into the market.

For the second group of terminal users the most important thing is that the terminal is reliable, stable and unchangeable. The horror of MT4 to 600 migration still makes me shudder. That's why the MT4 terminal and MQL4 language are working. If the TP cannot be implemented in MQL4 we look for ready solutions in other languages and simply apply them. As one character of Khazanov said: "There's no need to think it up. Everything was invented long ago before us". If you need machine learning models - take R or Python, if you need asynchronous, parallel programming of tasks - take ZeroMQ, etc. It is impossible to port all this to MCL and there is no need.

It does not matter much whetherto use OOP or not for simple tasks. But as soon as you need to parallelize the execution of tasks (not computing!) forget about OOP. Who has faced these tasks, knows what we are talking about. Therefore this possibility will never be in MKL.

The developers' position is clear - when so much effort and time was put into the product, it is the best. It is really good. What is not clear is their arrogant statement about those who disagree that OOP is neither the only nor the best option in programming.

Just an opinion, not for discussion. Nothing to argue about.

Good luck

 
Igor Makanu:

functional programming

...

Wow! I didn't even think there could be anything more interesting than a story about a dancer and his balls.

 
I don't know what's so great about FP, I've had a little experience with lisp, but it didn't work at all. Uncomfortable, unfamiliar. Maybe I didn't get the hang of it.
 
Vict:
I don't even know what's so great about FP, I've had a little experience with lisp, but it just didn't sink in. Uncomfortable, unfamiliar. Maybe I haven't mastered it.

It's just not for average minds: C++ is now studied in college, while functional programming is only studied in the senior year of university. You need a good teacher and the entry threshold is higher, but when it is overcome, everything is simple and very convenient: you solve the task at hand, instead of writing tons of code

 
A100:

It's just not for average minds

Thank you, very nice ))

 
Vict:
I don't even know what's so great about FP, I have a little experience with lisp, but it just didn't click at all. Uncomfortable, unfamiliar. Maybe I haven't got the hang of it.
Isn't that the lisp where everything is in brackets?
When I think back, I get goosebumps.
 
A100:

It's just not for average minds: C++ is now studied in college, while functional programming is only studied in the senior year of university. You need a good teacher and the entry threshold is higher, but when it is overcome, everything is simple and very convenient: you solve the task at hand, instead of writing tons of code.

I think it's all about the ban on alcohol under 18!


 
Vladimir Tkach:
Isn't that the one with all the brackets?
When I think back, I get goosebumps.

Well, that's a hell of a thing, tonsils up your ass.

(defun wtestc ()
  (let (mymenu result start done)
    (setq mymenu (menu-create '(quit point line box region) "Choose One:"))
    (while (not done)
      (setq result
            (case (menu-select mymenu)
              (quit   (setq done t))
              (point  (window-get-point *myw*))
              (line   (setq start (window-get-point *myw*))
                      (list start
                            (window-get-line-position *myw* (car start)
                                                            (cadr start))))
              (box    (window-get-box-position *myw* 40 20))
              (region (window-get-region *myw*)) ))
      (format t "Result: ~A~%" result) )
    (menu-destroy mymenu) ))
ZS: and there's Egor above on the subject, about the same style is advocated.
 
Lately I've started to see some kind of "rubbish collection" in the functions of various compilers. What is it?
Reason: