рдУрдУрдкреА рдФрд░ рдПрдлрдкреА рдореЗрдВ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИ

рдореИрдВ рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб (OOP) рдФрд░ рдлрд╝рдВрдХреНрд╢рдирд▓ (FP) рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЕрдВрддрд╣реАрди рд╡рд┐рд╡рд╛рджреЛрдВ рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЗ рдХрд╛рд░рдгреЛрдВ рдХреЛ рдирд╣реАрдВ рд╕рдордЭрддрд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдЪреАрдЬреЗрдВ рдорд╛рдирд╡реАрдп рд╕рдордЭ рд╕реЗ рдкрд░реЗ рд╣реИрдВ, рдФрд░ рдЖрдк рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдВрддрд╣реАрди рдмрд╣рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХрдИ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░ рд░рд╣рд╛ рдерд╛, рдореИрдВрдиреЗ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдЙрддреНрддрд░ рджреЗрдЦрд╛, рдФрд░ рдЕрдХреНрд╕рд░ рдореБрдЭреЗ рдЗрди рдореБрджреНрджреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдореЗрдВ рд╡реНрдпрд░реНрде рд▓рдЧрддрд╛ рд╣реИред

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, OOP рдФрд░ FI рджреЛрдиреЛрдВ рдЕрдкреНрд░рднрд╛рд╡реА рд╣реИрдВ рдпрджрд┐ рдЖрдк рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЪрд░рдо рд╕реАрдорд╛ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВред OOP рдореЗрдВ рдЪрд░рдо рдпрд╣ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдХрд┐ "рдХреБрдЫ рднреА рдПрдХ рд╡рд╕реНрддреБ рд╣реИ" (рд╢реБрджреНрдз рдУрдкреА)ред рдПрдлрдкреА рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд░рдо рдХреЗ рд░реВрдк рдореЗрдВ, рд╢реБрджреНрдз рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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тАЭ, , , . , , , . , .


- , . , , , , . , . , .

. .


Source: https://habr.com/ru/post/In201874/


All Articles