Éminence grise
Суть ФП. Ну я бы попробовал с вопроса - чем x +2 отличается от произвольной программы?
Nikolay
Nikolay
Éminence grise
А мне не кажется. Суть в том, что любая прорамма суть - функция.
Nikolay
Nikolay
Всё - функция
Nikolay
Но это в чистом ФП
Éminence grise
В зависимости от способа взаимодействия, принимающая поток событий тем или иным способом, и выдающая результат тем или иным способом.
Doge
Doge
Если да, то ссылочная прозрачность отсюда сразу же вытекает.
Romɑn
не, это не то
Romɑn
https://survivejs.com/react/appendices/understanding-decorators/
Romɑn
вот
Romɑn
это реактовики упарываются по стандартам, даже еще не вошедшим в ES7
Éminence grise
Нет не математическом. Во всяком случае никто не обязывает ее быть чистой до того как мы начинаем переходить к прогнозируемости поведения.
Doge
Éminence grise
А что нет?
Doge
Точнее, тогда программа на современном ЯП практически в любом стиле является функциональной, если твоему определению следовать.
Romɑn
Éminence grise
Любой язык способный иметь функции высшего порядка - функциональный. Вот вопрос удобства пользования парадигмой и определяют разницу. Замечу, что одна из первых реализаций ООП была написана на лиспе и называлась Flowers
Doge
Éminence grise
Нет - это всего лишь вводная фраза - для затравки. Пусть возражают.
Éminence grise
А про ФВП это уже в чат 😊 Как всегда ИМХО. Хотя и обоснованное.
Éminence grise
Doge
Doge
И оно про стиль написания программ ничего при этом не говорит.
Éminence grise
Вот способы выражения полиморфизма определяют разницу в способе писать абстрактные алгоритмы. А все остальное - это наносное.
Éminence grise
Я ставлю на то, что в функциональном программировании для ООП программистов очень мало нового, кроме способов формулировать программы, тот же SOLID - это то к чему они пришли после размышлений, а это принципы ФП в чистом виде.
Éminence grise
Не надо противопоставлять подходы - надо их объединятью Особенно в голове. Чуть выше в абстракции они не различимы. Чуть ниже то же.
Éminence grise
Я своему другу, когда он меня за функциональщину ругал, показывал его однометодные интерфейсы. И честно - он понял. Не сразу.
Doge
Éminence grise
C#, Java, C++ без шаблонов (простите с шаблонами - это почти хаскель), не SmallTalk. В принципе все, что опирается на идею VMT
Éminence grise
ТО что в привычках и образовании, не в реальности.
Doge
Éminence grise
Бороться приходится именно с ним, с настоящим ООП не надо выяснять отношений. Оно от нас не отличимо. Для понимания достаточно заменить слово наследование на расширение и специализация.
Romɑn
Hog
Roman
Если в ООП языках не использовать длинные иерархии наследования, то получается вполне функционально (по крайней мере в C# и С++).
x
Roman
Romɑn
Hog
10 программистов решили пообедать. Один вдруг поперхнулся и их осталось 9...
Romɑn
6-битный деревянный инкрементатор
Hog
Roman
Надо использовать преимущества всех стилей
Roman
Hog
Да, ещё б было можно ф# с с# мешать в одном проекте...
Roman
В принципе в разных проектах не сильно напрягает
Hog
Ну... как сказать. Было бы проще обращать в нашу веру
Roman
В веру обратить несложно. Берешь человека в команду и ставишь перед фактом что теперь ему придется изучить фшарп, потому что на нем много кусков ))
Hog
Да я уж вроде делился своим горем - пробовали так - не помогло :(
Roman
Hog
Да - это я :)
Hog
Но перед этим пришлось нам с коллегой почти весь ф# код в проекте на с# переписать
Roman
Hog
Пытались внедрить, но отдавали проект загорелым нашим братьям в индостан на поддержку, а они отказались :(
Hog
Сказали - ничо не понимаем, изучать не будем
Roman
Hog
Мало кода? :)
Hog
Ну, не получилось, а у меня тут оказия подвернулась и я срулил...
Roman
Хотя я знаю пару фанатов
Hog
Ну, вон, Венкат Субраманьям евангелирует ФП вовсю :)
x
https://motherboard.vice.com/en_us/article/aekqgb/someone-built-a-working-four-bit-computer-out-of-cardboard-and-marbles
Hog
Забористо
Pavel
и вообще отдали б сюда на поддержку. не хотят индусы денег не надо
Romɑn
Pavel
а вообще надо было так. не хотите фшарп - восстанавливаете им C# через ilspy и пусть поддерживают. они б мигом согласились фшарп учить
Hog
Это всё очень замечательно на словах, но, к сожалению, в крупных транснациональных корпорациях не работает :(
Pavel
а с чего последнему варианту не работать. вы ручником ilspy изобразили (причем не факт что засад не создали). гораздо удобнее машинный вариант отдать. во первых его все одно индусам поддерживать, а во вторых он гарантированно без ошибок как фшарп версия