ืฉืืื, ืืืจ, ืืื ืชืจืฆื ืจืืืขื ืงืื ื ืืืื ืจืืฉืื? ืงืจื ืืช ืืฉืืจืื ืฉืื, ืื ืืขืืืื ืืืชื, ืืืืงื ืืืจืื ืื ืืืฉืื.
ืืชืื ืช ืืืืจื ื
ืื ื ืืชืื ืช ืฉืืงืืฉื ืืืื
ืื ืืืืืช ืฉื ืืฉืจืื ืชืื ืืช.
ืื ื ืฉืื ืืืืฆืข ืืืื ืขืฉืจืื ืืฉืชืืื,
ืืืืื ืขืฉืจืื ืืืืช ืืื ืกื ืืืจ.
ืชืืกืคืช
ืืขืืืื ื ืืฉืืช, ืืื ืฉืืืืื,
ืื ืืืื ืืืชื ืืืืืื.
ืื ื ืืฆื ืืืืื ืืฉืืืื ืื ืฉืืืฉืื,
ืืืืื ืืจืืขืื ืื ื ืืื ืืื.
ืงืฉืืื ืืืืืก ืขืืืืืืืืืื ื ืืช ืจืืืื ื, ืื ืื ื ืื ืืืืืื ืืืฆืื ืืช ืืืื:
ืืืื ืื ืืกืคืืง ืืื ืืืื ืืฉืืืื ื.
ืืืื ื ืจืืฆืื ืืืื ืขื ื ืืกืืื ืฉื ืืืืช ืฉื ืื,
ืจืง ืื ืืื ืฉืืืืขืื ืืืืื ืืื.
ืืืืจืื ืืืื ืืฆืืคืื ืื ืืขืืื
ืื ืืฉืงืจืื ืืืื ืืืืื ืืืืช ื ืจืืฉืืช.
ืืืื ื ืจืืฆืื ืืืื ืืขื ืืืข ืืืืจ;
ืื ืื ื ืื ืฆืจืืืื ืืช ืืื, ืื ืืืืชื ืืืืืืฅ.
ืืืื ื ืจืืฆืื ืืืื - ืืืืจ ืืืืฉืจ -
ืืืืจืืช ืืืคืืื ืฉื ืขืคืจืืช ืืืืจื ืืื.
ืืืืืื ืฉืืกื ืืืจื ืืืืชื ืืืื ืืืชืจ ืืืืืืืืืช,
ืืื ืฉืื ืื ืืืื ืืืื.
ืื ื ืืืื ืืืื ื ืืืื ืืืขื...ืื ื ืืืื ืืืื ื ืืืื ืขื
ืืื ืืกืืขื ืืช ืื ืฉื ื-FP ืืขืืืื:
ืืขืืื ืฉืืื ืื ืืงืื
ืื ืืืืฉืจ ืืืืืืืช ืืคืื ืงืืืจืื?
ืื ื ืืืื ืืืื ื ืืืื ืขื
ืืื ืข ืืืื ืืืฆืง,
ืืื ืืกืืขื ืืืคืฉืื ืืืืืช,
ืืกืืื FPshnogo evil.
ืืคืกืืง ืืืงืืฉ ืืคืืชืื ืจืืืื ืืขืจืืช ืืคืขืื ืืืืืืืื ืืืืฆืขืืช Haskell ืืืขืืืช ืงืกืคืจืกืงื.
ืื ืก ืกืื ืืืืกืงืืืกืื ืืื ืก ืืื ืืืื,
ืกืืืืื ืืืขืืืช.
ืืืฉืืชื ืืื ืืืฆืื ืืช ืฉื
ืืืืืื ืื ืฆื.
ืืื ืืฉื ืื ืื ืืจืื ืฉืืื ืืืคืืจ
ืื ืืื ืืื ืืฉื ืืื.
ืืื ืืื ืืฆื ืืืจื ืืื,
ืืืื ืฉืืืกืงื ืฉืืื ืืืงืื.
ืืื ืจืื ืืืืจืืจ ืืช ืืืืจื ืฉืื:
ืืงืื ืืืื ืืืืืช ืืคื.
ืืืื ืขืฉื ื.ืก.ื.
ืฆืืจ ืงืื C.
ืืืื ืืืื ืืื ืื, ืืื ืืคืกืืื
ืืื ืืืฉ ืื ืจืฆื.
ืขื ืฉืืืจืช ืืืืกืงื ืขืืฉืื
ืื ืืืืืงื ืคืืืจื.
ืกืคืื ื "ืืกืงื"ืืชืื ืืขืจืืืืช ืืืืืื ืืกืื ืืจืืืช
ืืื ืฆืื ืืืืืฅ ืืืจืืชื,
ืืงืคืื ืฉืื ื ืขื ืืกืคืื ื, -
ืืืืื ืืจืื'ืื.
ืืฉืืืืืื ืืื ืฉื ืืื
ืืืืืจ ืืคืกืืง ืืงืืื
ืืื ืืชืืื ืืฉืื ืืืืกืงืื, -
ืืืจื ืกืืจืื ืฉืื ื.
ืืคืื ืืื ืืืืื ืืื ืขืจืคื,
ืืื ืืจืขืืื ืืช ืจืืฉื ื
ืืื ืืืจืืฉ ืื ื ืืืืฉืืจ ืฆืฃ,
ืงืืคืื ื ืืืจ.
ืฆืืืื ืงืื GHC
ืืื ืืืงื ืื ืื ืฉืชืืงืฉื,
ืืืืืจ ืืื ืืืง ืืืฉืื,
ืืืืืืืื ืืืืืกืื.
ืืืจื ืืืืื ืืื ืกืืขืื ืืืื
ืืืงื-ื ืืื ืืืืื ืืืชื ื,
ืืคืืช ืืืืืขืืช ืฉื ืืืื ืืช ืจืืืช,
ืืจืฉืืืื ืืืืกื.
ืืื ืืืชื ื ืืืคืืืจ,
ืื ืื ื ืืืืืืื ืืืชื ืืืืข,
ืืกืคืื ื ืืื ืืืืื,
ืืืกืงื ืฉืื ื ืืงืจ.
Hogweed ืืื ืื ืืงืืื ืฉื ืืฆ'ืื haskell_blah ืืืืืจื.
ืืืืืืืืชืืฉื ืืื, ืืืจืื
ืืืืืืืช ืืืกืืืื ืืขืืื ืืื ืืฉื:
ืคืจืฆืืื ืืืืจ ืฉืืืจ ืขื ืืฆ'ืื
ืืฉืืืจ ืืืชื ืจืืืข ืืืืื.
ืื ืืฉื ื ืืื ืืฆ'ืื ืืจืืื,
ืื ืชืฉืืืจ ืืช ืืืืงื ืืคืืื.
ืขืฉื ืืืืืจ ืขืืื ืขื ืืืฉืืจ
ืืืฅ ืืกืื ืืืคืฉืื.
ื ืื, ืฉืื ืืช ืขืฆืื, ืืืื,
ืืืืื ืืฉืื ืืขืืืง.
ืืืฉืื, ืื ืชืคืื, ืชืืื ืจืืืข -
ืืชื ืืฆืืื ืฉื ืขืฉื ืืืืจ.
ืืื ืชืืช ืืฆื ืฉื ืืืื ืืจืืข ืืืืืื
ืืื ืืคื ื ืืืืืื.
ืืืืืืื ืจืขืื ืืืื -
ืกืื ืฉื ืจืืขืื ืืืืื.
ืจืื ืืชืื ื-ืชืืืจืงืืืืืืจืืช, ืืืืืื, ืืฉืืคืืข
ืืื ืืืื ืื ืฉื ืืืืืืืื ืขืืื, -
ืื ืจืืื ืฉื ืืชื-ืชืืืจืงืช
ืื ืื ืืืกืืจืื ืืืืืื.
ืืชื ืืืื ืืกืืื ืืฉืืื ืจืขืืื
ืืืืื ืืช ืืืกืงื ืืชืืฉืื,
ืืื ืืื ื ืืฉ ืืช ืืจืขืืื ืืืื:
ืืฉ ืืืื ื-ืชืืืจืงืื ืืจืืฉืขืช.
ืืชืขืืคืคืช ืืื ืืืกืื ืืืืื ื,
ืงืืจื ืืกืืื ื ืืืืกืืช.
ืืื ืื ืื ืืื ืฉื ืงืจื ืืื,
ืืืจืื ืืงืื ื ืฉื ืืชืืืจืงื.
ืืฉืชืืจืจืช, ืืืืกืงื ืืืืืจ ืืื
ืืจืืจื ืืืืจื ืฉืืื ืืฉืงืืขื.
ืืืืืืฉืื ืืงืื ืื ืขืฆืื ืืืืื
ืืจืื ืืคืืืขื ืฉื ืืชืืืจืงื.
ืืืืืช ืืืืื ืืืกืงืืืืืืืืกืงืืืกืืื ืืืจืืื ืืืืื
ืืืืจ ืืืื ืืืืช ืืงืืืฉืืช,
ืืืืืฉืืืช - ืงืจืืกืื ืืืืืจ -
ืื ืขืืฉืื ืืช ืืืืืช ืืืืื ืฉืืื.
ืฆ'ื! - ืชืฉืืฉ ืืืืื ืคื ืืืืขืช
ืืืจ ืืืืื ืืืคืฆืื.
ืื ืืื ืืฉืื ืืขืฉืืช: ืืืื,
ืื ืฉืื ืจืืืืข ืขืืืื ืืื ืืืชืจ?
ืืืคืฆืื ืืฉ ืืกืืจืช ืคืืื,
ืืืืืืืช ืืฉ ืืจื ืืืื ืฉืืืืืช.
ืฉืืื ืืืื ืืืืื ืืืื ื
ืืฆืขื ืืืืืจื ืืืืืืื.
ืึฐืึดืชึฐืึทืจึตื! โ ืงืืจื ืงืื ืืื.
ืฉืึถืงึถื! ืงืจืืกื ืืื ืืืชื ื ืื ืขืช!
ืืื ืืื ืจืืฆื ืืืชืจ "ืกืืจ"
ืืืจ ืืืืจืฃ ืืืืจื.
ืจืงืข ืืงืจื ืืจืืฉื
ืื ืืืืื ืืคืืื ืืืชืจ "ืคืจืกืื":
ืขืืฉืื ืืื, ืืื ืืืขืช ืชืืืื,
ืจืืืืข ื ืืืจ ืืืืขืื.
ืืึผืึธื. ืืื ืื ื ืืจืื ืคืขืืืืช ืชืืืื,
ืืืืจ ืืืกืื ืืืืื:
ืืื ืืฆืืจ ืจืืขื, ืื ืืืืช,
ืืฉ ืืคืฆืื ืืฆืืจืืฃ ืืงืจืื.
ืืื ื ืืื ืฉืืื ืืื ืืื
ืืขืืื ืฉืื ืืฉ ืืจืื ืืื ืืืืช,
ืืขืืื ืฉืื ืืชื ืืืื ืืืืืช ืืืคืฉื
ืงื ืืช ืืืืืช ืืืืื ืฉืื.
ืืืงืื ืื - ืขืืืื ืืืืื ืขื C++, ืืืชื ืงืจืืชื ืืืจืฆืื ืืืจืืืืช ืฉืื ืืื ืก C++ Siberia 2019.
ืกืืืช C++ ืืฉืืืฉื ืืืงืื ืืชืืกืคืช ืืืชืืืง 1. ืกืืืื ืืืืฉืจ ืืืืื
ืขืจื ืขืืืื. ืืืจ ืืกื.
ืืฉืื ื ืืืงืขืช ืืชืื ืืืืืืืื.
ืืืืชื ืจืืฆื ืืืืช ืืืจ; ืืื ืื ืขืืืื ืืืงืื
ืืื ืื ืื ืฉืืชื ืฆืจืื ืืืฉืื ืขืืื.
ืืฉืืจืืจ ืืืขืจ, ืืงืืืืืช ืืืืื,
ืืชืืื ืืช ืื ืืืื ื ืืืื...
... ืืืืืฉืื ืงืืคืฆืช ืืืืืื
ืืื ืงืืืื ืฉืืืจืื.
ืฉืืืืจ ืืื ืืืจ ืงืืืฉ
ืืืืืืจ ืืืื ืืืจ,
ืืื ืขืืืจ ืืืคืืกืื ืืืื, ืื ื ืืืจ
ืืฉืืื ืืืืฉืื ืืช ืืืื.
ืืืืจืื ืืกืืืืื ืขื ืืกืืืื ืืืื:
ืื ืืฉื ื ืืื ืื ื ืืชืคืื, ืื ืืฉื ื ืืื ืืืงืฉ,
ืืื ืืจื ืืืื ืืืชื
ืืช ืื ืื ืื ืืคืฉืจ ืืืคืฉืจ.
ืขื ืื ืื ืฉืื ื ืงื ืืชืืื ืืช
ืืืืืจ ืฉืื ื ืืฉืชืืง.
ื ืคื ืืืืื ืืงืื, ืืคืฉ ืืืชื ืืขืฆืื,
ืขื ืฉืื ื ืฉืจืฃ.
ืืืง 2. ืงืื ืืจืืื ืืืืื
ืืืืจ ืืฉืื ืืกืชืืื ืืคืจืืืช ืืืงื ืืืช
ืืงืืจ ืฉื ืคืืจืืืจ ืืืืฅ ืืืืื.
ืืืืชื ืจืืฆื ืืืืช ืืืฉืื... ืืื ืื ืขืืืื ืืืงืื,
ืืืชื ืื ืฆืจืื ืืืฉืื ืขื ืื...
... ืืื ืืจืืจ ืืจืก ืืช ืืฉืจืฉืืจืื,
ืฉืื ืื ืื ืชืื ืื ืฉืืืืื
ืืืืืง ืืื ืืืืื ื ืืืงืืจืืช ืฉืื,
ืืืืกืช ืืืืื ืืืืืืจ ืืื ืืืื ืฉืื.
ืืื ืขืฉืื ืื ืฉืงืื ืื ืืชื ืื ืืฉืื ืื
ืืืฆืข ืืจื ืืืืงื.
ืืืื ืจืืฆื, ืืืืื ืืืืืืื,
ืืงืืืจ ืืช ืื ืืืื ืืืจืื ืงืืืจื.
ืืื ืืืืข ืืช ืื ืืืืืื ืขื ืืกืืจ
ืืืขืืื ืคื ืื ืืขืจืืืืืืช ืืืืืช ืืืช ืืฉืคื,
ืืืืืจืื ืขื ืื ืืคืกืง ืืื ืืืง,
ืื ืืฉื ื"ืกืืจ"?
ืื ืืืืกืจ ืืืืขื ืืชืงืจื
ืืฉืืงื ืื ืืื ืืืืืื ืืืคื ืืื ืขืืจ.
ืื ืืืื ืคืจืืงืื ืืืืื ืืืืืื,
ืืืื ืืฆืจ ื ืื ืืืืจืืืช.
ืื ืืื ืืืืจืืฃ ืื ืืจืื,
ืืืฉืจ, ืฉืืจืคืื ืืช ืื ืืืฉืจืื,
ืืื ืขื ืืื ื ืืฉืชื ื
ืืื ืืจ ืจื ืืืืื...
... "ืจืข" ืืกืจ ืชืงืืื ืฉืืื
ืื ืืืืืช ืืช ืื ืืจืื ืืื.
ืืืขืืืช ืืชืจืืืช ืืื ืืืืืื
ืืงืื ืืืคื ืืฆืจืืช.
ืืืง 3. ืืคืืกืื, OOP ื-BOILERPLATE
ืืชืืื ื ืขืจืืืืืช
ืืืืจื ืขื ืืืจืื ืฆืืืงืช.
ืงืืจื ืืงืืจืฅ ืืื ืืืื ื,
ืืื ืื ืื ืื ืฉืืชื ืฆืจืื ืืืฉืื ืขืืื.
ืฉืขืช ืืืฆืืื ืขืืืื ืื ืงืจืืื,
ืืขืช ืขืชื, ื ืงืจืข ืขื ืืื ืืจืืื,
ืืืืฆืจ ืกืืื ืืืขืืงื ืืกืื ื
ืืืืกืจ ืฉืืืืช ืืืื.
ืืืคืขื ืืื ืืืคืฆืื
ื ืคืื ืืืชืจ ืืคืกืื,
ืืืืืืื ืฉื ืืช ืกืืืืช
ืืืืคืืจืืื ืืกื ืืฉืืืฅ ืฉื.
ืืชืคืงืื ืฉืื ืืื ืืขืืื ืขื ืืืฉืืจ
ืื ืื ืฉืงืจืื ืืืืืืื.
ืื ืืืจ ืฉืื ืืฉ ืืฉืืขืืช, ืืืคืืื
ืืืคื ืืืฉืืขืืช ืื ืงื ืืจืืืช.
ืื ืื ื ืืื ืืืืงืื
ืืืื ืืืขืืจ ืืช ืืืฉืจืื ื.
ืืืชื, ื ืฉืืงืืช ืืืคืื ืืืืฉื,
ืืืืื ื ืืจืก ืืืืจื.
ืืืจืื ืืงืื ืจื
ืจืืืื ืืืช ืฉื ืืืืืจืืืช,
ืืื ืืฉืชืืง ืขื ืขืืืื ืืืืืืืช,
ืืืืกืจ ืขืงืืืืช ืคื ืืฉื.
ืืืืฉ ืืขืจืืืื ืื ืกื ืืืืืืง
ืืืงืื ืฉื ืฆืืจืืช ืืืจืืืืช ืืืืืื.
ืื ืืชืืืช ืขืืื ืืฉืืืื ืืืืื ืืื,
ืืื ืืืืื ืืื ืืืืื ืื ืจืืื...
... ืืื, ืืืืืช ืื ืื
ืืืจืฅ ืืงืกื OOPea
ืืืคืืก ื ืืฉื ืืืืช ืฉื ืื,
ืืืคื ืืชืคืงืื ืืจืืฉื ืืื ืฉืืืืืช.
ืืืืืจ. ืึฒืืึผืึธื
ืืคื ื ืขื ืืจืืืช ืืคืื ื
ืืชืื ืฉืขืื ืงืืจ,
ืื ืืจืช ืืืื ืืืืืืช
ืืื ืื ืื ืื ืฉืืชื ืฆืจืื ืืืฉืื ืขืืื.
ืขื ืื ืืืฉืื?.. ืืืืง
ืืื ืืืฉืื ืื ืืฉืืช ืืืืื.
ืืืฆืืืืช ื ืืกื ืื ืืกื
ืืืื ืืืชืจ ืืฉืืขืืช ืืืฉืื.
ืืฉืื ื ืืืืขื.
ืืฉื ืื ืขืืื
ืงืืคืกื,
ืืืื ืืืืกืื ืืืืืื:
ืื ืืชืืง ืืื ืืก, ืื ืงืื, ืื ืืจืื ืืชืื,
ืืฉืจ ืืื ืงืืืืื, ืขื ื ืขืืืช ืกืืืืช.
ืืืื ืคืชืื.
ืืื ืืื ืื
ืคืจื ืืคื ืืื ืขืืืช ืืฉืืจ.
ืืื ืืืืกื ืืืืืืช ืจืืืช,
ืืคืืื ืืืจ ืืืืจ.
ืืฆืื ื ืฉืจืฃ ืืกืืื ืืืฉืื.
ืืืื ืืื ืืื ืฉื ืืืฉ ืฉืื
ืืื ืชืฉืืงื. ืืืืืจ
ืืคืืคืื ืืืืื ืฉืื.
ืขื ืืืืืืืช ืฉืื ืืื ืืชืืืกืก
ื ืืืก ืื ืืืืื ืจืืงืื.
ืืื ืกืืื ืืคืฉืืืช
ืืืขืงืืืืช ืฉื ืืืืจืื ืืงืื ืื.
ืืื ืืืจืื ืขื ืืงืฆืืืช,
ืืืคื ืฉืืื ื ืืกืื ืืจืกื ืืื.
ืืฉ ืืืืืืช ืืืืขืืช ืืฉืืฆื
ืื ืื ืืฉืืืจ ืืช ืืชืืืื.
ืืฉ ืืืืืืช ืื ืืืืช,
ืืื ืืื ืื ืืืฉื.
ืฉื ืืฉืืื ืืฉืืื ืืจืืฉ,
ืืืืื ืืื ืื ืืขืื.
ืืฉ ืืคืืื ืืืืื ืืกืคืื ืืืืจ
ืืืชื ืื ืืจ ืฉื ืืกืฃ.
ืืื ืื ืืืื ืืืืืื,
ืืขื ืืื ืฉืืืจื ืขื ืืืื...
... ืืื ืืื ืืืืื. ืืฉืืชื ืืชืขืืจืจ, ืืชื
ืืืจื ืืขืจื ืืืฉืจื
ืืขืืฉืื ืืืืชื ืืฉืื ืฉื ืืืื
ืืืชืืืจ ืขื ื ืืืจืกืื ืื.
ืื ืืืืชื, ืกืคืจื ืืขืืืชืื ืืืืืจืื ืฉืืื. ๐ ืชืืื ืืืฆืื ืืืืจืื ื ืืกืคืื ืืืชืจ ืฉืื. ืืืจืฉืื, ืืืื, ืขืงืื. ืื ื ืืฉืื ืืืื!
ืืงืืจ: www.habr.com