![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Понимаю, что дело в привычке и знании синтаксиса, но мне очень тяжело въехать в код даже при том, что являюсь автором оригинала.
На MQL в ФП стиле к сожалению ни как. Если кратко то эксплуатируется следующий подход: есть условия оферты (PammSet), есть функции которые условия оферты конвертируют в финансовый результат (AccountRecord). Оба типа неизменяемые, задаются при создании. Задача сводится к генерации множества оферт и сопоставлению каждого элемента этого множества с фин. результатом через функцию сопоставления (Set1, Set2, Set3). Ключевым элементом является функция SelectЖ применение произвольной функции вида Func<in, out> к каждому элементу последовательности.
Жак Фреско про ФП и ООП
А чем это ФП принципиально отличается от использования указателей на функции?
это оно и есть, просто в ФП синтаксис по удобнее.
на столько удобнее, что вся архитектура кода на нем строиться
к примеру можно создать блок который будет получать задание которое будет выполнять при клике мышки.... к примеру для ГУИ.
и там пакуешь вызовы в список и довольно просто добавляешь задание которое надо выполнить
пример
Кнопка1.MouseClickAdd(()=>(тут ссылка на нашу функцию в стиле Funk();))
при этом такую настройку а именно задание мог добавить сам пользователь, который использует код нашей панельки для настройки своих действий на кнопки....
при этом привязка функции будет взята из окружения видимости. т,е. можно класс добавить да чего угодно. Т.е. мы добавляем не итоговый результат функции а то какую функцию надо выполнить(вызвать) когда наступит это условия
А чем это ФП принципиально отличается от использования указателей на функции?
ФП - реализация лямбда-исчисления, а императивное программирование (включающее ООП) - реализация машины Тьюринга.
ФП - реализация лямбда-исчисления, а императивное программирование (включающее ООП) - реализация машины Тьюринга.
Логично)
думаю, что обсуждаем "мух и котлеты"
если ФП является офигенной заменной ООП, покажите пример GUI выполненного на ФП, не показанный выше пример
Кнопка1.MouseClickAdd(()=>(тут ссылка на нашу функцию в стиле Funk();))
а реализацию самих кнопок, чекбоксов, скролбаров и т.д. - и все выполненного на ФП
имхо, если помогает ФП упростить формализацию и решение задачи, чтобы не городить зависимость С++ от линейного выполнения кода (сверху вниз) - отлично! но обсуждать, что ФП это альтернатива ООП (который вырос из процедурного стиля), имхо очередное сравнение мягкого и теплого
думаю, что обсуждаем "мух и котлеты"
если ФП является офигенной заменной ООП, покажите пример GUI выполненного на ФП, не показанный выше пример
а реализацию самих кнопок, чекбоксов, скролбаров и т.д. - и все выполненного на ФП
имхо, если помогает ФП упростить формализацию и решение задачи, чтобы не городить зависимость С++ от линейного выполнения кода (сверху вниз) - отлично! но обсуждать, что ФП это альтернатива ООП (который вырос из процедурного стиля), имхо очередное сравнение мягкого и теплого
Тут как раз одно не мешает другому, а дополняет.
да и при желании на ФП тоже можно все также городить как на ООП прям с Тайкой же структурой - хотя занятие очень сомнительноеТут как раз одно не мешает другому, а дополняет.
я про это и пишу
а статья из первого сообщения топика, пытается сравнить 2 совершенно разные, по назначению, парадигмы программирования
ФП - реализация лямбда-исчисления, а императивное программирование (включающее ООП) - реализация машины Тьюринга.
Исчерпывающе! Ни добавить ни прибавить ))