Size: a a a

2021 February 19

IK

Ilya Kos in fprog_spb
Andrey Ivanov
Не претендуя на абсолютную истину, я для себя в какое-то время решил определять функциональность языка наличием в нем первоклассных лямбд с автоматическим замыканием лексического контекста изкоробки (не эмуляцией коллабл объектами и прочим). В этом плане Джава фя, С++ и Питон фя с ограничениями, а С и Паскаль не фя. И поддерживаю тезис "императивное с функциональным вообще не связано". Большинство фя при этом императивны, и лишь некоторые декларативны.
В джаве нет первоклассных функций
источник

IK

Ilya Kos in fprog_spb
Это просто эмуляция
источник

IK

Ilya Kos in fprog_spb
Через объекты
источник

AI

Andrey Ivanov in fprog_spb
Может в С++21 и да, а в 17 было надо явно перечислять. А это то же самое, что ручной объект с полями считай
источник

IZ

Ilia Zviagin in fprog_spb
Ilya Kos
В джаве нет первоклассных функций
Ну лямбды -то есть...
источник

AI

Andrey Ivanov in fprog_spb
Вся наша жизнь - эмуляция через объекты. Но язык - это семантика. И если семантика умеет, то пофиг через что оно эмулируется в разных реализациях
источник

IZ

Ilia Zviagin in fprog_spb
Andrey Ivanov
Вся наша жизнь - эмуляция через объекты. Но язык - это семантика. И если семантика умеет, то пофиг через что оно эмулируется в разных реализациях
+
источник

AI

Andrey Ivanov in fprog_spb
И таки да - жс это фя ) В свете озвученного критерия )
источник

MK

Maxim Koltsov in fprog_spb
кажется тут где-то был критерий что "никакой язык не фя"?
источник

MK

Maxim Koltsov in fprog_spb
по-моему самый лучший
источник

AI

Andrey Ivanov in fprog_spb
const не_фя_Ъ
источник

f

fldlg2 in fprog_spb
Тот факт, что в С++, объявляя функцию высшего порядка, нужно заранее планировать, можно ли будет ей в качестве параметра передавать только "обычные" функции или "настоящее" замыкание — уже многое говорит о С++ как о ФЯ. (см. std::function)
источник

JS

Jerzy Syrowiecki in fprog_spb
Maxim Koltsov
кажется тут где-то был критерий что "никакой язык не фя"?
зато языков для ФП много, почти все
источник

IZ

Ilia Zviagin in fprog_spb
fldlg2
Тот факт, что в С++, объявляя функцию высшего порядка, нужно заранее планировать, можно ли будет ей в качестве параметра передавать только "обычные" функции или "настоящее" замыкание — уже многое говорит о С++ как о ФЯ. (см. std::function)
У каждого свои недостатки
Или же даже

We all have our little ways
источник

D

Denis Buzdalov in fprog_spb
Ilya Kos
Это просто эмуляция
Это техническая деталь. Прагматически они там есть. Так что, при таких рассуждениях нужно договариваться до какой степени идёт сравнение. Если речь про возможности, то прагматика языка тоже должна учитываться даже если что-то называется или реализовано альтернативно.
источник
2021 February 20

MP

Mike Potanin in fprog_spb
Andrey Ivanov
Не претендуя на абсолютную истину, я для себя в какое-то время решил определять функциональность языка наличием в нем первоклассных лямбд с автоматическим замыканием лексического контекста изкоробки (не эмуляцией коллабл объектами и прочим). В этом плане Джава фя, С++ и Питон фя с ограничениями, а С и Паскаль не фя. И поддерживаю тезис "императивное с функциональным вообще не связано". Большинство фя при этом императивны, и лишь некоторые декларативны.
То есть Рефал - не функциональный язык?
источник

A

Andrey in fprog_spb
покажите мне прод 100 КLoC на Рефале
источник

AI

Andrey Ivanov in fprog_spb
Не курил его, но согласно критерия, как в том анекдоте про поручика Ржевского: лямбды есть - значит функциональный
источник

MP

Mike Potanin in fprog_spb
А меньше не достаточно, чтобы понять функциональный он или нет?
источник

A

Andrey in fprog_spb
Mike Potanin
А меньше не достаточно, чтобы понять функциональный он или нет?
конечно!
источник