Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ простыми словами, Π³Π΄Π΅ примСняСтся ΠΈ Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ – SkillFactory

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ языки программирования β€” это языки, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… процСссы прСдставлСны ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² матСматичСском ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ этого слова. Π’ΠΎ Π΅ΡΡ‚ΡŒ функция Π² Π½ΠΈΡ… опрСдСляСтся Π½Π΅ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Π° ΠΊΠ°ΠΊ соотвСтствиС ΠΌΠ΅ΠΆΠ΄Ρƒ мноТСствами.

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ. НазваниС Π½Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ основан Π½Π° функциях: это справСдливо ΠΏΠΎΡ‡Ρ‚ΠΈ для любого языка. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ опрСдСляСтся ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ: вСсь ΠΊΠΎΠ΄ описываСтся ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ, ΠΈ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² любом порядкС.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ β€” ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΌΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ программист Π·Π°Π΄Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ‡Π΅Ρ‚ΠΊΠΈΠΉ порядок дСйствий ΠΏΠΎ шагам. Π’ΡƒΡ‚ всС слоТнСС: ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° сама Ρ€Π΅ΡˆΠ°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΌ порядкС ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ дСйствия, Π° программист описываСт ΠΏΡ€Π°Π²ΠΈΠ»Π° взаимодСйствия ΠΈ связи ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ.

ΠšΡ‚ΠΎ ΠΈ Π³Π΄Π΅ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ

БСйчас программисты Ρ‡Π°Ρ‰Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с ООП β€” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ€Π΅ΠΆΠ΅: ΠΎΠ½ слоТнСС ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ Π½Π΅ ΠΊΠΎ всСм Π·Π°Π΄Π°Ρ‡Π°ΠΌ. Но сСйчас Π΅Π³ΠΎ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ растСт, ΠΈ Ρ‚ΠΎΠΌΡƒ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹: чистота ΠΊΠΎΠ΄Π°, Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, высокиС возмоТности для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ.

Благодаря своим особСнностям Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ распространСно ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π²Π°ΠΆΠ½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡, Π³Π΄Π΅ Π½ΡƒΠΆΠ½Ρ‹ слоТныС вычислСния. Π•ΡΡ‚ΡŒ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΡ‰Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ стилС, Π° Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠΎΡ‡Π΅Ρ‚Π°ΡŽΡ‚ΡΡ ΠΎΠ±Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°. Как ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” React ΠΈ Redux для JavaScript.

БСйчас программисты ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°: ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ стилС Π½Π΅ стоит, Π½ΠΎ Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π² Π³ΠΎΠ»ΠΎΠ²Π΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡. Π­Ρ‚Π° идСя Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π° для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

ΠšΡƒΡ€Ρ
Frontend- Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ PRO
ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€ΡΠΏΠ΅ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Ρ‚Π²ΠΎΡ€Ρ‡Π΅ΡΠΊΡƒΡŽ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΡŽ ΠΈ знания уровня middle. Π’Ρ‹ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ JavaScript ΠΈ TypeScript. Π—Π° врСмя обучСния Π²Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ 5 ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° JavaScript ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ 13 ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π² ΠΏΠΎΡ€Ρ‚Ρ„ΠΎΠ»ΠΈΠΎ.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ

КакиС языки программирования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅

Условно ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄Π²Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹. ΠŸΠ΅Ρ€Π²Π°Ρ β€” языки, ТСстко ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Вторая β€” Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ΅Π½Π½Ρ‹Π΅ языки, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. Π’ Ρ‚ΠΎΠΌ числС Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ стилС.

К Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ языкам относятся Haskell, F#, OCaml, ELM, сСрия языков Lisp, Π° Ρ‚Π°ΠΊΠΆΠ΅ Erlang ΠΈ Π΅Π³ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΠΎΠΊ Elixir. Иногда сюда ΠΆΠ΅ относят Scala ΠΈ Nemerle, хотя эти языки Π΄Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ, ΠΈ Π² ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΌ стилях. Они старыС ΠΈ сСйчас ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π½Π΅ Ρ‚Π°ΠΊ часто, ΠΊΠ°ΠΊ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ соврСмСнных.

Π•Ρ‰Π΅ ΠΊ этой Π³Ρ€ΡƒΠΏΠΏΠ΅ относится нСсколько узкоспСциализированных языков: язык Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Wolfram, языки J ΠΈ K для финансового Π°Π½Π°Π»ΠΈΠ·Π°, язык R для статистичСских Ρ†Π΅Π»Π΅ΠΉ. На Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ языкС APL базируСтся язык Π½Π°ΡƒΡ‡Π½ΠΎΠΉ матСматичСской срСды MATLAB. Π’Π°ΠΊΠΆΠ΅ сюда ΠΌΠΎΠΆΠ½ΠΎ отнСсти языки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с элСктронными Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ, Π° Π΅Ρ‰Π΅, частично, SQL β€” язык запросов для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

К ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ΅Π½Π½Ρ‹ΠΌ языкам, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ стилС, относятся ΡƒΠΆΠ΅ упомянутыС Scala ΠΈ Nemerle, Π° Ρ‚Π°ΠΊΠΆΠ΅ Go, JavaScript ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅Π³ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ. Π’ мСньшСй стСпСни сюда ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ отнСсти Python, Ruby, PHP ΠΈ C++, Π° Ρ‚Π°ΠΊΠΆΠ΅ Java: ΠΎΠ½ΠΈ большС ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π½Π° ООП, Π½ΠΎ Π² Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ элСмСнты.

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ

Π§Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΠ΅ΠΉ.

  • Π˜ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Π°Ρ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π° умноТСния Π² столбик. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСйствий, ΠΈΡ… порядок ΠΈ Ρ‚ΠΈΠΏ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹. ΠœΡ‹ выполняСм ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π» Π΄ΠΎ нас, ΠΊΠ°ΠΊ ΠΏΠΎ инструкции.
  • Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° β€” это, скорСС, ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΎΡ€Ρ„ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ ΠΈ ΠΏΡƒΠ½ΠΊΡ‚ΡƒΠ°Ρ†ΠΈΠΈ. НСт Ρ‡Π΅Ρ‚ΠΊΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ. ΠŸΡ€Π°Π²ΠΈΠ»Π° нСльзя ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΡΡ‚Ρ€ΠΎΠ³ΡƒΡŽ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ. ВмСсто этого ΠΌΡ‹ сами Ρ€Π΅ΡˆΠ°Π΅ΠΌ, ΠΊΠ°ΠΊΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΉ ситуации Π±ΡƒΠ΄Π΅Ρ‚ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ. И ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ это Π΄Π΅Π»Π°Π΅ΠΌ, Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° с ООП

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ отличаСтся ΠΎΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹. Π’ Π½Π΅ΠΌ всС прСдставлСно Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ β€” Π² Π²ΠΈΠ΄Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ООП ΡΠΌΠ΅ΡˆΠΈΠ²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ β€” раздСляСт. Π Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ особСнности Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ, структура ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

ООП Π² Ρ†Π΅Π»ΠΎΠΌ относится скорСС ΠΊ ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ программирования: ΠΊΠΎΠ΄ β€” это Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄, Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ. Но «чистым» ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΅Π³ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ слоТно β€” скорСС, Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΌ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΌ.

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ изучСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языков

О Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΠ»Ρ‹ΡˆΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ слоТно Π² освоСнии. Но Ρ‚ΡƒΡ‚ Π΅ΡΡ‚ΡŒ парадокс, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ говорят Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ программисты: Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³Ρ‡Π΅, Ρ‡Π΅ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ с ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ программирования Π² ООП. Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π² ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… стилях ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ Π»ΠΎΠ³ΠΈΠΊΠΈ, Π° ΠΏΠ΅Ρ€Π΅ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒΡΡ Π½Π° Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Π½ΠΎΠ²ΠΎΠ΅ слоТнСС, Ρ‡Π΅ΠΌ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ с нуля.

БСйчас считаСтся, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π² ΠΎΠ±Π΅ΠΈΡ… ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°Ρ… ΠΈ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ, Π° ΠΊΠΎΠ³Π΄Π° β€” Π΄Ρ€ΡƒΠ³ΡƒΡŽ.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ опрСдСляСтся нСсколькими Π²Π°ΠΆΠ½Ρ‹ΠΌΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ. Π­Ρ‚ΠΎ основы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°.

ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ ТСсткой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Об этом ΠΌΡ‹ ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π·Π°Π΄Π°Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π°, Π° компилятор ΠΊΠΎΠ΄Π° сам Ρ€Π΅ΡˆΠ°Π΅Ρ‚, Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ. ЖСсткий порядок дСйствий программист Π½Π΅ Π·Π°Π΄Π°Π΅Ρ‚. Π•Π³ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ сама ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°.

«ЧистыС» Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ЧистыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” это Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‚ Π΄Π²ΡƒΠΌ условиям:

  • ΠΏΡ€ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… функция всСгда Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Π’ΠΎ Π΅ΡΡ‚ΡŒ, функция, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π°Ρ сумму a ΠΈ b, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ чистой, Π° функция, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π°Ρ случайноС число, β€” Π½Π΅Ρ‚;
  • ΠΊΠΎΠ³Π΄Π° функция выполняСтся, Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Π΅ эффСкты β€” Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ дСйствия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π·Π° Π΅Π΅ ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ. НапримСр, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Π² консоль β€” это ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Π΅ эффСкты.

Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ чистыми. ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, Π±ΡƒΠ΄Ρ‚ΠΎ это слоТно ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Π½ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ ΠΏΡ€ΠΈ Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ Ρ‚Π°ΠΊΠΎΠ΅ Π΄Π°ΠΆΠ΅ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ возмоТности. Π’Π΅Π΄ΡŒ чистыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ, Π½Π΅ боясь, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ измСнят ΠΈΠ»ΠΈ Π½Π°Ρ€ΡƒΡˆΠ°Ρ‚.

НСизмСнныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅. Π’ Π½Π΅ΠΌ всС ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ β€” Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ фактичСски это константы. Если с ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½ΡƒΠΆΠ½ΠΎ провСсти вычислСния, ΠΎΠ½Π° Π½Π΅ измСняСтся: создаСтся новая пСрСмСнная, ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСний записываСтся Π² Π½Π΅Π΅. А исходная остаСтся ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΉ β€” Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ мСняСтся.

Β«ΠŸΠ΅Ρ€Π²ΠΎΠΊΠ»Π°ΡΡΠ½Ρ‹Π΅Β» Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ порядка. ВсС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ класса ΠΈ Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ порядка. БСйчас объясним, Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚.

  • Ѐункция ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ класса β€” это такая, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ. Π’ΠΎ Π΅ΡΡ‚ΡŒ, Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈΠΌ функциям, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈΠ»ΠΈ структуру Π΄Π°Π½Π½Ρ‹Ρ….
  • Ѐункция Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ порядка β€” такая, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΡ… Π² качСствС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°ΠΊΠΈΠΌΠΈ функциями Π΅ΡΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‚Π°ΠΊΠΎΠ΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ Π΅ΡΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π½Π΅ΠΌ. Но для Π½Π΅Π³ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ обязатСлСн β€” вмСстС с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ особСнностями.Β 

ΠžΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ. Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊ функциям Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ β€” ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ. Π­Ρ‚ΠΎ понятиС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ слоТным для понимания, Π½ΠΎ ΠΌΡ‹ постараСмся Π΅Π³ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ. ΠžΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ функция, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ β€” ΠΈ ΠΎΡ‚ этого Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ измСнится. Π’ΠΎ Π΅ΡΡ‚ΡŒ, Ссли функция, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, складываСт Π΄Π²Π° числа 3 ΠΈ 5, Ρ‚ΠΎ ΠΎΠ½Π° Π²Π΅Ρ€Π½Π΅Ρ‚ сумму 3 + 5. ВСорСтичСски вмСсто этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ число 8, ΠΈ ΠΎΡ‚ этого ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ измСнится β€” ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ ΠΆΠ΅.

Π­Ρ‚ΠΎ Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ функция Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²ΠΎ всСх случаях β€” Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΎ это Ρ‚Π°ΠΊΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Ρ‡Π°ΡΡ‚ΡŒ опрСдСлСния чистой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

РСкурсия вмСсто Ρ†ΠΈΠΊΠ»ΠΎΠ². Π’ классичСском Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ†ΠΈΠΊΠ»Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΊΠ°ΠΊ рСкурсия. Π‘Ρ‚ΠΎΠΈΡ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ:

  • Ρ†ΠΈΠΊΠ» β€” нСсколько Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ части ΠΊΠΎΠ΄Π° подряд;
  • рСкурсия β€” явлСниС, ΠΊΠΎΠ³Π΄Π° функция Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ сама сСбя, Π½ΠΎ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ.

ΠžΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ построСны Π½Π° рСкурсии β€” функциях, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… сСбя. Π’Π°ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ дСйствия, Π³Π΄Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ нСсколько Ρ€Π°Π·.

Лямбда-исчислСниС. Π­Ρ‚ΠΎ особая матСматичСская систСма, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языках программирования. Π•Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠΈΡˆΡƒΡ‚ ΠΊΠ°ΠΊ Ξ»-исчислСниС. ΠœΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΡƒΠ³Π»ΡƒΠ±Π»ΡΡ‚ΡŒΡΡ Π² слоТныС матСматичСскиС понятия ΠΈ Π²Ρ‹Π΄Π΅Π»ΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ нСсколько особСнностСй, Π²Π°ΠΆΠ½Ρ‹Ρ… для понимания Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования:

  • Π² Ξ»-исчислСнии Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ основных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ β€” аппликация ΠΈ абстракция. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ β€” это, ΠΏΠΎ сути, Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ. Π’Ρ‚ΠΎΡ€ΠΎΠ΅ β€” построСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌΡΡ выраТСниям;
  • всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹ΠΌΠΈ ΠΈ ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· списка Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². АнонимныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” это Ρ‚Π°ΠΊΠΈΠ΅, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ, Π° ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ½ΠΈ Π² мСстС выполнСния;
  • ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с нСсколькими Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ происходит Π΅Π΅ ΠΊΠ°Ρ€Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² нСсколько Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ΄ΠΈΠ½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚. Π’ΠΎ Π΅ΡΡ‚ΡŒ, функция Π²ΠΈΠ΄Π° f(a, b, c) прСвратится Π² Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ f(a)(b)(c). Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ f(a) Π±ΡƒΠ΄Π΅Ρ‚ функция, которая Ρ‚ΡƒΡ‚ ΠΆΠ΅ примСнится ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρƒ b. И Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π­Ρ‚ΠΎ рСкурсия β€” Ρ‚Π°, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языков

Чистота ΠΊΠΎΠ΄Π°. Код, написанный Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ языкС, выглядит чистым ΠΈ понятным. Бюда ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ отнСсти Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ β€” ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π° ΠΈΠ»ΠΈ иная функция, Π±Π΅Π· строгой привязки ΠΊ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΊΠΎΠ΄Ρƒ. Код Π±ΠΎΠ»Π΅Π΅ чистый Π΅Ρ‰Π΅ ΠΈ Π·Π° счСт отсутствия Ρ‡Π΅Ρ‚ΠΊΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ: Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ происходящСС Π² Π½Π΅ΠΌ, Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ порядок выполнСния Ρ€Π°Π·Π½Ρ‹Ρ… дСйствий.

ΠΠ°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ. Благодаря Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ чистыС ΠΈ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΎΠΊΡ€ΡƒΠ³ сСбя, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ΅Π½. Если Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ сломаСтся, это Π½Π΅ ΠΏΠΎΠ²Π»Π΅Ρ‡Π΅Ρ‚ Π·Π° собой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ. НС Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Π΅ эффСкты β€” согласно ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ чистой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΡ… Π±Ρ‹Ρ‚ΡŒ просто Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ. ΠŸΡ€Π°Π²Π΄Π°, Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ это Π½Π΅ всСгда Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ эту Π΄Π΅Ρ‚Π°Π»ΡŒ ΠΌΡ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ обсудим Π½ΠΈΠΆΠ΅.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ. Когда компилятор ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΎΠ½ сам Ρ€Π΅ΡˆΠ°Π΅Ρ‚, Π² ΠΊΠ°ΠΊΠΎΠΌ порядкС Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π—Π° счСт этого ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π»Π΅Π³Ρ‡Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ: Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности для автоматичСской ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ компилятора. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ быстрСС ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅.

Π£Π΄ΠΎΠ±Π½ΠΎΠ΅ тСстированиС. Благодаря всС Ρ‚Π΅ΠΌ ΠΆΠ΅ чистым функциям этот ΡΡ‚ΠΈΠ»ΡŒ программирования ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. ОсобСнно это Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ ΠΏΡ€ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠΌ тСстировании β€” Ρ‚Π°ΠΊΠΎΠΌ, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ провСряСтся ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π’Π΅Π΄ΡŒ Ссли ΠΌΡ‹ провСряСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая Π½Π΅ измСняСт Π½ΠΈΡ‡Π΅Π³ΠΎ снаруТи β€” Π·Π½Π°Ρ‡ΠΈΡ‚, Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ тСстировании Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Ρ… эффСктов.

РаспараллСливаниС вычислСний. Π—Π° счСт отсутствия ТСсткой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… вычислСний β€” ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ выполнСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… дСйствий. Π‘ ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ ΠΈΡ… слоТнСС ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Π΅ эффСкты. А Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ² ΠΎΠ΄Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ повлияСт Π½Π° Π²Ρ‹Π·ΠΎΠ² Π΄Ρ€ΡƒΠ³ΠΎΠΉ β€” поэтому сниТаСтся риск ошибок ΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… вычислСниях.

Гибкая Ρ€Π°Π±ΠΎΡ‚Π° с функциями. Благодаря Π³ΠΈΠ±ΠΊΠΎΠΉ ΠΈ слоТной Ρ€Π°Π±ΠΎΡ‚Π΅ с функциями Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ дСйствия ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ быстрСС ΠΈ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅, Ρ‡Π΅ΠΌ с ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ. Π­Ρ‚ΠΎ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт, особСнно для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ спСцифичСских Π·Π°Π΄Π°Ρ‡: матСматичСских, Π½Π°ΡƒΡ‡Π½Ρ‹Ρ…, связанных с Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌΠΈ вычислСниями ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ сфСрами. ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡ Π²ΠΈΠ΄Π½ΠΎ ΠΈ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅: языки для матСматичСских, Π½Π°ΡƒΡ‡Π½Ρ‹Ρ…, экономичСских ΠΈΠ»ΠΈ статистичСских расчСтов β€” ΠΏΠΎ большСй части Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅.

ИспользованиС большого объСма памяти. Π­Ρ‚ΠΎΡ‚ минус Π²Ρ‹Ρ‚Π΅ΠΊΠ°Π΅Ρ‚ ΠΈΠ· Ρ‚Π΅Ρ… ΠΆΠ΅ особСнностСй, Ρ‡Ρ‚ΠΎ ΠΈ прСимущСства. МногиС дСйствия построСны Π½Π° рСкурсии, Π° ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ любого значСния создаСтся новая пСрСмСнная β€” поэтому ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ большС памяти, Ρ‡Π΅ΠΌ импСративная с классичСскими Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈ ΠΈ измСняСмыми значСниями. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ для эффСктивной Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² языкС Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ сборщик мусора ΠΈΠ»ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ инструмСнты для Ρ€ΡƒΡ‡Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. Π—Π° Π½Π΅ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ, ΠΈΠ½Π°Ρ‡Π΅ Π΅ΡΡ‚ΡŒ риск ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠ³ΠΎ сниТСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

НСпрСдсказуСмый порядок дСйствий. Π­Ρ‚Π° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования β€” плюс ΠΈ минус ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. О ΠΏΠ»ΡŽΡΠ°Ρ… ΠΌΡ‹ ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅. ΠœΠΈΠ½ΡƒΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Π°ΠΆΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ порядок дСйствий Π²Π°ΠΆΠ΅Π½ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ. НапримСр, Π²Π²ΠΎΠ΄ ΠΈ Π²Ρ‹Π²ΠΎΠ΄. Если Π΄Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΈΠ»ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Ρ…Π°ΠΎΡ‚ΠΈΡ‡Π½ΠΎ, Π² нСпрСдсказуСмом порядкС, это ΡƒΡ…ΡƒΠ΄ΡˆΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ часто Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‚ с ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ β€” для большСй гибкости ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠ΄Π° Π² Ρ†Π΅Π»ΠΎΠΌ.

ΠΠ΅ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ чистых Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Одними чистыми функциями Π½Π΅ получится Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ. НСкоторыС Π²Π°ΠΆΠ½Ρ‹Π΅ дСйствия ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ слоТно ΠΈΠ»ΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· чистыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ программистам приходится ΠΏΡ€ΠΈΠ±Π΅Π³Π°Ρ‚ΡŒ ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ухищрСниям ΠΈ ΡƒΡΠ»ΠΎΠΆΠ½ΡΡ‚ΡŒ ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ этого минуса. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π΅ совсСм чистыми β€” Ρ‚ΡƒΡ‚ ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅ приходится ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ограничСния ΠΈ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ способы.

Как Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ стилС

Π‘Π½Π°Ρ‡Π°Π»Π° Π²Π°ΠΌ понадобится ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с основами ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ ΠΈ с Ρ‚Π΅ΠΎΡ€ΠΈΠ΅ΠΉ. МоТно ΡΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это с Π½Π°Ρ‡Π°Π»ΠΎΠΌ изучСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языков, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сразу Β«ΠΏΠΎΡ‰ΡƒΠΏΠ°Ρ‚ΡŒΒ» ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅. Но ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ сначала ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π²Π°ΠΌ Π½Π΅ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌΠΈ β€” ΠΊ особым ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ½ΡƒΡ‚ΡŒ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ – ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΈ интСрСсный инструмСнт, ΠΈ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ Π΄Π°ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ.

ΠšΡƒΡ€Ρ Π£Π²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΉ старт Π² IT ПомоТСм ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΡΡ‰ΡƒΡŽ Π²Π°ΠΌ IT-ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΡŽ ΠΈ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ Π΅Ρ‘ с нуля. Π’Ρ‹ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅Ρ‚Π΅ Ρ€Π°Π·Π½Ρ‹Π΅ направлСния: Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках, Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ…, Data Science, ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½Ρ‚ Π² IT. Π­Ρ‚ΠΎ самый подходящий курс для построСния ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Ρ‹ Π² IT Π² Π½ΠΎΠ²ΠΎΠΉ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ

Π—Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ: Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ | KV.by

ВсячСских ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ, ΠΈΠ΄Π΅ΠΉ ΠΈ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΎ. И это, Π² ΠΎΠ±Ρ‰Π΅ΠΌ-Ρ‚ΠΎ, Ρ…ΠΎΡ€ΠΎΡˆΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚Ρƒ, которая Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ сочСтаСтся с Π΅Π³ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ Π²ΠΈΠ΄Π΅Π½ΠΈΠ΅ΠΌ программирования ΠΈ с Ρ€Π΅ΡˆΠ°Π΅ΠΌΠΎΠΉ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Π·Π°Π΄Π°Ρ‡Π΅ΠΉ. БСйчас я познакомлю вас с ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· самых интСрСсных, Π½Π° ΠΌΠΎΠΉ взгляд, ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΊ написанию ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ навСрняка Π±ΡƒΠ΄Π΅Ρ‚ особСнно интСрСсСн Ρ‚Π΅ΠΌ ΠΈΠ· Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΊΡ‚ΠΎ ΠΏΠΎΠΊΠ° с Π½ΠΈΠΌ Π½Π΅ сталкивался.


«ΠŸΠΎΠ΄ΠΎΠ±Π½ΠΎ ООП, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ — это мноТСство ΠΈΠ΄Π΅ΠΉ, Π½ΠΎ Π½Π΅ мноТСство Тёстких ΠΏΡ€Π°Π²ΠΈΠ»»

ВячСслав АхмСчСт

Π§Π΅ΠΌ ΠΏΠ»ΠΎΡ…ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ статСй ΠΏΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, Ρ‚Π°ΠΊ это Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ вСсьма Π΄Π°Π»Π΅ΠΊΠΈ ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ простого программиста, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ собствСнной Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Ρ‹ (ΠΊ ΡΡ‡Π°ΡΡ‚ΡŒΡŽ) Π²ΠΎΠ»Π½ΡƒΠ΅Ρ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС, Ρ‡Π΅ΠΌ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²Ρ‹ΠΊΠ»Π°Π΄ΠΊΠΈ ΠΈΠ· области дискрСтной ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π±ΠΎΠ»ΡŒΠ½Ρ‹ Ρ‚Π°ΠΊΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я ΠΏΠΎΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ Π½Π΅ Π½Π°ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Π½Π° эти распространённыС Π³Ρ€Π°Π±Π»ΠΈ — Π΄ΡƒΠΌΠ°ΡŽ, это получится, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ я Π½Π΅ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊ.

Π˜Ρ‚Π°ΠΊ, какая ΠΆΠ΅ основная ΠΌΡ‹ΡΠ»ΡŒ Π»Π΅ΠΆΠΈΡ‚ Π² основС ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования? Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Π΅Π΅ присмотримся ΠΊ самому названию. НС Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ„ΠΈΠ»ΠΎΠ»ΠΎΠ³ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ слово «Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅» явно связано со словом «Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ». Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ Π² своём ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ, матСматичСском смыслС — это Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΡ… Π²Ρ…ΠΎΠ΄Π½ΠΎΠ΅ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΡ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π§Π΅ΠΌ это, спроситС Π²Ρ‹, отличаСтся ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ программирования, Π½Π΅ ΡΡƒΡ‚ΡŒ Π²Π°ΠΆΠ½ΠΎ — ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ? Вопрос Ρ€Π΅Π·ΠΎΠ½Π½Ρ‹ΠΉ, ΠΈΠ±ΠΎ Π² Ρ‚ΠΎΠΌ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ прСдставил ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ идСю Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования я, Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ слоТно Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ Π΅Π³ΠΎ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ программирования.

ОсновноС ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠ°ΠΊ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ матСматичСскиС, Π½Π΅ производят Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Ρ… дСйствий.

Они Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ значСния, крутят ΠΈ вСртят ΠΈΡ… Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΈΠΌ заблагорассудится, Π° послС Π²Ρ‹Π΄Π°ΡŽΡ‚ Π½Π°-Π³ΠΎΡ€Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Ρ€Π°Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΈΠ»ΠΈ Π½Π΅ Ρ€Π°Π΄ΡƒΡŽΡ‰ΠΈΠΉ программиста. ΠŸΡ€ΠΈ этом ΠΎΠ½ΠΈ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Ρ„Π»Π°Π³ΠΎΠ² состояния, Π½Π΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Π½Π΅ ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ Π·Π°Π½ΡΡ‚ΡƒΡŽ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π’ΠΈΠ΄ΠΈΡ‚Π΅, ΠΊΠ°ΠΊΠΎΠ΅ сразу вырисовываСтся прСимущСство: Ссли ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° состоит ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ, Ρ‚ΠΎ никакая функция Π½Π΅ смоТСт Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ошибок доступа ΠΊ памяти — Π° вСдь ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ ошибки Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½Ρ‹Π΅ Π² ΠΏΠ»Π°Π½Π΅ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΡ… источников. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, становится Π½Π΅ ΡΡ‚ΠΎΠ»ΡŒ Π²Π°ΠΆΠ½Ρ‹ΠΌ соблюдСниС ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ — каТдая функция ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ своё Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚, Ρ‡Ρ‚ΠΎ позволяСт Π»Π΅Π³ΠΊΠΎ Ρ€Π°ΡΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанныС Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ стилС.

Но, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, самоС Π²Π°ΠΆΠ½ΠΎΠ΅ прСимущСство ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, написанных Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ стилС — это, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, ΠΈΡ… логичСская ΡΠ²ΡΠ·Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΊΡ€Π°Ρ‚ΠΊΠΎΡΡ‚ΡŒ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языках программирования ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π² дСсятки Ρ€Π°Π· ΠΊΠΎΡ€ΠΎΡ‡Π΅ Ρ‚Π΅Ρ… ΠΆΠ΅ самых ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, написанных Π½Π° Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… языках. Когда я Π³ΠΎΠ²ΠΎΡ€ΡŽ ΠΎ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… языках здСсь, Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽ ΠΏΠΎΠ΄ Π½ΠΈΠΌΠΈ ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ языки программирования — Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… для выполнСния Π½Π΅ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½ΡƒΠΆΠ½ΠΎ пошагово ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Ρ‘ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ‚Π°ΠΊΠΈΡ… языков — Π·Π½Π°ΠΊΠΎΠΌΡ‹Π΅ всСм Basic, Pascal, C.


«Π’ сравнСнии с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ Π‘, «Π½ΠΈΠΊΡ‚ΠΎ» — достаточно точная ΠΎΡ†Π΅Π½ΠΊΠ° числа ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языков»

Π€ΠΈΠ»ΠΈΠΏ Π’Π°Π΄Π»Π΅Ρ€

Π‘Ρ€Π°Π·Ρƒ послС рассказа ΠΎ Π±ΠΎΡ‡ΠΊΠ΅ ΠΌΡ‘Π΄Π° я расскаТу ΠΎ Π»ΠΎΠΆΠΊΠ΅ дёгтя. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΆΠ΅ Ρ‚Π°ΠΊ получаСтся, Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Π½Π°Π±ΠΎΠ»Π΅Π²ΡˆΠΈΡ… программистских ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, мягко скаТСм, Π½Π΅ всС программисты? Π’ΠΎΠΌΡƒ Π΅ΡΡ‚ΡŒ мноТСство ΠΏΡ€ΠΈΡ‡ΠΈΠ½. Π§Π°ΡΡ‚ΡŒ ΠΈΠ· Π½ΠΈΡ… я ΠΏΠΎΡ‡Π΅Ρ€ΠΏΠ½ΡƒΠ» ΠΈΠ· Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ Π€ΠΈΠ»ΠΈΠΏΠ° Π’Π°Π΄Π»Π΅Ρ€Π° «ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ языки?» (Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎ адрСсу www.softcraft.

ru/paradigm/fp/whynotfp.shtml). Π“Π»Π°Π²Π½Ρ‹ΠΌΠΈ нСдостатками Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языков программирования ΠΎΠ½ считаСт ΠΏΠ»ΠΎΡ…ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с самыми популярными ΠΈΠ· ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… языков программирования, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… сСйчас написано ΠΏΠΎΠ΄Π°Π²Π»ΡΡŽΡ‰Π΅Π΅ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΏΠ»ΠΎΡ…ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языках Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Π½ΠΈΠ·ΠΊΡƒΡŽ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ этих языков (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, получаСтся рСкурсия — языки Π½Π΅ популярны ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ всС ΠΎΠΏΠ°ΡΠ°ΡŽΡ‚ΡΡ ΡΠ΅Ρ€ΡŒΡ‘Π·Π½ΠΎ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·-Π·Π° ΠΈΡ… Π½ΠΈΠ·ΠΊΠΎΠΉ популярности). Π•ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ ряд ΠΏΡ€ΠΈΡ‡ΠΈΠ½, Π½ΠΎ всС ΠΎΠ½ΠΈ Ρ‚Π°ΠΊΠΆΠ΅, Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ своём, ΡƒΠΏΠΈΡ€Π°ΡŽΡ‚ΡΡ Π² ΠΈΠ½Π΅Ρ€Ρ†ΠΈΠΎΠ½Π½ΠΎΡΡ‚ΡŒ индустрии ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, Π² Ρ‚ΠΎΠΌ числС ΠΈ Π² ΠΈΠ½Π΅Ρ€Ρ†ΠΈΠΎΠ½Π½ΠΎΡΡ‚ΡŒ людСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² Π½Π΅ΠΉ.

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ‚Π°ΠΊΠΎΠ²Ρ‹, Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΏΡ€ΠΎΡ‡Π°Ρ‚ блСстящСС Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ ΠΈ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ Π½Π΅ ΠΌΠ΅Π½ΡŒΡˆΡƒΡŽ, Ρ‡Π΅ΠΌ Ρƒ программирования ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ. Всё-Ρ‚Π°ΠΊΠΈ Π²ΠΈΠ½Ρ‚ΠΎΡ€ΠΎΠ³ΠΈΡ… Π±Π°Ρ€Π°Π½ΠΎΠ², ΠΊΡ€ΠΈΡ‡Π°Ρ‰ΠΈΡ… «ΠΠ°ΠΌ Π½ΡƒΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π‘ΠΈ/Java/АссСблСр» (Π½ΡƒΠΆΠ½ΠΎΠ΅ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΡŒ), срСди Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² софта всё ΠΆΠ΅ мСньшС, Ρ‡Π΅ΠΌ здравомыслящих людСй. А ΠΏΠΎΡ‚ΠΎΠΌΡƒ языки Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования постСпСнно ΠΏΡ€ΠΈΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² Ρ‚Π΅Ρ… Π½ΠΈΡˆΠ°Ρ…, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… подходят Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ — ΠΈ это Π²ΠΏΠΎΠ»Π½Π΅ СстСствСнно, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ язык программирования, ΠΊΠ°ΠΊ ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π½ΠΈΡˆΠ΅Π²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈ всСх своих Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΌΠ½ΠΈΠΌΡ‹Ρ… достоинствах сразу Π·Π°Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Ρ€Ρ‹Π½ΠΊΠ°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π±ΡƒΠ΄ΡŒΡ‚Π΅ Ρ‚Π΅Ρ€ΠΏΠ΅Π»ΠΈΠ²Ρ‹ΠΌΠΈ: ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования — это Ρ‚Π°ΠΊΠΎΠ΅ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ отразится сразу Π½Π° вашСй Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Π΅, Π·Π°Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ вострСбованным ΠΈ высокооплачиваСмым спСциалистом.


«Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ программист смотрится ΠΊΠ°ΠΊ срСднСвСковый ΠΌΠΎΠ½Π°Ρ…, ΠΎΡ‚Π²Π΅Ρ€Π³Π°ΡŽΡ‰ΠΈΠΉ ΡƒΠ΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΈΡ ΠΆΠΈΠ·Π½ΠΈ Π² Π½Π°Π΄Π΅ΠΆΠ΄Π΅, Ρ‡Ρ‚ΠΎ это сдСлаСт Π΅Π³ΠΎ Π΄ΠΎΠ±Ρ€ΠΎΠ΄Π΅Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ. Для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ заинтСрСсован Π² ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π²Ρ‹Π³ΠΎΠ΄Π°Ρ…, эти «ΠΏΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°» Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹. (…) Ясно, Ρ‡Ρ‚ΠΎ такая характСристика Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования Π½Π΅Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½Π°.»

Π”ΠΆΠΎΠ½ Π₯ьюз

Π‘Π°ΠΌΠΎΠ΅ вкусноС я постарался ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π° ΠΏΠΎΡ‚ΠΎΠΌ. Π’Ρ‹ ΠΎΠ±Ρ€Π°Ρ‰Π°Π»ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π½Π° сборных ΠΊΠΎΠ½Ρ†Π΅Ρ€Ρ‚Π°Ρ… Π² Ρ„ΠΈΠ½Π°Π»Π΅ всСгда Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ самыС ΠΈΠΌΠ΅Π½ΠΈΡ‚Ρ‹Π΅ Π·Π²Ρ‘Π·Π΄Ρ‹, Π° Π½Π° ΡΠΎΠ»ΡŒΠ½Ρ‹Ρ… исполнитСли ΠΏΠΎΡŽΡ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Ρ…ΠΈΡ‚Ρ‹, Π° Π½Π΅ самыС Π½ΠΎΠ²Ρ‹Π΅ пСсни? Π’ΠΎΡ‚ ΠΈ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ самыС ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ особСнности Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования ΠΎΡ‚ΠΊΡ€ΠΎΡŽΡ‚ΡΡ самым стойким ΠΈΠ· Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ — Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ Π½Π΅ бросил Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Π° Π΄ΠΎΡ‡ΠΈΡ‚Π°Π» досюда.

Π˜Ρ‚Π°ΠΊ, пСрвая «Π²ΠΊΡƒΡΠ½ΠΎΡΡ‚ΡŒ». Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ это называСтся функциями Π²Ρ‹ΡΡˆΠΈΡ… порядков, Π² матСматичСском Π°Π½Π°Π»ΠΈΠ·Π΅ (ΠΈΠ»ΠΈ, Ссли Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ, Ρ‚ΠΎ Π² Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ исчислСнии) — Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°ΠΌΠΈ. Π­Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. НС значСния, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ этими функциями, — Π½Π΅Ρ‚-Π½Π΅Ρ‚, ΠΈΠΌΠ΅Π½Π½ΠΎ сами Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» — это производная, Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ — пСрвообразная. ЀактичСски, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹ΡΡˆΠΈΡ… порядков — это Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π°Π½Π°Π»ΠΎΠ³ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки программирования ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ программисту с классами. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ порядка ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΡ‡Π΅Π½ΡŒ просто ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ прилоТСния. НапримСр, ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, которая сама Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ Π½ΡƒΠΆΠ½ΡƒΡŽ Π² зависимости ΠΎΡ‚ Π²ΠΈΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ…. Если придётся Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, Π²Ρ‹ просто Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π½Π΅ измСняя ΠΏΡ€ΠΈ этом ΠΊΠΎΠ΄Π°, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π·Π° Π»ΠΎΠ³ΠΈΠΊΡƒ прилоТСния.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, которая, вСроятно, покаТСтся Π²Π°ΠΌ Π΄Π°ΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ интСрСсной, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΅Ρ‘ Π°Π½Π°Π»ΠΎΠ³ΠΈ Π½Π°ΠΏΡ€ΠΎΡ‡ΡŒ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π² ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… языках. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Π»Π΅Π½ΠΈΠ²Ρ‹Π΅ вычислСния, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ. ЛСнится ΠΏΡ€ΠΈ этом, ΠΏΡ€Π°Π²Π΄Π°, Π½Π΅ программист (программисты ΠΈ Ρ‚Π°ΠΊ сущСства нСвСроятно Π»Π΅Π½ΠΈΠ²Ρ‹Π΅ Π² своём ΠΏΠΎΠ΄Π°Π²Π»ΡΡŽΡ‰Π΅ΠΌ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅), Π° сама ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. Π§Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚? Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΎΡ‚ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ всС вычислСния Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ понадобится ΠΈΡ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ описываСт зависимости Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° (Π½Π΅ забывая ΠΏΡ€ΠΈ этом, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‰ΡŒ, ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹ΡΡˆΠΈΡ… порядков), Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΡƒΠΆΠ΅ сама Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, увСличиваСтся ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ, ΠΎΠΏΡΡ‚ΡŒ-Ρ‚Π°ΠΊΠΈ, ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ΡΡ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΅Ρ‘ Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎ Ρ€Π°ΡΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΡ‚ΡŒ. Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, Π»Π΅Π½ΠΈΠ²Ρ‹Π΅ вычислСния ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π΅ всСми Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ языками (Π½ΠΎ самый популярный ΠΈΠ· Π½ΠΈΡ…, Haskell, ΠΈΡ… ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚) ΠΈ ΠΏΡ€ΠΈ этом ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ языками программирования, Π½Π΅ относящимися ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Python — Π½ΠΎ Ρ‚Π°ΠΌ ΠΎΠ½ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ нСсколько ΠΈΠ½Π°Ρ‡Π΅).

Π•Ρ‰Ρ‘ ΠΎΠ΄Π½Π° Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½Π°Ρ Π΄Π΅Ρ‚Π°Π»ΡŒ языков Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования — это Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΊΠ°Ρ€Ρ€ΠΈΠ½Π³. Π§Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅? ΠžΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ΡΡ, нСсмотря Π½Π° нСсколько аляповатоС ΠΈ ΡƒΡΡ‚Ρ€Π°ΡˆΠ°ΡŽΡ‰Π΅Π΅ нСпосвящённых Π½Π°Π·Π²Π°Π½ΠΈΠ΅, всё ΠΎΡ‡Π΅Π½ΡŒ ΠΈ ΠΎΡ‡Π΅Π½ΡŒ просто. Π­Ρ‚ΠΎ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языков программирования быстро ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠ΅ΡΡ ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠ°ΠΌΠΈ для Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π½Π΅ заставляя ΠΏΡ€ΠΈ этом программиста ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹ΠΉ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. Π’ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Ρ… (ΡΠΈΡ€Π΅Ρ‡ΡŒ ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ…) языках программирования для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΡƒ для ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, программист Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ всС опрСдСлСния Π½ΠΎΠ²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ языки (Π½Π΅ Π±Π΅Ρ€ΡƒΡΡŒ, Π²ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ всС — ΠΈΡ… ΠΌΠ½ΠΎΠ³ΠΎ, ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ быстрСС ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Ссли Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ число ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ· Π½ΠΈΡ… Π½Π° Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ константы.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ-Ρ‚ΠΎ, этими трСмя ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌΠΈ интСрСсныС ΠΈ ΠΌΠΎΡ‰Π½Ρ‹Π΅ особСнности Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языков программирования Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΠΊΠΎΠ½Ρ‡Π°ΡŽΡ‚ΡΡ — Ρ‚Π΅ΠΌΠ° эта благодатная, ΠΈ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ Π½Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΡƒΠ΄Π° дольшС, Ρ‡Π΅ΠΌ ΠΌΠ½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π³Π»Π°Π²Π½Ρ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Π΄ΡƒΠΌΠ°ΡŽ, ΠΏΠΎΡ€Π° ΡΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΈ ΠΏΠΎΠ΄Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΡ‚ΠΎΠ³ΠΈ нашСго с Π²Π°ΠΌΠΈ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Π° ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ — мощная ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ минусы ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования (Π½Ρƒ ΠΈ ΠΏΡ€ΠΈ этом Π½Π°Π»ΠΎΠΌΠ°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Ρ… Π΄Ρ€ΠΎΠ² — ΠΊΡƒΠ΄Π° ΠΆΠ΅ Π±Π΅Π· этого?). Π₯отя сСйчас ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° эта ΠΈ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ популярна Π² индустрии ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Ρƒ Π½Π΅Ρ‘ Π΅ΡΡ‚ΡŒ всС ΡˆΠ°Π½ΡΡ‹ ΡΡ‚Π°Ρ‚ΡŒ ΠΊΡƒΠ΄Π° Π±ΠΎΠ»Π΅Π΅ распространённой, Ρ‡Π΅ΠΌ сСйчас. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΡƒΠΆΠ΅ сСгодня прСдстаёт Π² Π²ΠΈΠ΄Π΅ мноТСства ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ΄ эту ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡƒ языков, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ программисту Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ‚Π°ΠΊΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ вовсС нСдоступны Π² ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… языках. Ну, Π° Π²-Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ…, ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈ Π² Π½Π΅Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языках, дСлая благодаря ΠΈΠΌ свой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π»ΡƒΡ‡ΡˆΠ΅. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡ‚Π΅, заслуТиваСт Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ Π΅Π³ΠΎ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ.

Π’Π°Π΄ΠΈΠΌ Π‘Π’ΠΠΠšΠ•Π’Π˜Π§

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ VS ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (ООП) Π§Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅β€¦.? | by shaistha fathima

ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² ΠΆΠ°Ρ€Π³ΠΎΠ½ Π΄Π°Π½Π½Ρ‹Ρ…, доступных Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅, ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ вмСсто ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚! ΠžΡ‚Π²Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠ²: это скорСС Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅, Ρ‡Π΅ΠΌ вопрос ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ? Π”Π°Π²Π°ΠΉΡ‚Π΅ погрузимся Π² ΠΎΠ±Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ собствСнный Π²Ρ‹Π±ΠΎΡ€!

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” это Ρ„ΠΎΡ€ΠΌΠ° программирования, которая пытаСтся ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ измСнСния состояния ΠΈ измСняСмых Π΄Π°Π½Π½Ρ‹Ρ…. Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ всСгда Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ ΠΏΡ€ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ зависят ΠΎΡ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈ Π·Π° кулисами Π½Π΅ происходит Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π²ΠΎΠ»ΡˆΠ΅Π±ΡΡ‚Π²Π°. Π­Ρ‚ΠΎ называСтся устранСниСм ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Ρ… эффСктов Π² вашСм ΠΊΠΎΠ΄Π΅.

НапримСр, , Ссли Π²Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ getSum(), ΠΎΠ½Π° вычисляСт сумму Π΄Π²ΡƒΡ… Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ сумму. ΠŸΡ€ΠΈ ΠΎΠ΄Π½ΠΈΡ… ΠΈ Ρ‚Π΅Ρ… ΠΆΠ΅ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… для x ΠΈ y ΠΌΡ‹ всСгда Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ для суммы.

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния обслуТивания, Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ структуры Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ прСвосходно, ΠΊΠΎΠ³Π΄Π° Π½Π΅Ρ‚ истории, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ. Π­Ρ‚ΠΎ особСнно Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΠΈΠ»ΠΈ эти Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ ΡƒΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π·Π°Ρ€Π°Π½Π΅Π΅. Он ΠΏΡ€ΠΎΡ†Π²Π΅Ρ‚Π°Π΅Ρ‚ Π² ситуациях, ΠΊΠΎΠ³Π΄Π° состояниС Π½Π΅ являСтся Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ, Π° измСняСмыС Π΄Π°Π½Π½Ρ‹Π΅ практичСски Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ обСспСчиваСт Ρ‚Π°ΠΊΠΈΠ΅ прСимущСства, ΠΊΠ°ΠΊ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ, Π»Π΅Π½ΠΈΠ²Ρ‹Π΅ вычислСния, Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΠ΄ Π±Π΅Π· ошибок, ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Говоря простым языком, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² написании Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ для выполнСния ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ для прилоТСния. КаТдая малСнькая функция выполняСт свою Ρ‡Π°ΡΡ‚ΡŒ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ свою Ρ‡Π°ΡΡ‚ΡŒ. Ѐункция ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎ Π²Ρ‹Π·Π²Π°Π½Π° ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ использована Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ снова ΠΈ снова. Π­Ρ‚ΠΎ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΉ ΠΈ чистый ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π³Π°Ρ€ΠΌΠΎΠ½ΠΈΡ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ вмСстС.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” это ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° программирования, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅Ρ‚Π΅ , ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ для прСдставлСния Π²Π΅Ρ‰Π΅ΠΉ, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅Ρ‚Π΅ (ΠΈΠ½ΠΎΠ³Π΄Π° Π²Π΅Ρ‰ΠΈ ΠΈΠ· Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π°). Π­Ρ‚ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ структурами Π΄Π°Π½Π½Ρ‹Ρ…. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ содСрТат Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ сСбС Π² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°Ρ… . Атрибуты Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π΄Π°Π½Ρ‹ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

НапримСр, , Ρƒ нас ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Person , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт всС Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ΅: вСс, рост, Ρ†Π²Π΅Ρ‚ ΠΊΠΎΠΆΠΈ, Ρ†Π²Π΅Ρ‚ волос, Π΄Π»ΠΈΠ½Ρƒ волос ΠΈ Ρ‚. Π΄. Π­Ρ‚ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹. Π’ΠΎΠ³Π΄Π° Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°-Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ , Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ ΠΊΠΎΡ€ΠΎΠ±ΠΊΡƒ, ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ ΠΊΠΎΡ€ΠΎΠ±ΠΊΡƒ, ΠΏΠΎΠ΅ΡΡ‚ΡŒ, ΠΏΠΎΡΠΏΠ°Ρ‚ΡŒ ΠΈ Ρ‚. Π΄. Π­Ρ‚ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅, хранящиСся Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅.

ОсновноС прСимущСство ООП β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ·Π²Π½Π΅. Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ β€” это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ класса ΠΎΡ‚ внСшнСго доступа, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠΉ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния бСзопасности, Π° Ρ‚Π°ΠΊΠΆΠ΅ с ΡƒΡ‚Π΅Ρ‡ΠΊΠΎΠΉ, Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ»ΠΈ случайным использованиСм. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ программистов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½, говорят, Ρ‡Ρ‚ΠΎ это ΡΡ‚ΠΈΠ»ΡŒ программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сцСнарии Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π°. Π­Ρ‚ΠΎ обСспСчиваСт Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΠΊΠΎΠ΄Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Ρ…ΠΎΡ‡Π΅Ρ‚ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ.

Π›ΡƒΡ‡ΡˆΠ΅Π΅ сравнСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ программирования

ΠœΠΈΠ½ΡƒΡΡ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования…. Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ трСбуСтся Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΠΎΠΉΡ‚ΠΈ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΊΠΎΠ΄Ρƒ с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния. Π›Π΅Π³ΠΊΠΎ ΠΌΡ‹ΡΠ»ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°ΠΌΠΈ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ происходит Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΌΠΈΡ€Π΅. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” это Ρ€Π°Π±ΠΎΡ‚Π° с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ сцСнария Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π° Π² просто Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠΉ.

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ Π΅ΡΡ‚ΡŒ нСсколько ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, извСстно, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ Ρ‚Π°ΠΊΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡ€Π°Π·ΠΎΠ²Ρ‹ΠΉ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π²Π°ΡˆΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ зависят ΠΎΡ‚ класса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚, Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΠΌ классом. Π’Π°ΠΊΠΆΠ΅ извСстно, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΠ΅Π½Π΅Π΅ эффСктивны ΠΈ с Π½ΠΈΠΌΠΈ слоТнСС ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ. Много Ρ€Π°Π· Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ создавались для модСлирования Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ слоТными.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки Ρ…ΠΎΡ€ΠΎΡˆΠΈ, ΠΊΠΎΠ³Π΄Π° Ρƒ вас Π΅ΡΡ‚ΡŒ фиксированный Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ , ΠΈ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ развития вашСго ΠΊΠΎΠ΄Π° Π²Ρ‹ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ добавляСтС Π½ΠΎΠ²Ρ‹Π΅ элСмСнты . Π­Ρ‚ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π½ΠΎΠ²Ρ‹Π΅ классы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ классы Π½Π΅ Ρ‚Ρ€ΠΎΠ³Π°ΡŽΡ‚.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ языки Ρ…ΠΎΡ€ΠΎΡˆΠΈ, ΠΊΠΎΠ³Π΄Π° Ρƒ вас Π΅ΡΡ‚ΡŒ фиксированный Π½Π°Π±ΠΎΡ€ Π²Π΅Ρ‰Π΅ΠΉ , ΠΈ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ развития вашСго ΠΊΠΎΠ΄Π° Π²Ρ‹ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ добавляСтС Π½ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ Π²Π΅Ρ‰Π°ΠΌΠΈ . Π­Ρ‚ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ с ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ Ρ‚Ρ€ΠΎΠ³Π°ΡŽΡ‚.

ΠŸΡ€ΠΎΡ‰Π΅ говоря, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² Ρ€Π°Π·Π½Ρ‹Ρ… Π³Ρ€Π°Π½ΠΈΡ†Π°Ρ…, ООП β€” ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ способ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ всС ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΈ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ ΠΎΡ‚ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ внСшнСго использования. Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ сдСрТиваСтся.

ΠšΡ‚ΠΎ-Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Ρ€Π°Π·ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π²Π΅Ρ‚Π°Π΅Ρ‚ Π²ΠΎ Π²Π½Π΅ΡˆΠ½ΠΈΡ… интСрфСйсах, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ сСрвСрныС части часто ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²ΠΎ Π²Π½Π΅ΡˆΠ½ΠΈΡ… интСрфСйсах. ΠšΠ»ΠΈΠ΅Π½Ρ‚ Π½Π΅ заботится ΠΎ сохранСнии состояний ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Он ΡƒΠΆΠ΅ ΠΈΠΌ прСдоставлСн, вСроятно, Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° JSON. На самом Π΄Π΅Π»Π΅ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ Π² Π½Π°Ρ‡Π°Π»ΠΎ, помСщая ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° дальнСм ΠΊΠΎΠ½Ρ†Π΅, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΡΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π³Ρ€Π°Π½ΠΈΡ†Π΅. Π•Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ, ΠΎΠ±ΠΌΠΎΡ‚Π°Ρ‚ΡŒ Π»Π΅Π½Ρ‚ΠΎΠΉ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π² Π½Π΅ΠΈΠ·Π²Π΅ΡΡ‚Π½ΠΎΡΡ‚ΡŒ.

Как Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ, Ρ‚Π°ΠΊ ΠΈ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ хранСния ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… ΠΈ ​​могут Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡƒΡ‚Π΅ΠΌ создания Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π’ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Π΅ хранятся Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ…. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ программистами ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ.

Π’ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡ‡Π΅Π½ΡŒ слоТно ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, увСличивая ΡƒΡ€ΠΎΠ²Π½ΠΈ наслСдования. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ инкапсуляции ΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ являСтся ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΌ. Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ для выполнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ всСгда трСбуСтся Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π° для выполнСния ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ трСбуСтся ΠΌΠ½ΠΎΠ³ΠΎ памяти.

НаконСц, Π² Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, программисты ΠΈΠ»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ всСгда Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ языка программирования, которая сдСлаСт ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΈ Π»Π΅Π³ΠΊΠΎΠΉ.

Бсылки:

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ООП β€” ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· Π½ΠΈΡ… ΠΏΠΎΠ»Π΅Π·Π½Π΅Π΅

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” это ΠΌΠ΅Ρ‚ΠΎΠ΄ программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π΅Π»Π°Π΅Ρ‚ ΡƒΠΏΠΎΡ€ Π½Π° ΠΎΡ†Π΅Π½ΠΊΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ разработку…

www. educba.com

Π§Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ β€” Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅?

ВСроятно, Π²Ρ‹ Π·Π°Π΄Π°Π»ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ вопрос

medium.com

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования

Когда Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ? Когда Π²Ρ‹ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΠΈΠΏ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния…

stackoverflow.com

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡ‚ΠΈΠ² ООП

Π’ послСднСС врСмя я ΡΠ»Ρ‹ΡˆΠ°Π» ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€ΠΎΠ² ΠΎΠ± использовании Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языков, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Haskell. КакиС самыС ваТныС…

softwareengineering.stackexchange.com

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ? | ΠŸΠ°ΠΊΠ΅Ρ‚ Π₯Π°Π±

Π•ΡΡ‚ΡŒ Π΄Π²Π΅ ΠΎΡ‡Π΅Π½ΡŒ популярныС ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ программирования Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‚ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚. ΠžΠ½ΠΈβ€¦

hub.packtpub.com

Π”Π΅Π±Π°Ρ‚Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Π² Π΄Π²ΡƒΡ… словах для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

К ΠΊΠ°ΠΊΠΎΠΌΡƒ Ρ„Π°ΠΊΡƒΠ»ΡŒΡ‚Π΅Ρ‚Ρƒ Π₯огвартса Π²Ρ‹ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚Π΅? Π’Ρ‹ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π”ΠΆΠ΅ΠΉΠΊΠΎΠ±Π° ΠΈΠ»ΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π­Π΄Π²Π°Ρ€Π΄Π°? ΠœΠ΅ΠΉΠ²Π΅Π·Π΅Ρ€ ΠΈΠ»ΠΈ ΠœΠ°ΠΊΠ“Ρ€Π΅Π³ΠΎΡ€? Какой Π΄ΠΎΠΌ Π² Game of…

medium. com

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ | Advanced R

R ΠΏΠΎ своСй сути прСдставляСт собой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ язык . Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ тСхничСскими свойствами, Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎ, ΠΎΠ½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для стиля Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, сосрСдоточСнного Π½Π° функциях. НиТС я Π΄Π°ΠΌ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€ тСхничСского опрСдСлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ языка , Π½ΠΎ Π² этой ΠΊΠ½ΠΈΠ³Π΅ я ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΡƒΡΡŒ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ стилС программирования, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ‚ΠΈΠΏΠΎΠ² Π·Π°Π΄Π°Ρ‡. Π²Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ ΠΏΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

Π’ послСднСС врСмя Ρ€Π΅Π·ΠΊΠΎ возрос интСрСс ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ эффСктивныС ΠΈ элСгантныС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΈΡ… соврСмСнных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΡŽ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»Π΅Π³ΠΊΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ (Ρ‚. Π΅. ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ), ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΈΡ… часто Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Π³Ρ‡Π΅ автоматичСски ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Ρ€Π°ΡΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΡ‚ΡŒ. Π’Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ нСдостатки Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языков, Π±ΠΎΠ»Π΅Π΅ низкая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° нСпрСдсказуСмоС использованиС памяти, Π² послСдниС Π³ΠΎΠ΄Ρ‹ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΠ»ΠΈΡΡŒ. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ дополняСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±Ρ‹Π»ΠΎ Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠΎΠΉ программирования Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ послСдних Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… дСсятилСтий.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ языки программирования

Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ языкС программирования Π΅ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Π΄Π΅Π»Π°Π΅Ρ‚ язык программирования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ? БущСствуСт ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ язык Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ, Π½ΠΎ Π΅ΡΡ‚ΡŒ Π΄Π²Π° ΠΎΠ±Ρ‰ΠΈΡ… направлСния.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ языки ΠΈΠΌΠ΅ΡŽΡ‚ пСрвоклассных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π΅Π΄ΡƒΡ‚ сСбя ΠΊΠ°ΠΊ любая другая структура Π΄Π°Π½Π½Ρ‹Ρ…. Π’ R это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ с Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ: Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Π·Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ, Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡ… Π² списках, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΡ… Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π΄Ρ€ΡƒΠ³ΠΈΠΌ функциям, ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΡ… Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ Ρ‚. Π΄Π°ΠΆΠ΅ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΈΡ… ΠΊΠ°ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ языки Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±Ρ‹Π»ΠΈ чистыми . Ѐункция являСтся чистой, Ссли ΠΎΠ½Π° удовлСтворяСт Π΄Π²ΡƒΠΌ свойствам:

  • Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ зависят Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚. Β Π΅. Ρ‚Π΅ ΠΆΠ΅ Π²Ρ…ΠΎΠ΄Ρ‹, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ Ρ‚Π΅ ΠΆΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄Ρ‹. Π­Ρ‚ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠ°ΠΊ runif() , read.csv() ΠΈΠ»ΠΈ Sys.time() , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ значСния.

  • Ѐункция Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Ρ… эффСктов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ значСния глобального ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, записи Π½Π° диск ΠΈΠ»ΠΈ отобраТСния Π½Π° экранС. Π­Ρ‚ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ°ΠΊ print() , write.csv() ΠΈ <- .

О чистых функциях Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ Ρ€Π°ΡΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ, Π½ΠΎ, ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ сущСствСнныС нСдостатки: ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ сСбС, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ случайныС числа ΠΈΠ»ΠΈ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ с диска.

Π‘Ρ‚Ρ€ΠΎΠ³ΠΎ говоря, R Π½Π΅ являСтся языком Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования , ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ написания чистых Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Однако Π²Ρ‹, бСзусловно, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ Π² частях своСго ΠΊΠΎΠ΄Π°: Π²Ρ‹ Π½Π΅ Π΅ΡΡ‚ΡŒ для написания чистых Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π½ΠΎ часто Π½ΡƒΠΆΠ½ΠΎ . По ΠΌΠΎΠ΅ΠΌΡƒ ΠΎΠΏΡ‹Ρ‚Ρƒ, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»ΠΈΠ±ΠΎ ΠΎΡ‡Π΅Π½ΡŒ чистыС, Π»ΠΈΠ±ΠΎ ΠΎΡ‡Π΅Π½ΡŒ нСчистыС, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΊΠΎΠ΄Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»Π΅Π³Ρ‡Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ для Π½ΠΎΠ²Ρ‹Ρ… ситуаций.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ

Π’Ρ€ΡƒΠ΄Π½ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Π² стилС , Π½ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ большой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ части, Π° Π·Π°Ρ‚Π΅ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ части с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ΠŸΡ€ΠΈ использовании Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ стиля Π²Ρ‹ ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅ΡΡŒ Ρ€Π°Π·Π»ΠΎΠΆΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ нСзависимо. КаТдая функция, взятая сама ΠΏΠΎ сСбС, проста ΠΈ понятна; ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ обрабатываСтся ΠΏΡƒΡ‚Π΅ΠΌ составлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ‚Ρ€Π΅Ρ… Π³Π»Π°Π²Π°Ρ… ΠΎΠ±ΡΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Ρ‚Ρ€ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ΅ΠΌΠ°, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ части:

  • Π’ Π³Π»Π°Π²Π΅ 9 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Ρ‹ for Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠ² , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ функциями (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, lapply() ), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Π·ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²Ρ…ΠΎΠ΄Π° ΠΈ ΠΎΠ±ΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ Π΅Π΅ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ любого количСства Π²Ρ…ΠΎΠ΄Ρ‹.