ืฉื™ืจื™ื ืขืœ Haskell, C++ ื•ืžืชื›ื ืชื™ื

ืฉืœื•ื, ื”ื‘ืจ, ื”ืื ืชืจืฆื” ืจื’ื™ืขื” ืงื˜ื ื” ื‘ื™ื•ื ืจืืฉื•ืŸ? ืงืจื ืืช ื”ืฉื™ืจื™ื ืฉืœื™, ื”ื ื™ืขื•ื“ื“ื• ืื•ืชืš, ื•ื—ืœืงื ื™ื’ืจืžื• ืœืš ืœื—ืฉื•ื‘.

ืžืชื›ื ืช ืžื•ื“ืจื ื™

ืื ื™ ืžืชื›ื ืช ืฉื‘ืงื•ืฉื™ ื”ื‘ื™ืŸ
ื›ืœ ื”ืžื”ื•ืช ืฉืœ ืžืฉืจื“ื™ ืชื›ื ื•ืช.
ืื ื™ ืฉื•ื‘ ื‘ืืžืฆืข ื‘ื’ื™ืœ ืขืฉืจื™ื ื•ืฉืชื™ื™ื,
ื•ื‘ื’ื™ืœ ืขืฉืจื™ื ื•ืื—ืช ื”ื™ื” ืกื ื™ื•ืจ.

ืชื•ืกืคืช

ื”ืขื‘ื•ื“ื” ื ืžืฉื›ืช, ื•ืžื” ืฉื™ื’ื™ื“ื•,
ื”ื ื™ื–ืžื• ืื•ืชื™ ืœืžืœืื›ื”.
ืื ื™ ืืฆื ืœื“ื™ื™ื˜ ื›ืฉืื”ื™ื” ื‘ืŸ ืฉืœื•ืฉื™ื,
ื•ื‘ื’ื™ืœ ืืจื‘ืขื™ื ืื ื™ ืืœืš ืœื’ืŸ.

ืงืฉื™ื™ื ื‘ื’ื™ื•ืก ืขื•ื‘ื“ื™ืืื™ื‘ื“ื ื• ืืช ืจื’ืœื™ื ื•, ืื ื—ื ื• ืœื ื™ื›ื•ืœื™ื ืœืžืฆื•ื ืืช ื”ืื“ื:
ื›ื•ืœื ืœื ืžืกืคื™ืง ืžื’ื ื™ื‘ื™ื ื‘ืฉื‘ื™ืœื ื•.
ื”ื™ื™ื ื• ืจื•ืฆื™ื ืื“ื•ืŸ ืขื ื ื™ืกื™ื•ืŸ ืฉืœ ืžืื•ืช ืฉื ื™ื,
ืจืง ืœื ืืœื” ืฉืžื’ื™ืขื™ื ื‘ื”ืžื•ื ื™ื”ื.

ื”ื—ื‘ืจื™ื ื”ืืœื” ื—ืฆื•ืคื™ื ื•ื ื•ืขื–ื™ื
ื”ื ืžืฉืงืจื™ื ืœื’ื‘ื™ ืžื™ื•ืžื ื•ื™ื•ืช ื ืจื›ืฉื•ืช.
ื”ื™ื™ื ื• ืจื•ืฆื™ื ืื“ื•ืŸ ื‘ืขืœ ื™ื“ืข ื‘ื“ื‘ืจ;
ืื ื—ื ื• ืœื ืฆืจื™ื›ื™ื ืืช ืืœื”, ื”ื ื™ืžื•ืชื• ืžื”ืžืืžืฅ.

ื”ื™ื™ื ื• ืจื•ืฆื™ื ืื“ื•ืŸ - ืžืื•ืจ ืžื•ื›ืฉืจ -
ื‘ืžื›ืจื•ืช ื”ืืคืœื™ื ืฉืœ ืขืคืจื•ืช ื”ืื•ืจื ื™ื•ื.
ื”ืœื•ื•ืื™ ืฉื”ืกื ื™ื•ืจื” ื”ื™ื™ืชื” ื—ื›ืžื” ื™ื•ืชืจ ืžื”ืžื˜ื•ืžื˜ืžืช,
ื—ื‘ืœ ืฉื”ื ืœื ื‘ืื™ื ืœื›ืืŸ.

ื‘ื ื™ ื”ื–ื•ื’ ื“ื™ื“ื” ื ืœื—ืžื• ืœืžืขืŸ...ื‘ื ื™ ื”ื–ื•ื’ ื“ื™ื“ื” ื ืœื—ืžื• ืขืœ
ื•ื”ื ื”ืกื™ืขื• ืืช ืื ืฉื™ ื”-FP ืœืขื–ืื–ืœ:
ื”ืขื•ืœื ืฉืœื”ื ืœื ืžืงื‘ืœ
ืžื™ ืžืื•ืฉืจ ืžืœืžื‘ื“ื•ืช ื•ืคื•ื ืงื˜ื•ืจื™ื?

ื‘ื ื™ ื”ื–ื•ื’ ื“ื™ื“ื” ื ืœื—ืžื• ืขืœ
ืžื•ื ืข ืžื›ื•ื— ื”ื‘ืฆืง,
ื•ื”ื ื”ืกื™ืขื• ื˜ื™ืคืฉื™ื ืœืžื•ื•ืช,
ื—ืกื™ื“ื™ FPshnogo evil.

ื”ืคืกื•ืง ืžื•ืงื“ืฉ ืœืคื™ืชื•ื— ืจื›ื™ื‘ื™ ืžืขืจื›ืช ื”ืคืขืœื” ืžืื•ื‘ื˜ื—ื™ื ื‘ืืžืฆืขื•ืช Haskell ื‘ืžืขื‘ื“ืช ืงืกืคืจืกืงื™.

ืื ืก ืกื‘ื ื•ื”ืืกืงืœื”ืกื‘ื ื”ืื ืก ื”ื™ื” ื‘ื›ืœื,
ืกื•ื‘ืœื™ื ืžื‘ืขื™ื•ืช.
ื•ื—ืฉื‘ืชื™ ืื™ืš ืœื”ืฆื™ืœ ืืช ืฉื™
ืžื‘ืื’ื™ื ืœื ืฆื—.

ื”ื•ื ื—ืฉื‘ ื›ืœ ื›ืš ื”ืจื‘ื” ืฉื”ื•ื ื”ืืคื™ืจ
ืœื ืื›ืœ ื•ืœื ื™ืฉืŸ ื˜ื•ื‘.
ืื‘ืœ ื”ื•ื ืžืฆื ื’ื•ืจืœ ื˜ื•ื‘,
ื”ื™ื›ืŸ ืฉื”ืืกืงืœ ืฉื•ืœื˜ ื‘ืžืงื•ื.

ื”ื•ื ืจืื” ื‘ื‘ื™ืจื•ืจ ืืช ื”ืžื˜ืจื” ืฉืœื•:
ื”ืงื•ื“ ื—ื™ื™ื‘ ืœื”ื™ื•ืช ื™ืคื”.
ื•ื”ื•ื ืขืฉื” ื“.ืก.ืœ.
ืฆื•ืจ ืงื•ื“ C.

ื•ื”ื›ืœ ื™ื”ื™ื” ืžื’ื ื™ื‘, ืื‘ืœ ื”ืคืกื“ื™ื
ื”ื•ื ืžืžืฉ ืœื ืจืฆื”.
ืขืœ ืฉื‘ื—ืจืช ื‘ื”ืืกืงืœ ืขื›ืฉื™ื•
ื›ืœ ื”ืžื—ืœืงื” ืคื•ื˜ืจื”.

ืกืคื™ื ื” "ื”ืกืงืœ"ืœืชื•ืš ืžืขืจื‘ื•ืœืช ื”ื‘ืœื‘ื•ืœ ื”ืกื˜ื ื“ืจื˜ื™ืช
ื”ื•ื ืฆืœืœ ื‘ืื•ืžืฅ ืžื™ืจื›ืชื™,
ื”ืงืคื˜ืŸ ืฉืœื ื• ืขืœ ื”ืกืคื™ื ื”, -
ื•ื™ื˜ืœื™ ื‘ืจื™ื’'ื™ืœ.

ื‘ืฉื™ื˜ื•ื˜ื™ื ื‘ื™ืŸ ืฉื™ ืœื”ื
ื’ื™ื‘ื•ืจ ื”ืคืกื•ืง ื”ืงื•ื“ื
ื”ื•ื ื”ืชื’ืœื” ื›ืฉื—ื™ ื‘ืžื•ืกืงื‘ื”, -
ื™ื•ืจื™ ืกื™ืจื•ื‘ ืฉืœื ื•.

ืžืคื™ื’ ืžืœื ื›ื•ืœื™ื” ื›ืžื• ืขืจืคืœ,
ื‘ื™ื ื”ืจืขื™ื•ื ื•ืช ืจืืฉื ื•
ื”ื•ื ื”ื•ืจื™ืฉ ืœื ื• ืœื”ื™ืฉืืจ ืฆืฃ,
ืงืœืคืื• ื ื”ื“ืจ.

ืฆื™ื˜ื•ื˜ ืงื•ื“ GHC
ื”ื•ื ื™ื™ืงื— ื›ืœ ืžื” ืฉืชื‘ืงืฉื•,
ื”ื‘ื—ื•ืจ ื”ื›ื™ ื—ื–ืง ื‘ืžืฉื•ื˜,
ื–ืื‘ื™ืืœื•ื‘ ื•ืœื“ื™ืกืœื”.

ื‘ื“ืจืš ื‘ื˜ื•ื—ื” ื‘ื™ืŸ ืกืœืขื™ื ื—ื“ื™ื
ื”ื–ืงืŸ-ื ื•ื•ื˜ ืžื•ื‘ื™ืœ ืื•ืชื ื•,
ืžืคื•ืช ืžื•ื˜ื‘ืขื•ืช ืฉืœ ืžื“ื™ื ื•ืช ืจื‘ื•ืช,
ื•ืจืฉื™ืœื•ื‘ ืืœื›ืกืŸ.

ื™ื—ื™ ื‘ื™ืชื ื• ื”ืžืคื•ืืจ,
ืื ื—ื ื• ืžื•ื‘ื™ืœื™ื ืื•ืชื• ืœื™ื“ืข,
ื”ืกืคื™ื ื” ื’ืื” ื•ื˜ื•ื‘ื”,
ื”ืืกืงืœ ืฉืœื ื• ื™ืงืจ.

Hogweed ื”ื•ื ืžื ืžืงื•ืžื™ ืฉืœ ื”ืฆ'ืื˜ haskell_blah ื‘ื˜ืœื’ืจื.

ื”ื•ื’ื•ื•ื™ื“ืชื™ืฉืŸ ื˜ื•ื‘, ืžื“ืจื™ืš
ื”ืœืžื‘ื“ื•ืช ื•ื”ืกื•ื’ื™ื ื‘ืขื•ืœื ื”ืื ื•ืฉื™:
ืคืจืฆืœื•ืŸ ื—ื–ื™ืจ ืฉื•ืžืจ ืขืœ ื”ืฆ'ืื˜
ื™ืฉืื™ืจ ืื•ืชืš ืจื’ื•ืข ื‘ืœื™ืœื”.

ืœื ืžืฉื ื” ื›ืžื” ื”ืฆ'ืื˜ ืžืจื’ื™ื–,
ืืœ ืชืฉื‘ื•ืจ ืืช ืื–ื™ืงื™ ื”ืคืœื“ื”.
ืขืฉื‘ ื”ื—ื–ื™ืจ ืขื•ืžื“ ืขืœ ื”ืžืฉืžืจ
ืžื™ืฅ ืžืกืžืŸ ื˜ื™ืคืฉื™ื.

ื ื•ื—, ืฉื›ื— ืืช ืขืฆืžืš, ืœื•ื—ื,
ื”ืœื™ืœื” ื—ืฉื•ืš ื•ืขืžื•ืง.
ืœื™ืฉื•ืŸ, ืืœ ืชืคื—ื“, ืชื”ื™ื” ืจื’ื•ืข -
ืืชื” ื‘ืฆื™ืœื• ืฉืœ ืขืฉื‘ ื—ื–ื™ืจ.

ื”ื•ื ืชื—ืช ื”ืฆืœ ืฉืœ ืœื™ืœื” ื–ืจื•ืข ื›ื•ื›ื‘ื™ื
ืžื’ืŸ ืžืคื ื™ ืื•ื™ื‘ื™ื.
ื”ื•ื’ื•ื•ื™ื“ ืจืขื™ืœ ืžืื•ื“ -
ืกืžืœ ืฉืœ ืจื•ืขื™ื ืœืžื‘ื“ื”.

ืจื•ื— ืžืชืื ื”-ืชืื•ืจืงื˜ื‘ืžื”ื™ืจื•ืช, ื‘ื’ืื•ื•ื”, ื‘ืฉื™ืคื•ืข
ืœื•ื— ื”ื–ืžื ื™ื ืฉืœ ื”ืœื™ืžื•ื“ื™ื ืขื•ืœื”, -
ื–ื• ืจื•ื—ื• ืฉืœ ืžืชืŸ-ืชืื•ืจืงืช
ืžื ื‘ื ื™ื™ืกื•ืจื™ื ื’ื“ื•ืœื™ื.

ืืชื” ื™ื›ื•ืœ ืœืกื‘ื•ืœ ื‘ืฉื‘ื™ืœ ืจืขื™ื•ืŸ
ืœืœืžื•ื“ ืืช ื”ืืกืงืœ ืžืชื™ืฉื”ื•,
ืื‘ืœ ื”ื•ื ื ื˜ืฉ ืืช ื”ืจืขื™ื•ืŸ ื”ื˜ื•ื‘:
ื™ืฉ ืžื˜ืื ื”-ืชืื•ืจืงื˜ื” ืžืจื•ืฉืขืช.

ื”ืชืขื•ืคืคืช ืžื•ืœ ืžื—ืกื•ื ื“ืžื™ื•ื ื™,
ืงื•ืจื ืœืกืžื˜ื ื” ืžื”ืžืกื›ืช.
ืื‘ืœ ื–ื” ืœื ื”ื™ื” ืฉื“ ืงืจื ื™ื™ื,
ื•ื”ืจื•ื— ื”ืงื˜ื ื” ืฉืœ ื”ืชืื•ืจืงื˜.

ื”ืฉืชื—ืจืจืช, ื•ื”ืืกืงืœ ืžืื•ื—ืจ ืžื“ื™
ื’ืจื™ืจื” ืœืื•ืจืš ืฉื‘ื™ืœ ื”ืฉืงื™ืขื”.
ื•ื‘ืื™ื–ืฉื”ื• ืžืงื•ื ื–ื” ืขืฆื•ื‘ ื•ื‘ื•ื“ื“
ื”ืจื•ื— ื”ืคื’ื•ืขื” ืฉืœ ื”ืชืื•ืจืงื˜.

ื˜ื™ื™ืœืช ื”ืœื™ืœื” ื”ืืกืงื™ืœื™ืืŸื”ืืกืงืœื™ืกื˜ื™ื ื–ื•ืจื—ื™ื ื‘ืœื™ืœื”
ืžืื•ืจ ื”ืžื•ื ืื“ื•ืช ื”ืงื“ื•ืฉื•ืช,
ื•ื‘ืžื—ืฉื‘ื•ืช - ืงืจื™ืกื˜ืœ ื•ื˜ื”ื•ืจ -
ื”ื ืขื•ืฉื™ื ืืช ื˜ื™ื™ืœืช ื”ืœื™ืœื” ืฉืœื”ื.

ืฆ'ื•! - ืชืฉื•ืฉ ืžื›ืื‘ื™ ืคื™ ื”ื˜ื‘ืขืช
ื—ื‘ืจ ืžืื•ื”ื‘ ื‘ื—ืคืฆื™ื.
ืžื” ื”ื›ื™ ื—ืฉื•ื‘ ืœืขืฉื•ืช: ืžืœื‘ืŸ,
ืื• ืฉืžื ืจื™ื‘ื•ืข ืขื“ื™ื™ืŸ ื˜ื•ื‘ ื™ื•ืชืจ?

ืœื—ืคืฆื™ื ื™ืฉ ืžืกื’ืจืช ืคืœื“ื”,
ืœื“ืžื•ื™ื•ืช ื™ืฉ ื“ืจืš ื—ื™ื™ื ืฉืžื™ืžื™ืช.
ืฉืžืืœ ื”ื•ืœืš ื•ื”ื•ืœืš ื™ืžื™ื ื”
ืžืฆืขื“ ื—ื™ื‘ื•ืจื™ ื™ื”ืœื•ืžื™ื.

ืœึฐื”ึดืชึฐื—ึทืจึตื˜! โ€“ ืงื•ืจื ืงื•ืœ ื”ืœื‘.
ืฉืึถืงึถื˜! ืงืจื™ืกื” ื”ื™ื ื‘ืœืชื™ ื ืžื ืขืช!
ืื‘ืœ ื”ื•ื ืจื•ืฆื” ื™ื•ืชืจ "ืกื“ืจ"
ื—ื‘ืจ ืžื˜ื•ืจืฃ ืœื’ืžืจื™.

ืจืงืข ืžืงืจื™ ื™ืจื•ืฉื”
ื–ื” ืžื‘ื˜ื™ื— ืืคื™ืœื• ื™ื•ืชืจ "ืคืจืกื™ื":
ืขื›ืฉื™ื• ื”ื•ื, ื‘ืœื™ ืœื“ืขืช ืชื•ื›ื—ื”,
ืจื™ื‘ื•ืข ื ื’ื–ืจ ืžื”ืžืขื’ืœ.

ืžื•ึผื›ึธืŸ. ืื‘ืœ ืื ื™ ืžืจื™ื— ืคืขื•ืœื•ืช ืชื’ืžื•ืœ,
ื”ื—ื‘ืจ ื”ืžืกื›ืŸ ืžื•ื“ืื’:
ื”ื•ื ื™ืฆื•ืจ ืจื•ืขื“, ืื• ื‘ืืžืช,
ื™ืฉ ื—ืคืฆื™ื ื‘ืฆื™ืจื•ืฃ ืžืงืจื™ื.

ื›ืžื” ื ื—ืžื“ ืฉืื™ืŸ ื›ืื‘ ื›ื–ื”
ื‘ืขื•ืœื ืฉื‘ื• ื™ืฉ ื”ืจื‘ื” ืžื•ื ืื“ื•ืช,
ื‘ืขื•ืœื ืฉื‘ื• ืืชื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ื—ื•ืคืฉื™
ืงื— ืืช ื˜ื™ื™ืœืช ื”ืœื™ืœื” ืฉืœืš.

ื•ืœืงื™ื ื•ื— - ืขื‘ื•ื“ื” ื’ื“ื•ืœื” ืขืœ C++, ืื•ืชื” ืงืจืืชื™ ื‘ื”ืจืฆืื” ื”ืžืจื›ื–ื™ืช ืฉืœื™ ื‘ื›ื ืก C++ Siberia 2019.

ืกืื’ืช C++ ื‘ืฉืœื•ืฉื” ื—ืœืงื™ื ื•ืชื•ืกืคืช ืื—ืชื—ืœืง 1. ืกื•ื’ื™ื ื•ื›ื•ืฉืจ ื‘ื™ื˜ื•ื™

ืขืจื‘ ืขื‘ื•ื“ื”. ืื•ืจ ืžืกืš.
ื”ืฉื™ื ื” ื‘ื•ืงืขืช ืžืชื•ืš ื”ื“ืžื“ื•ืžื™ื.
ื”ื™ื™ืชื™ ืจื•ืฆื” ืœืœื›ืช ืœื‘ืจ; ืื‘ืœ ื–ื” ืขื“ื™ื™ืŸ ืžื•ืงื“ื
ื•ื–ื” ืœื ืžื” ืฉืืชื” ืฆืจื™ืš ืœื—ืฉื•ื‘ ืขืœื™ื•.

ื”ืฉื—ืจื•ืจ ื‘ื•ืขืจ, ื”ืงื•ืœื’ื•ืช ื‘ื•ื›ื™ื,
ื”ืชื•ื›ื ื™ืช ืœื ืžื•ื›ื ื” ื‘ื–ืžืŸ...
... ื•ื”ืžื—ืฉื‘ื” ืงื•ืคืฆืช ื‘ื›ืื•ื˜ื™
ื‘ื™ืŸ ืงื•ื•ื™ื ืฉื‘ื•ืจื™ื.

ืฉื—ื–ื•ืจ ื”ื•ื ื“ื‘ืจ ืงื“ื•ืฉ
ื•ื”ืžื”ื“ืจ ื™ื”ื™ื” ื—ื‘ืจ,
ืื‘ืœ ืขื‘ื•ืจ ื˜ื™ืคื•ืกื™ื ื›ืืœื”, ื–ื” ื ื”ื“ืจ
ืœืฉืœื•ืœ ืžืžื™ืฉื”ื• ืืช ื™ื“ื™ื•.

ื”ื“ื‘ืจื™ื ืžืกื•ื‘ื›ื™ื ืขื ื”ืกื•ื’ื™ื ื”ืืœื”:
ืœื ืžืฉื ื” ืื™ืš ืื ื™ ืžืชืคืœืœ, ืœื ืžืฉื ื” ืื™ืš ืื‘ืงืฉ,
ืื™ืŸ ื“ืจืš ืœื‘ื˜ื ืื•ืชื
ืืช ื›ืœ ื–ื” ืื™ ืืคืฉืจ ืœืืคืฉืจ.

ืขืœ ื›ืœ ืžื” ืฉืœื ื ืงื™ ื‘ืชื•ื›ื ื™ืช
ื”ืžื”ื“ืจ ืฉืœื ื• ื™ืฉืชื•ืง.
ื ืคื” ื‘ืื’ื™ื ื‘ืงื•ื“, ื—ืคืฉ ืื•ืชื• ื‘ืขืฆืžืš,
ืขื“ ืฉืœืš ื ืฉืจืฃ.

ื—ืœืง 2. ืงื•ื“ ืžืจื•ื‘ื” ื—ื•ื˜ื™ื

ื›ื“ื•ืจ ื”ืฉืœื’ ืžืกืชื•ื‘ื‘ ื‘ืคืจืื•ืช ื•ื‘ืงื ืื•ืช
ื‘ืงื•ืจ ืฉืœ ืคื‘ืจื•ืืจ ืžื—ื•ืฅ ืœื—ืœื•ืŸ.
ื”ื™ื™ืชื™ ืจื•ืฆื” ืœืœื›ืช ืœื™ืฉื•ืŸ... ืื‘ืœ ื–ื” ืขื“ื™ื™ืŸ ืžื•ืงื“ื,
ื•ืืชื” ืœื ืฆืจื™ืš ืœื—ืฉื•ื‘ ืขืœ ื–ื”...

... ื‘ืื’ ืืจื•ืจ ื”ืจืก ืืช ื”ืฉืจืฉื•ืจื™ื,
ืฉื™ื ื•ื™ ื”ื ืชื•ื ื™ื ืฉื’ื•ื™ื™ื
ื“ื“ืœื•ืง ื”ื•ื ื”ืืžื•ื ื” ื”ืžืงื•ืจื™ืช ืฉืœื•,
ื•ื˜ื™ืกืช ืžื™ื–ื•ื’ ื”ืื•ื•ื™ืจ ื”ื™ื ื”ื“ื’ืœ ืฉืœื”.

ื”ื•ื ืขืฉื•ื™ ืžื ืฉืงื™ื ื”ื ื™ืชื ื™ื ืœืฉื™ื ื•ื™
ืžื‘ืฆืข ื™ืจื™ ืžืžื•ืงื“.
ื•ื”ื•ื ืจื•ืฆื”, ื™ื”ื•ื“ื” ื”ืžืœื•ื›ืœืš,
ืœืงื‘ื•ืจ ืืช ื”ื ื—ืœื™ื ื‘ืืจื•ืŸ ืงื‘ื•ืจื”.

ื”ื•ื ื™ื•ื“ืข ืืช ื–ื” ื‘ืžืœื—ืžื” ืขื ื”ืกื“ืจ
ืœื”ืขืžื™ื“ ืคื ื™ื ื‘ืขืจืžื•ืžื™ื•ืช ืœื”ื™ื•ืช ื‘ื™ืช ืžืฉืคื˜,
ื•ืœื”ื›ืจื™ื– ืขืœ ื›ืš ื‘ืคืกืง ื“ื™ืŸ ื—ืœืง,
ืžื™ ืืฉื ื‘"ืกื“ืจ"?

ืžื™ ืžื—ื•ืกืจ ื™ื“ื™ืขื” ืžืชืงืจื‘
ื”ืฉื—ืงื ื™ื ื”ืœื ื‘ื˜ื•ื—ื™ื ื“ื—ืคื• ืœื›ืœ ืขื‘ืจ.
ืžื™ ื’ื™ื“ืœ ืคืจื™ืงื™ื ื“ืžื•ื™ื™ ืืœื•ื”ื™ื,
ื•ื”ื•ื ื™ืฆืจ ื ื˜ืœ ืžืื˜ืจื™ื•ืช.

ืžื™ ื”ื™ื” ื‘ื˜ื™ืจื•ืฃ ืœื ื‘ืจื™ื,
ื›ืืฉืจ, ืฉื•ืจืคื™ื ืืช ื›ืœ ื”ื’ืฉืจื™ื,
ื”ืœืš ืขื ืืžื ื” ืžืฉืชื ื”
ืœืžื ื–ืจ ืจื‘ ื—ื•ื˜ื™ื...

... "ืจืข" ื—ืกืจ ืชืงื“ื™ื ืฉื›ื–ื”
ืœื ื—ื•ื•ื™ืช ืืช ื–ื” ื”ืจื‘ื” ื–ืžืŸ.
ื”ื‘ืขื™ื•ืช ืžืชืจื‘ื•ืช ื›ืžื• ื–ื‘ื•ื‘ื™ื
ื”ืงื•ื“ ื”ื•ืคืš ืœืฆืจื•ืช.

ื—ืœืง 3. ื“ืคื•ืกื™ื, OOP ื•-BOILERPLATE

ื”ืชืžื•ื ื” ืขืจืžื•ืžื™ืช
ื‘ื—ื•ืจื” ืขื ืžื˜ืจื™ื” ืฆื•ื—ืงืช.
ืงื•ืจื ื•ืงื•ืจืฅ ื›ืžื• ื˜ื•ืžื ื”,
ืื‘ืœ ื–ื” ืœื ืžื” ืฉืืชื” ืฆืจื™ืš ืœื—ืฉื•ื‘ ืขืœื™ื•.

ืฉืขืช ื”ื”ืฆืœื—ื” ืขื“ื™ื™ืŸ ืœื ืงืจื•ื‘ื”,
ืœืขืช ืขืชื”, ื ืงืจืข ืขืœ ื™ื“ื™ ื‘ืจื’ื™ื,
ื”ืžื•ืฆืจ ืกื•ื‘ืœ ื‘ืžืขืžืงื™ ื”ืกื“ื ื”
ืžื—ื•ืกืจ ืฉืœืžื•ืช ืื’ื•ื–.

ื‘ืžืคืขืœ ื”ื–ื” ื”ื—ืคืฆื™ื
ื ืคื•ื— ื™ื•ืชืจ ืžืคืกื˜ื”,
ื•ื‘ื“ื•ื’ืžื” ืฉืœ ื›ืช ืกื•ื“ื™ืช
ื”ืื•ืคื•ืจื˜ื•ื ื™ืกื˜ ืžืฉื•ื‘ืฅ ืฉื.

ื”ืชืคืงื™ื“ ืฉืœื• ื”ื•ื ืœืขืžื•ื“ ืขืœ ื”ืžืฉืžืจ
ื›ืœ ืžื” ืฉืงืจื•ื‘ ืœื”ื™ื’ื™ื•ืŸ.
ื›ืœ ื“ื‘ืจ ืฉื‘ื• ื™ืฉ ืžืฉืžืขื•ืช, ื•ืืคื™ืœื•
ืื™ืคื” ื”ืžืฉืžืขื•ืช ืœื ืงืœ ืœืจืื•ืช.

ื”ื ื‘ืœ ื ืœื—ื ื‘ืื•ืงืื
ื•ื”ื•ื ืžื‘ืขื™ืจ ืืช ื›ื™ืฉืจื•ื ื•.
ืื™ืชื•, ื ืฉื™ืงื•ืช ื™ื”ืคื›ื• ืœื‘ื•ืฉื”,
ื•ื”ืžื•ื— ื ื”ืจืก ืœื’ืžืจื™.

ืžื›ืจื™ื– ื‘ืงื•ืœ ืจื
ืจื‘ื’ื•ื ื™ื•ืช ืฉืœ ื“ื™ืื’ืจืžื•ืช,
ื”ื•ื ื™ืฉืชื•ืง ืขืœ ืขื‘ื•ื“ื” ืžื‘ื•ื–ื‘ื–ืช,
ื•ื—ื•ืกืจ ืขืงื‘ื™ื•ืช ืคื” ื•ืฉื.

ื”ืื™ืฉ ื”ืขืจืžื•ืžื™ ืžื ืกื” ืœื”ื—ืœื™ืง
ื—ืœืงื™ื ืฉืœ ืฆื•ืจื•ืช ืžื•ืจื›ื‘ื•ืช ื‘ืžื™ื•ื—ื“.
ื–ื” ื—ืชื™ื›ืช ืขื•ื’ื” ื‘ืฉื‘ื™ืœื• ืœื‘ืœื‘ืœ ื”ื›ืœ,
ื”ื•ื ืžื•ืžื—ื” ื‘ื–ื” ื‘ืžื•ื‘ื ื™ื ืจื‘ื™ื...

... ื›ื›ื”, ื‘ื’ื—ืžืช ื”ื ื‘ืœ
ื‘ืืจืฅ ื”ืงืกื OOPea
ื”ืืคื•ืก ื ืžืฉืš ืžืื•ืช ืฉื ื™ื,
ืื™ืคื” ื”ืชืคืงื™ื“ ื”ืจืืฉื™ ื”ื•ื ืฉื˜ื•ื™ื•ืช.

ื—ื™ื‘ื•ืจ. ื—ึฒืœื•ึผื“ึธื”

ื›ืคื” ื ืขื” ื‘ืจื›ื•ืช ื‘ืคื™ื ื”
ื—ืชื•ืœ ืฉืขื•ืŸ ืงื™ืจ,
ืžื ื•ืจืช ื”ืœื‘ื” ืžื”ื‘ื”ื‘ืช
ืื‘ืœ ื–ื” ืœื ืžื” ืฉืืชื” ืฆืจื™ืš ืœื—ืฉื•ื‘ ืขืœื™ื•.

ืขืœ ืžื” ืœื—ืฉื•ื‘?.. ื—ื•ืžืง
ื—ื•ื˜ ืžื—ืฉื‘ื” ืืœ ื—ืฉื›ืช ื”ืœื™ืœื”.
ื”ืžืฆื™ืื•ืช ื ืžืกื” ื•ื ืžืกื”
ื•ืื™ืŸ ื™ื•ืชืจ ืžืฉืžืขื•ืช ืœื”ืฉื™ื’.

ื”ืฉื™ื ื” ืžื’ื™ืขื”.
ื•ืฉื ื–ื” ืขื•ืžื“
ืงื•ืคืกื,
ื›ื•ืœื ืžื›ื•ืกื™ื ื‘ื—ืœื•ื“ื”:
ืœื ืžืชื•ืง ื•ืœื ื’ืก, ืœื ืงื˜ืŸ, ืœื ืืจื•ืŸ ืžืชื™ื,
ื™ืฉืจ ื›ืžื• ืงื•ื‘ื™ื™ื”, ืขื ื ืขื™ืœืช ืกื™ื›ื•ืช.

ื”ื—ื–ื” ืคืชื•ื—.
ื•ื–ื” ื’ื“ืœ ื‘ื•
ืคืจื— ื™ืคื” ื›ืžื• ืขืœื•ืช ื”ืฉื—ืจ.
ื”ื•ื ืžื›ื•ืกื” ื‘ืœื”ื‘ื•ืช ืจื›ื•ืช,
ื•ืคื•ืœื˜ ืื•ืจ ื‘ื”ื™ืจ.

ื”ืฆืžื— ื ืฉืจืฃ ืžืกื™ื‘ื” ื›ืœืฉื”ื™.
ื”ื˜ื•ืŸ ื”ืžื ื•ื’ื“ ืฉืœ ื”ืืฉ ืฉืœื•
ืžืœื ืชืฉื•ืงื”. ื•ื˜ื”ื•ืจ
ื”ืคื˜ืคื•ื˜ ื”ืื™ืœื ืฉืœื•.

ืขื ื”ื—ืžื™ืžื•ืช ืฉืœื• ื”ื•ื ื™ืชืžื•ืกืก
ื ืžืืก ืžื ืื•ืžื™ื ืจื™ืงื™ื.
ื”ื•ื ืกื•ื’ื“ ืœืคืฉื˜ื•ืช
ื•ื”ืขืงื‘ื™ื•ืช ืฉืœ ื”ื“ื‘ืจื™ื ื”ืงื˜ื ื™ื.

ื”ื•ื ืžื›ืจื™ื– ืขืœ ื”ืงืฆื•ื•ืช,
ืื™ืคื” ืฉืื™ืŸ ื ื™ืกื™ื ื”ืจืกื ื™ื™ื.
ื™ืฉ ื–ื•ืžื‘ื•ืช ื™ื“ื•ืขื•ืช ืœืฉืžืฆื”
ื–ื” ืœื ื™ืฉื‘ื•ืจ ืืช ื”ืชื”ืœื™ืš.

ื™ืฉ ื‘ื˜ื™ื—ื•ืช ื•ื ื•ื—ื•ืช,
ืื™ืŸ ื›ืื‘ ืื• ื‘ื•ืฉื”.
ืฉื ื”ืฉืžื—ื” ืžืฉื•ืœื ืžืจืืฉ,
ื•ื”ื’ื™ืœ ื”ื•ื ืœื ื‘ืขื™ื”.

ื™ืฉ ืืคื™ืœื• ืžืœื•ื•ื” ื›ืกืคื™ื ืžื•ื–ืจ
ื™ื™ืชืŸ ืœืš ื”ืจ ืฉืœ ื›ืกืฃ.
ื”ื•ื ืœื ื’ื“ื•ืœ ื‘ื‘ื–ื‘ื•ื–,
ื•ืขืœ ื™ื“ื™ ืฉืžื™ืจื” ืขืœ ื”ื˜ื•ื‘...

... ื›ื–ื” ื”ื™ื” ื”ื—ืœื•ื. ื›ืฉืืชื” ืžืชืขื•ืจืจ, ืืชื”
ื—ื–ืจื” ื‘ืขืจื‘ ื”ืžืฉืจื“
ื•ืขื›ืฉื™ื• ื”ื™ื™ืชื™ ื‘ืฉื‘ื™ ืฉืœ ื—ืœื•ื
ืœื”ืชื’ื‘ืจ ืขืœ ื ื•ื™ืจืกื˜ื ื™ื”.

ืื ืื”ื‘ืชื, ืกืคืจื• ืœืขืžื™ืชื™ื ื•ืœื—ื‘ืจื™ื ืฉืœื›ื. ๐Ÿ™‚ ืชื•ื›ืœ ืœืžืฆื•ื ืžืืžืจื™ื ื ื•ืกืคื™ื ื‘ืืชืจ ืฉืœื™. ื”ื™ืจืฉืžื•, ื‘ื•ืื•, ืขืงื‘ื•. ืื ื™ ืืฉืžื— ืžืื•ื“!

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”