要するに、OOPとFIの両方を使用すると、極端に使用すると効果がなくなります。 OOPの極端なところは、「何でもオブジェクト」であるという考えです(純粋なOP)。 FPの極端な例として、純粋な関数型プログラミング言語を検討できます。
OOPの何が問題なのか
“” - . , “ — ”. , :
, . .
, Python Scala . Python
__call__
. Scala, —
apply
. , , . , , . ,
__call__
apply
, “ ”. Python Scala , “”,
__call__
apply
, “”. , , , , “ ”.
- . Java, . , “”, , , . , " " Java. , .
, , , . , . , «What is a Purely Functional Language» Amr Sabry ( PhD). , , :
, . .
, - , ( , , ). - , “ ” . . — . , . , . , ? Haskell.
, . , , . “ ” Java. , Haskell? “ ----”. , Amr Sabry ( PhD) - . miniKanren , , . , , Haskell. , , Amr Sabry, , . , , - . , Scheme.
, , “” . , ? , . , , . , , . . , , , , . , , :
int f(int x) {
int y = 0;
int z = 0;
y = 2 * x;
z = y + 1;
return z / 3;
}
. - , . , , .
, , . , , . . “ ”. . “ ”, , , ! “Function and concept”, , , . , , , . , .
- , . , , , , . , . , .
. .