scala ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ ΡΠΎ Scala Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΠΈ Π½Π΅ ΠΎΡΠ΅Π½Ρ
ΠΠ²ΡΠΎΡΠΈΠ·ΡΠΉΡΠ΅ΡΡ
ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ ΡΠΎ Scala Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΠΈ Π½Π΅ ΠΎΡΠ΅Π½Ρ
Scala β ΡΡΡΠΎΠ³ΠΈΠΉ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ JVM-based ΡΠ·ΡΠΊ, ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΠ°ΡΡΠΈΠΉ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π ΡΠ·ΡΠΊΠ΅ Π΅ΡΡΡ ΠΊΠ»Π°ΡΡΡ, ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ°, Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Java-ΠΊΠΎΠ΄Π° ΠΈΠ· Scala Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΡΠ΄Π½ΠΎΡΡΠ΅ΠΉ, ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ·ΡΠΊΠΈ ΠΎΡΠ΅Π½Ρ Π±Π»ΠΈΠ·ΠΊΠΈ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠ·ΡΠΊΠ°, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠ΅ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ Π½Π° Π½Π΅ΠΌ ΠΏΠΈΡΠ°ΡΡ.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ
Scala β ΡΠ·ΡΠΊ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π½Π° JVM, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ JDK (ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ 1.6). ΠΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡΡ ΠΎΡΡΡΠ΄Π°. ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ JDK ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΡΠ°ΠΌΠΎΠΉ Scala. Π‘ΠΊΠ°ΡΠ°ΡΡ ΡΠ²Π΅ΠΆΡΡ Π²Π΅ΡΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅. ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ°ΡΡΠΈ β 2.11.6.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΠΈΡ Π½Π°Π΄ΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ Π²
ΠΠ° Windows ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³Π°Ρ:
ΠΡΠΎΠΏΠΈΡΠ°ΡΡ ΡΡΠΈ ΠΎΠΏΡΠΈΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΡ: Control Panel β Advanced System Settings β Environmental Variables.
Π‘ΡΠ°ΡΡ 4 Π½ΠΎΡΠ±ΡΡ, 9 ΠΌΠ΅ΡΡΡΠ΅Π², ΠΠ½Π»Π°ΠΉΠ½, ΠΠ΅cΠΏΠ»Π°ΡΠ½ΠΎ
ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, Π·Π°ΠΏΡΡΡΠΈΠ²:
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π΅ΡΠ»ΠΈ Π²Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΠ΅ sbt, ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ scala, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ±ΠΎΡΠΊΠΈ ΡΠΊΠ°ΡΠ°Π΅Ρ Π΅Π΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ
ΠΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π² ΠΏΠ°ΠΏΠΊΡ src/main/scala ΠΈ src/test/scala ΠΏΠΎ ΠΏΡΡΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² (ΠΊΠ°ΠΊ Π² Java). Π§ΡΠΎΠ±Ρ ΡΠΎΠ±ΡΠ°ΡΡ, ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π² Π»ΡΠ±ΠΎΠΉ ΠΏΠΎΠ΄Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΡ ΠΊΠΎΠ½ΡΠΎΠ»Ρ:
ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±ΡΡΠ½ΠΎ (ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎΡΠΊΡ Ρ Π·Π°ΠΏΡΡΠΎΠΉ Π² Π½Π°ΡΠ°Π»Π΅ β ΡΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°):
ΠΡΠ»ΠΈΡΠ½ΡΠΌ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠΎΠΌ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π±ΡΠ΄Π΅Ρ REPL (Read-Eval-Print-Loop), ΠΈΠ»ΠΈ ΠΏΠΎ-Π΄ΡΡΠ³ΠΎΠΌΡ, ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Π°Ρ ΠΊΠΎΠ½ΡΠΎΠ»Ρ. ΠΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π² Π½Π΅ΠΉ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠ°. ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° REPL Π½Π°Π±Π΅ΡΠΈΡΠ΅ sbt console Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅. ΠΡ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΡΠ΅! ΠΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° Scala ΠΈ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ IDE Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° Scala Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ. Π‘ΠΊΠ°Π»Π° β ΡΠ·ΡΠΊ ΡΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠΎΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ IDE Π±ΠΎΠ»Π΅Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ, ΡΠ΅ΠΌ, ΡΠΊΠ°ΠΆΠ΅ΠΌ, ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π½Π° Java. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π΄Π°ΠΆΠ΅ ΠΏΡΠΎΡΡΠ°Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΠ±Π»Π΅Π³ΡΠΈΡΡ ΠΆΠΈΠ·Π½Ρ. Π‘Π°ΠΌΡΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ IDE Π΄Π»Ρ Scala β ΡΡΠΎ IntelliJ IDEA ΠΈ Eclipse. ΠΠ»Ρ IDEA Π΅ΡΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ ΠΎΡ JetBrains, Π² ΡΠ»ΡΡΠ°Π΅ Ρ Eclipse Π΅ΡΡΡ Π΅Π΅ Π²Π°ΡΠΈΠ°Π½Ρ Scala IDE.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠΈΠΏΡ.
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π½Π° Java Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
ΠΠ΄Π΅ΡΡ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΡΡΠ½ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ Scala:
Π€ΡΠ½ΠΊΡΠΈΠΈ, Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΌΠ΅ΡΠΎΠ΄Ρ
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π½Π° Java:
ΠΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° apply ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ Π²Π½Π΅ΡΠ½Π΅ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠ°ΠΊ Π² Java:
ΠΡΠ΅ ΡΠ΅ΡΡΡΠ΅ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½Ρ. ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ Π½ΠΈΠΌΠΈ, ΠΊΠ°ΠΊ Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ: ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠ°ΡΡΠΈΡΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ ΠΈ Ρ.Π΄., ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Scala ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ (Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ). ΠΠ½ΠΈ ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΠΊ:
ΠΠ»Π°ΡΡΡ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ
Π Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π½Π° Java:
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΠΌ, public ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° Π΄ΠΎΡΡΡΠΏΠ½Ρ Π²ΠΎ Π²ΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡΠ΅, Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ²Π°ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ.
ΠΠ½Π°Π»ΠΎΠ³ Π½Π° Java Π±ΡΠ΄Π΅Ρ ΠΊΡΠ΄Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠ²Π΅Π½.
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΈ ΡΡΠ΅ΠΉΡΡ
ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ override Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π½ΠΎ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΎΡΠΎΡΠ΅ΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠΉ.
ΠΡΡΠ³ΠΈΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΈ ΠΎΡΠ»ΠΈΡΠΈΡ ΠΎΡ Java
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ if / else Π²ΡΠ΅Π³Π΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΡΠΎΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ Π²Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΌ Π±Π»ΠΎΠΊΠ΅. Π‘ΠΊΠΎΠ±ΠΊΠΈ Π²ΠΎΠΊΡΡΠ³ ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Ρ, ΡΠΊΠΎΠ±ΠΊΠΈ Π²ΠΎΠΊΡΡΠ³ ΡΠ΅Π»Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΡΡΠΈΡΡ.
ΠΠ»ΠΎΠΊ try / catch / finally Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π² Scala ΡΠ°ΠΊ:
Π¦ΠΈΠΊΠ»Ρ while Π½ΠΈΡΠ΅ΠΌ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ Π²Π°ΡΠΈΠ°Π½ΡΠ° Π² Java:
Π ΡΠΈΠΊΠ»Ρ for β Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ ΠΏΠΎΡ ΠΎΠΆΠΈ (ΠΎ Π½ΠΈΡ ΠΌΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅):
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠ°ΠΊ, ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ ΠΈ Π½Π°ΡΡΡΠΎΠΈΠ»ΠΈ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π»Ρ Scala, ΠΏΠΎΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠ·ΡΠΊΠ°, ΡΡ ΠΎΠ΄ΡΡΠ²Π° Ρ Java ΠΈ ΠΎΡΠ»ΠΈΡΠΈΡ ΠΎΡ Π½Π΅Π΅. ΠΡΠΎΠ³ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ Π²Π°ΡΠΈΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠΎΠ΄. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, case-ΠΊΠ»Π°ΡΡΡ, pattern-matching ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠ°.
Scala ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ·ΡΠΊ
ΠΡΠ° ΡΡΠ°ΡΡΡ, ΠΊΠ°ΠΊ ΠΈ ΠΌΠΎΠΉ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΠΏΠΎΡΡ, Π½Π΅ ΠΏΠΎΡ ΠΎΠΆΠ° Π½Π° ΡΠΎ, ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠ±Π»ΠΈΠΊΡΡΡ Π½Π° Π₯Π°Π±ΡΠ΅. ΠΠ΄Π΅ΡΡ Π½Π΅ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π½ΠΎΠ²ΡΡ ΠΈΠ»ΠΈ ΡΡΠ°ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ, Ρ Π½Π΅ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Ρ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΠΠ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΠΎΡΡΠΈ Π½Π΅Ρ. Π― Ρ ΠΎΡΡ ΠΏΡΠΈΠ³Π»Π°ΡΠΈΡΡ Π²Π°Ρ ΠΊ Π΄ΠΈΡΠΊΡΡΡΠΈΠΈ ΡΡΠΎΠΈΡ Π»ΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Ρ ΡΠ·ΡΠΊΠ° Scala.
ΠΠ΅Π½Ρ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡΠΎΡΡΡ Π½Π°ΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΠΎΠΌΠΎΡΡ Ρ ΠΏΠΎΠΈΡΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΠΊΡΡΡΠ°. Π― Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΎ ΡΠΊΠ°Π»ΠΎΠΉ, Π½ΠΎ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Scala 3 β ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΡΠ·ΡΠΊ, Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Ρ Π½Π΅Π³ΠΎ, Π΅ΡΠ»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠΎΡΡΠ°Π²ΠΈΡΡ ΠΊΡΡΡ. ΠΡΡ ΡΠ·ΡΠΊΠΎΠ²Π°Ρ ΠΌΠΎΡΡ ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π½Π΅ Π½ΡΠΆΠ½Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠ΅ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ, Π½ΠΎ Π΅ΠΌΡ ΠΈ Π½Π΅Π·Π°ΡΠ΅ΠΌ ΠΎ Π½ΠΈΡ Π·Π½Π°ΡΡ. ΠΠ° ΡΠΊΠ°Π»Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΠΊΠΎΠ΄, ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Π½Π°ΡΠ°ΡΠΈΠ²Π°Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ.
Π― ΡΠΎΠ³Π»Π°ΡΠ΅Π½ Ρ ΡΠ΅ΠΌΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ, ΠΊΡΠΎ ΡΡΠΈΡΠ°Π΅Ρ ΡΡΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ΅Π½ ΡΠΎΠ»ΠΊΠΎΠ²ΡΠΉ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Ρ. ΠΡΠΎ Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎ. ΠΠ»ΠΈ ΡΠ°Π»Π°Π½ΡΠ»ΠΈΠ²ΡΠΉ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π·Π±ΠΈΡΠ°Π΅ΡΡΡ Π² ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ΅, ΠΈΠ»ΠΈ Ρ ΠΎΡΠΎΡΠ°Ρ ΠΊΠ½ΠΈΠΆΠΊΠ°, ΠΈΠ»ΠΈ ΡΠΎΠ»ΠΊΠΎΠ²ΡΠΉ ΠΊΡΡΡ ΠΏΡΠΎΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ. ΠΠ½Π°ΡΠ΅ Π΅ΡΡΡ ΡΠΈΡΠΊ Π·Π°Ρ Π»Π΅Π±Π½ΡΡΡΡΡ, ΡΠ°ΠΊ ΠΈ Π½Π΅ Π½Π°ΡΡΠΈΠ²ΡΠΈΡΡ ΠΏΠ»Π°Π²Π°ΡΡ.
Π ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Ρ ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ Scala β ΡΡΠΎ ΡΠ·ΡΠΊ Π±ΡΠ΄ΡΡΠ΅Π³ΠΎ.
ΠΠ΅ΡΡΠ½ΠΈΡΠ° Π² Π»ΠΎΠ³ΠΎΡΠΈΠΏΠ΅ ΠΎΡΡΡΠ»Π°Π΅Ρ ΠΊ ΠΈΠ½ΡΡΠΈΡΡΡΡ EPFL Π² ΠΠΎΠ·Π°Π½Π½Π΅. Π’Π°ΠΌ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π»ΠΈ ΡΡΠΎΡ ΡΠ·ΡΠΊ
ΠΡΠ»ΠΈ ΠΊΠΎΡΠΎΡΠΊΠΎ, ΡΠΎ Scala β ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π°ΡΡΠΈΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ Π±ΡΠ΄ΡΡΠ΅Π΅
Π£ΠΌΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ
Π£ ΡΠΊΠ°Π»Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ ΡΠΌΠ½ΡΡ ΠΈ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ². ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΌ Π±ΠΈΠ»Π΄Π°ΠΌ (ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π² ΠΏΠ΅ΡΠ²ΡΡ Π²Π΅ΡΡΠΈΡΡ ΡΠ·ΡΠΊΠ°), ΠΈ Π·Π° ΡΡΠΎ ΡΠΊΠ°Π»Ρ Ρ Π΅ΠΉΡΡΡ. ΠΠΎ Π·Π°ΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠ΄Π°ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ Π°Π½Π°Π»ΠΈΠ·Ρ ΠΊΠΎΠ΄Π°, ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ Π΅Π³ΠΎ Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ, ΡΡΠΎ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°. ΠΡΠ° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ β Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡΠ΅Π³ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΈ ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ.
Π‘ΠΊΠ°Π»Π° β ΡΡΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ·ΡΠΊ, Π³Π΄Π΅ Ρ ΠΏΠΈΡΡ ΠΊΠΎΠ΄, ΠΈ ΠΎΠ½ ΡΡΠ°Π·Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±Π΅Π· ΡΡΠΎΠΌΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠΈ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΠ°ΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π½Π΅ Π²ΡΠ΅Π³Π΄Π°, Π½ΠΎ Ρ Π΄ΠΆΠ°Π²ΠΎΠΉ, Π΄ΠΆΠ°Π²Π°ΡΠΊΡΠΈΠΏΡΠΎΠΌ, ΡΠΈ, ΠΏΠ°ΡΠΊΠ°Π»Π΅ΠΌ ΠΈ Π±Π΅ΠΉΡΠΈΠΊΠΎΠΌ ΡΠ°ΠΊ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ»ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π°. Π― Π»ΡΠ±Π»Ρ Π³ΠΎΠ²ΠΎΡΠΈΡΡ, ΡΡΠΎ Π΄ΠΆΠ°Π²Π° β ΡΡΠΎ ΡΠ·ΡΠΊ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°, Π° ΡΠΊΠ°Π»Π° β ΡΡΠΎ ΡΠ·ΡΠΊ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°.
JVM-ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ°
ΠΠ°ΠΊ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΠΠΆΠ΅ΠΉΠΌΡ ΠΠΎΡΠ»ΠΈΠ½Π³, ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ ΡΠ·ΡΠΊΠ° Π΄ΠΆΠ°Π²Π°, ΡΡΠΈΡΠ°Π΅Ρ ΡΠ°ΠΌΠΎΠΉ Π»ΡΡΡΠ΅ΠΉ Π΅Π΅ ΡΠ°ΡΡΡΡ Π΄ΠΆΠ°Π²Π°-ΠΌΠ°ΡΠΈΠ½Ρ. ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ² ΠΏΠΎΡΡΠ°ΡΠΈΠ»ΠΎ Π΄Π΅ΡΡΡΠΊΠΈ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎ-Π»Π΅Ρ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ ΠΈ Π΄ΠΎΡΡΠΈΠ³Π»ΠΈ ΡΠΊΠΎΡΠΎΡΡΠ΅ΠΉ, Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠ΅Π²ΡΡΠ°ΡΡΠΈΡ Π‘ΠΈ++. ΠΠΎΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ JVM Π² ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ , Π² Π½Π΅ΠΌ ΡΠ°ΡΠ΅ ΠΏΠΎΠ±Π΅ΠΆΠ΄Π°Π΅Ρ Π½Π°ΡΠΈΠ²Π½ΡΠΉ ΠΊΠΎΠ΄ Π½Π° Π‘ΠΈ, Π½ΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ±Π΅Π΄ΠΈΠ»Π° JVM: Java vs C app performance.
ΠΠ° Android 6 AArch64 JVM ΠΏΠΎΠ±Π΅Π΄ΠΈΠ»Π° Π‘ΠΈ Π² ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΡ
, Ρ
ΠΎΡΡ ΠΈ ΠΏΡΠΎΠΈΠ³ΡΠ°Π»Π° Π²ΠΎ Π²ΡΠ΅Ρ
Π΄ΡΡΠ³ΠΈΡ
Π²ΠΈΠ΄Π°Ρ
Java Memory Model (ΠΠΎΠ΄Π΅Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ) β ΡΡΠΎ Π·ΡΠ΅Π»Π°Ρ, Π½Π΅ΠΏΡΠΎΡΠΈΠ²ΠΎΡΠ΅ΡΠΈΠ²Π°Ρ, ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½Π°Ρ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π³ΠΎΠ΄Π°ΠΌΠΈ ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ ΡΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π΄Π°ΠΆΠ΅ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΌ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π° Π΄ΠΆΠ°Π²Π΅ Π½Π°ΠΏΠΈΡΠ°Π½Ρ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ· ΡΠΊΠ°Π»Ρ ΠΈΠ»ΠΈ Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π² Π½Π΅Π΅ ΡΡΠ°Π½ΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ.
ΠΡΡΠ°ΡΠΈ, ΠΠΆΠ΅ΠΉΠΌΡΡ ΠΠΎΡΠ»ΠΈΠ½Π³Ρ ΡΠΊΠ°Π»Π° ΡΠΎΠΆΠ΅ Π½ΡΠ°Π²ΠΈΡΡΡ.
ΠΠΎ Π² ΡΡΠΎΠΌ Π²ΡΠ΅ΠΌ Π΅ΡΡΡ ΠΈ ΠΌΠΈΠ½ΡΡΡ. ΠΠ°ΠΊ ΠΌΡ Π·Π½Π°Π΅ΠΌ, Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ ΠΏΡΠΎΡΠ΅ΠΊΠ°ΡΡ, ΠΈ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΠΊΠ°Π»Π΅, Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°ΡΡ ΠΊΠ°ΠΊ ΡΡΡΡΠΎΠ΅Π½Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° Π΄ΠΆΠ°Π²Π°, ΠΈ ΡΡΠΈΡΡΠ²Π°ΡΡ Π΅Π΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Type Erasure. ΠΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠΉ ΠΌΠΈΠ½ΡΡ, Π½ΠΎ ΠΏΠ»ΡΡΡ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ JVM Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΠΈΠ²Π°ΡΡ.
ΠΠ²ΠΎΠ»ΡΡΠΈΡ vs ΡΠ΅Π²ΠΎΠ»ΡΡΠΈΡ
Π ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠΊΠ°Π»Ρ ΠΏΡΠΈΠ½ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ»Π°Π±ΡΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π΄ΠΆΠ°Π²ΠΎΠΉ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Π² ΡΠΎΡΠΌΠ΅ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π΅ Π½Π° Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ ΡΠ·ΡΠΊΠ° ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΈΠ±Π΅Π³Π°ΡΡ ΠΊ ΠΊΡΠΎΡΡ-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΡΠΈΠΉ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΡ Π΄Π»Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π²Π΅ΡΡΠΈΠΉ ΡΠ·ΡΠΊΠ°. ΠΡΠΎ, Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎ, ΠΌΠΈΠ½ΡΡ.
ΠΠΎ Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π±ΡΡΡΡΠΎΠ΅ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎΠ΅ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΡΠ·ΡΠΊΠ°, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΅Π±Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ Π΄ΠΆΠ°Π²Π°. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ Ρ Π΄ΡΠΌΠ°Ρ ΡΡΠΎ Π±ΡΠ΄ΡΡΠ΅Π΅ β Π·Π° ΡΠΊΠ°Π»ΠΎΠΉ.
Π ΡΠΎΠΌΡ ΠΆΠ΅, Π² Scala 3 ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° TASTY, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡΠ°ΠΌ, ΡΠΎΠ±ΡΠ°Π½Π½ΡΠΌ ΡΠ°Π·Π½ΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°. Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ Π½Π΅Ρ Π½ΡΠΆΠ΄Ρ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ Π² ΡΡΠΎΠΌ.
Scala 3
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»Π°Π±ΡΠΌ Π³Π°ΡΠ°Π½ΡΠΈΡΠΌ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ·ΡΠΊΠ° ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΌΠΎΡΡΠ΅ΡΡ Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Ρ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ.
ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠΌ ΠΏΠΎΡΡΠ»ΠΎΠΌ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΊΠ°Π»Ρ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ·ΡΠΊ ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΡΡΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ. ΠΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΠ» Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π³ Π²ΠΏΠ΅ΡΠ΅Π΄.
ΠΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΏΡΠΈΠ½ΡΡΡΠ΅ Π±ΠΎΠ»Π΅Π΅ 15 Π»Π΅Ρ Π½Π°Π·Π°Π΄, Π±ΡΠ»ΠΈ Π½Π΅Π²Π΅ΡΠ½ΡΠΌΠΈ ΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΈ ΠΊ Π½Π΅ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎΠΌΡ, Π»ΠΈΠ±ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠ²Π½ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ. Π ΡΠ΅ΠΉΡΠ°Ρ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»ΠΈ ΡΠ·ΡΠΊΠ° Π΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»ΡΡΡΠ΅. ΠΠΎΡΠ»Π΅ ΡΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ°Π½ΡΡ ΡΠΊΠ°Π»Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°ΠΌΠ΅ΡΠ½ΠΎ Π²ΡΡΠ°ΡΡΠ°ΡΡ.
Π― ΡΠΆΠ΅ ΠΏΠ°ΡΡ Π»Π΅Ρ Ρ Π½Π΅ΡΠ΅ΡΠΏΠ΅Π½ΠΈΠ΅ΠΌ ΠΆΠ΄Ρ Π΅Π³ΠΎ Π²ΡΡ ΠΎΠ΄Π° ΠΈ ΠΌΠ΅ΡΡΠ°Ρ Π½Π°ΡΠ°ΡΡ ΠΏΠΈΡΠ°ΡΡ Π½Π° Π½ΡΠΌ. ΠΠΎΡ ΡΠΆΠ°ΡΡΠΉ ΡΠ°ΡΡΠΊΠ°Π· ΠΠ°ΡΡΠΈΠ½Π° ΠΠ΄Π΅ΡΡΠΊΠΈ ΠΏΡΠΎ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ ΡΠ·ΡΠΊΠ°: Countdown to Scala 3 by Martin Odersky. ΠΠ»Ρ ΠΎΠΏΡΡΠ½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² β ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π°Ρ ΡΡΠ°ΡΡΡ Annoying things in Scala 2 thatβll be (mostly) gone in Scala 3
Dependent Object Types β ΡΡΠΎ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Ρ ΡΠ·ΡΠΊΠ° Scala 3, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠ΅ Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΠ°ΡΡΠΈΠ½ΠΎΠΌ ΠΠ΄Π΅ΡΡΠΊΠΈ. ΠΠ°Π»ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΡΠ·ΡΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡ Π²Π°ΡΡΠ°ΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΡΠ½ΡΠΌ ΠΈΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ΠΌ, Π»Π΅ΠΆΠ°ΡΠ΅ΠΌ Π² Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π΅.
ΠΠ°ΡΡΠΈΠ½ ΠΠ΄Π΅ΡΡΠΊΠΈ
Π‘ΠΎΠ³Π»Π°ΡΠΈΡΠ΅ΡΡ, ΠΏΡΠΈΡΡΠ½ΠΎ ΡΡΠΈΡΡ ΡΠ·ΡΠΊ Ρ ΡΠ°ΠΊΠΈΠΌ Π±ΡΠΊΠ³ΡΠ°ΡΠ½Π΄ΠΎΠΌ, Ρ ΠΎΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ Π·Π½Π°ΡΡ ΠΎ Π½ΡΠΌ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ.
ΠΡΡΠ°Π·ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΠΎΡΡΡ
Π’ΠΎ, ΡΡΠΎ Ρ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π»ΡΠ±Π»Ρ Π² ΡΠ·ΡΠΊΠ΅ β ΡΡΠΎ Π΅Π³ΠΎ ΡΠΆΠ°ΡΠΎΡΡΡ ΠΈ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΠΎΡΡΡ. Π― Π½Π΅Π½Π°Π²ΠΈΠΆΡ Π΄Π»ΠΈΠ½Π½Π΅ΠΉΡΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄ΠΆΠ°Π²Ρ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠ²Π½ΠΎ ΠΎΠ±ΡΡΡΠ½ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΏΡΠΎΡΡΡΠ΅ Π²Π΅ΡΠΈ. ΠΠΎΡ Π»ΡΠ±ΠΈΠΌΠ°Ρ ΡΡΡΠΊΠ° ΠΏΡΠΎ Π΄ΠΆΠ°Π²Ρ β ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠΉ ΡΠ·ΡΠΊ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°Π½-Π»Π°ΠΉΠ½Π΅Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΎΠΊΠΎΠ»ΠΎ 30 ΡΡΡΠΎΠΊ. Π’Π°ΠΊ Π²ΠΎΡ, Π² ΡΠΊΠ°Π»Π΅ ΡΠ°Π½-Π»Π°ΠΉΠ½Π΅Ρ β ΡΡΠΎ ΡΠ°Π½-Π»Π°ΠΉΠ½Π΅Ρ.
Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π²Π°ΠΆΠ½ΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΎΠΏΡΡΠ½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Π½ΠΎ ΠΈ Π΄Π»Ρ ΡΠ΅Ρ ΠΊΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΡΡΠ°Π΅Ρ ΡΠ·ΡΠΊ. ΠΡΠΌΠ°Ρ, Π²ΡΡΠ°Π·ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ β ΡΡΠΎ ΡΠ° ΠΏΡΠΈΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°ΠΊ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΡΠ΅ ΡΠ·ΡΠΊΠΈ. Π£Π²Π΅ΡΠ΅Π½, ΡΠΊΠ°Π»Π° ΡΠΏΠΎΡΠΎΠ±Π½Π° Ρ Π½ΠΈΠΌΠΈ Π² ΡΡΠΎΠΌ ΠΏΠΎΡΠΏΠΎΡΠΈΡΡ. Π Π΄Π°ΠΆΠ΅ ΡΠ°ΠΌΠ° ΠΏΠΎΡΠ»ΡΠΆΠΈΡΡ ΠΎΡΠ»ΠΈΡΠ½ΡΠΌ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ.
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΠΎΡΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°Π½ΠΎΡΠΈΡΡ ΡΡΠ΅ΡΠ± ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΠΈ ΠΊΠΎΠ΄Π°. Π’Π°ΠΊΠΈΡ Π½Π΅ΡΠ΄Π°ΡΠ½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΠ»Π½ΠΎ, Π²ΡΠΏΠΎΠΌΠ½ΠΈΠΌ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΏΠ°ΡΡΠ΅ΡΠ½-ΠΌΠ°ΡΡΠΈΠ½Π³ ΠΈ ΠΏΠ°ΡΡΠ΅Ρ-ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΎΡΡ. ΠΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΠΈ Π·Π½Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΌΠ½ΡΡ ΡΠ»ΠΎΠ². ΠΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠΎΠ΄, Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΠ³ΠΎ Π·Π½Π°ΡΡ Π½Π΅ Π½Π°Π΄ΠΎ. ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠΊΠ°Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΌ, ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ.
ΠΠΎΡ ΠΌΠΎΠΉ Π»ΡΠ±ΠΈΠΌΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° ΡΠΊΠ°Π»Π΅. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΎΠ½ Π½Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²:
Π Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ·ΡΠΊΠ° Π΄Π°ΠΆΠ΅ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΈΡΠ°ΡΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ, Π΅ΡΠ»ΠΈ Π΅ΡΡΡ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅. ΠΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ
ΠΠΎ-ΠΌΠΎΠ΅ΠΌΡ ΡΡΠΎ ΡΠ°ΠΌΠΎΠ΅ Π²Π°ΠΆΠ½ΠΎΠ΅, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ Π½Π΅ ΡΡΠΎΠΈΡ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ ΡΠ±Π»ΠΎΠΊΠΈ Ρ Π°ΠΏΠ΅Π»ΡΡΠΈΠ½Π°ΠΌΠΈ.
ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄ Π½Π΅ ΡΡΠΎΠΈΡ Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΠΠΈΡΠΎΠ½Π°, Π ΡΠ±ΠΈ, ΠΠΆΠ°Π²Π°ΡΠΊΡΠΈΠΏΡΠ°, Π‘ΠΈ ΠΈ Π‘ΠΈ++. ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ β ΡΡΠΎ Π²Π΅ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π²ΡΡΡΡΠ΅Π»ΠΈΡΡ ΡΠ΅Π±Π΅ Π² Π½ΠΎΠ³Ρ.
ΠΡΡΠ³ΠΎΠ΅ Π΄Π΅Π»ΠΎ, ΡΡΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ Π½Π΅ΡΠ΄ΠΎΠ±Π½Π°, Π½Π΅ΠΎΡΠ΅Π²ΠΈΠ΄Π½Π° ΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π±ΠΎΠΉΠ»Π΅Ρ-ΠΏΠ»Π΅ΠΉΡΠ°. Π‘ΠΊΠ°Π»Π° Π²ΠΏΠΎΠ»Π½Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ ΡΡΠΈΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ² Π² ΠΏΡΠΎΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ .
ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β ΡΡΠΎ ΡΠ°ΠΌΠ°Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°Ρ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ°, Π±Π΅Π· ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π΅ ΠΎΠ±Ρ ΠΎΠ΄ΠΈΡΡΡ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π ΡΠΊΠ°Π»Π΅ ΡΡΠ° ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ° ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΈΡΡΡΠ° ΡΠ·ΡΠΊΡ, Π² ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ ΠΠΈΡΠΎΠ½Π°, Π‘ΠΈ/Π‘ΠΈ++ ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΌ-ΡΠΎ ΡΠΌΡΡΠ»Π΅ Π΄ΠΆΠ°Π²Π°ΡΠΊΡΠΈΠΏΡΠ°. Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΡΠ΅ΠΉΡΠ°Ρ Ρ ΡΡΠΈΡ ΡΠ·ΡΠΊΠΎΠ² Ρ ΠΠΠ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ.
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΎΠ±Π΅ΡΠ°ΡΡΠ°Ρ ΡΠ΅Π½Π΄Π΅Π½ΡΠΈΡ. Π‘ΠΊΠ°Π»Π΅ ΠΎΠ½Π° ΠΏΡΠΈΡΡΡΠ° Π² Π½Π΅ ΠΌΠ΅Π½ΡΡΠ΅ΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΡΠ΅ΠΌ ΠΠΠ, ΠΈ ΠΎΠ½ΠΈ Π²Π·Π°ΠΈΠΌΠ½ΠΎ ΠΎΠ±ΠΎΠ³Π°ΡΠ°ΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π° Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ ΡΠ·ΡΠΊΡ. Π ΠΈΡΠΊΠ½Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ, ΡΡΠΎ ΡΠΊΠ°Π»Π° β ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ. Π‘Π΅ΠΉΡΠ°Ρ Π·Π° Π½ΠΈΠΌ ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°Π΅ΡΡΡ ΠΠΎΡΠ»ΠΈΠ½ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΠ΅ ΡΠ·ΡΠΊΠΈ.
ΠΠ°ΡΠΈΠ½Π°ΡΡΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΡΠΎΠΈΡ ΡΠ·Π½Π°ΡΡ ΠΏΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅, ΡΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΈΡΠ°ΡΡ Π³ΠΈΠ±ΠΊΠΈΠΉ, Π½Π°Π΄Π΅ΠΆΠ½ΡΠΉ ΠΈ Ρ ΠΎΡΠΎΡΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠ΄. ΠΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ Π°Π±ΡΠΎΠΏΠΎΡΡΠΎΠ² ΠΎ Π½ΡΠΌ:
ΠΠΌΠΌΡΡΠ°Π±Π΅Π»ΡΠ½ΠΎΡΡΡ
ΠΠΎΠΎΠ±ΡΠ΅-ΡΠΎ ΡΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΡΠΌ ΠΏΡΠΈΠ²ΠΈΠ²Π°ΡΡ ΡΠΌΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΌΠΈ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°ΡΠ°Π»Π°. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠΉ ΠΊΠΎΠ΄. Π Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠΉ.
Π Π°ΡΡΠΈΡΡΠ΅ΠΌΠΎΡΡΡ
ΠΠ°ΠΊ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ° ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΏΡΠ΅ΠΏΠΎΠ΄Π½ΠΎΡΠΈΠ»ΠΎΡΡ ΠΊΠ°ΠΊ Π°Π±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΠ° Scalable Language. ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΈΡΠ°ΡΡ Π³ΠΈΠ±ΠΊΠΈΠ΅ ΠΈ ΠΊΡΠ°ΡΠΈΠ²ΡΠ΅ DSL, ΡΠ΄ΠΎΠ±Π½ΡΠ΅ Π΄Π°ΠΆΠ΅ Π΄Π»Ρ Π½Π΅-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ², Π²ΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ Π΄ΡΡΠ³ Π² Π΄ΡΡΠ³Π°, ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΠΏΡΠΎΡΡΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ.
Π§Π°ΡΡΠΎ ΡΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΡΠΈΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΏΠΎΠ²ΡΡΠ°Ρ ΠΏΠΎΡΠΎΠ³ Π²Ρ ΠΎΠ΄Π° Π² ΠΈΡ API. ΠΠΎ Π² ΡΠΌΠ΅Π»ΡΡ ΡΡΠΊΠ°Ρ ΡΠ°ΠΊΠ°Ρ Π³ΠΈΠ±ΠΊΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ Π² Π±ΠΎΠ»ΡΡΠΎΠ΅ Π±Π»Π°Π³ΠΎ. ΠΠΏΡΡΠ½ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΌΠΎΠ³Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½Π° Scala ΠΏΡΠΎΡΡΠΎΠ΅ ΠΈ ΡΠ΄ΠΎΠ±Π½ΠΎΠ΅ API, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ Π·Π°ΠΌΠ΅ΡΠ½ΠΎ ΠΎΠ±Π»Π΅Π³ΡΠ°Ρ ΠΆΠΈΠ·Π½Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ.
Π ΡΠ΅Π»ΠΎΠΌ ΡΠ·ΡΠΊ ΡΠΊΠ°Π»Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠΎΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΈ ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΡΡΠΎΡΠΎΠ½Π° ΡΡΠΎΠ³ΠΎ β Π²ΡΡΠΎΠΊΠΈΠΉ ΠΏΠΎΡΠΎΠ³ Π²Ρ ΠΎΠ΄Π°, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π² ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ Ρ ΠΎΡΠΎΡΠ΅Π³ΠΎ ΠΊΡΡΡΠ°, ΡΡΠ΅Π±Π½ΠΈΠΊΠ°, ΠΈΠ»ΠΈ Π½Π°ΡΡΠ°Π²Π½ΠΈΠΊΠ°.
ΠΠΎ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Ρ Ρ ΠΎΡΠΎΡΠΈΠΌ Π½Π°ΡΡΠ°Π²Π½ΠΈΠΊΠΎΠΌ ΠΈΠ»ΠΈ ΡΡΡΠΎΡΠΈΠ°Π»ΠΎΠΌ Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΈΠ·ΡΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΡΠ·ΡΠΊΠ° ΡΠΊΠ°Π»Π° ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ²ΡΡΠΊΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠΈ, ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΈΠΌΠΌΡΡΠ°Π±Π΅Π»ΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ .
ΠΡΡΠΎΡΠ½ΠΈΠΊ: https://prwatech.in/blog/apache-spark/introduction-to-scala-programming-language/
Π ΡΠ½ΠΎΠΊ Π²Π°ΠΊΠ°Π½ΡΠΈΠΉ
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π²Π°ΠΊΠ°Π½ΡΠΈΠΉ Π΄Π»Ρ ΡΠΊΠ°Π»Π°-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ Π΄Π»Ρ Π΄ΠΆΠ°Π²Π°-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ². ΠΠΎ Π·Π°ΡΠΎ Scala Π²ΡΡΠ΅ ΠΎΠΏΠ»Π°ΡΠΈΠ²Π°Π΅ΡΡΡ.
https://insights.stackoverflow.com/survey/2019
ΠΠΎΡ Π²Π°ΠΌ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ° ΠΏΡΠΎ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΊΠ°Π»Ρ:
ΠΡΡΠΎΡΠ½ΠΈΠΊ: https://prwatech.in/blog/apache-spark/introduction-to-scala-programming-language/
ΠΠΎΠΈ ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΊΠ½ΠΈΠΆΠΊΠΈ
Π‘Π°ΠΌΠ°Ρ Π»ΡΡΡΠ°Ρ ΠΊΠ½ΠΈΠΆΠΊΠ° ΠΏΡΠΎ ΡΠΊΠ°Π»Ρ, ΠΊΠΎΡΠΎΡΡΡ Ρ ΡΠΈΡΠ°Π» β Scala by Example ΠΠ°ΡΡΠΈΠ½Π° ΠΠ΄Π΅ΡΡΠΊΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½Π½Π°Ρ ΡΠΆΠ΅ 10 Π»Π΅Ρ Π½Π°Π·Π°Π΄. ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π½Π°ΡΠΈΠ½Π°ΡΡ ΡΠ΅ΠΉΡΠ°Ρ ΡΠΈΡΠ°ΡΡ ΠΊΠ½ΠΈΠ³Ρ ΠΏΠΎ ΡΠΊΠ°Π»Π΅, ΠΎΡΠ΅Π½Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ ΡΡΠΎ ΠΎΠ½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π° Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ Scala 3.
Π Π»ΡΠ±ΠΈΠΌΡΠΉ ΠΊΡΡΡ β ΡΡΠΎ Functional Programming in Scala, Ρ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΠ» Π΅Π³ΠΎ Π² ΡΠ°ΠΌΠΎΠΉ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ, Ρ ΡΠ΅Ρ ΠΏΠΎΡ ΠΎΠ½, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΠΏΠ΅Π» ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡΡ. ΠΠ΅ΡΠ²ΡΠ΅ ΡΡΠΎΠΊΠΈ ΡΡΠΎΠ³ΠΎ ΠΊΡΡΡΠ° ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡΡ Π²ΡΠ΅ Π½Π° ΡΠΎΠΉ ΠΆΠ΅ Scala by Example. Π‘Π΅ΠΉΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΊΡΡΡΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π°Π΄ Π΅Π³ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΈΠ³ΡΠ°ΡΡ ΡΠΊΠ°Π»ΠΎΠΉ ΠΈΠ»ΠΈ Π΄ΠΎΡΡΠΈ, Π½Π΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Ρ IDE β Π΄ΠΎΠ±ΡΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°ΡΡ Π² Scastie.
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°
ΠΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΊΠΎΡΠΎΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° ΡΠΊΠ°Π»Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π²ΠΎΡ Π² ΡΡΠΎΠΌ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠΈ: Samples of Scala and Java code where Scala code looks simpler/has fewer lines? ΠΠΎΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ :
Scala
Java 8
Java 7
ΠΠΎΡΡΡΠΏΡ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠ°
ΠΠ° ΠΏΡΠΎΡΠ°Π½ΡΠ΅ β ΡΡΡΠΊΠ° ΠΠ΅Ρ Π₯ΠΎΡΡΡΠΌΠ°Π½Π° Β«The March of ProgressΒ»
1980: C
1988: C++
1996: Java
2004: Java
2008: Scala and Groovy
2012: Scala 2.10
ΠΠ° ΡΡΠΎΠΌ Ρ ΡΠΈΡΠΊΠ½Ρ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΏΠΎΡΡ, Π½ΠΎ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΏΠ»Π°Π½ΠΈΡΡΡ Π΅Π³ΠΎ Π΄ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΏΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ Ρ Π²Π°ΠΌΠΈ.
12 Ρ ΠΎΡΠΎΡΠΈΡ ΠΊΡΡΡΠΎΠ² ΠΏΠΎ Scala Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ ΡΠΆΠ΅ ΡΡΠΎ-ΡΠΎ Π·Π½Π°Π΅Ρ
Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Scala Π³ΡΠΎΠΌΠΊΠΎ Π·Π°ΡΠ²ΠΈΠ» ΠΎ ΡΠ΅Π±Π΅ Π² 2010-Π΅ Π³ΠΎΠ΄Ρ. Π‘Π΅ΠΉΡΠ°Ρ Π°ΠΆΠΈΠΎΡΠ°ΠΆ Π²ΠΎΠΊΡΡΠ³ Π½Π΅Π³ΠΎ ΡΠΏΠ°Π», Π½ΠΎ Π·Π°Π±ΡΠ²Π°ΡΡ ΠΎ Scala ΡΠΎΡΠ½ΠΎ Π½Π΅ ΡΡΠΎΠΈΡ. ΠΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ ΡΠ·ΡΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Twitter, LinkedIn, WhatsApp. Scala-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅ ΡΠ°ΠΊ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Ρ ΠΊΠ°ΠΊ ΠΈΡ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ, ΠΏΠΈΡΡΡΠΈΠ΅ Π½Π° Python ΠΈΠ»ΠΈ Java, Π½ΠΎ Ρ ΠΎΡΠΎΡΠΈΠΉ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π½ΠΈΡΡΡΡ Π²ΡΡΠΎΠΊΠΎ, Π° Π·Π½Π°Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ° ΡΡΠ°Π½Π΅Ρ Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΡΠΌ ΠΏΠ»ΡΡΠΎΠΌ Π² ΡΠ΅Π·ΡΠΌΠ΅. Π ΠΏΠΎΠΌΠΎΡΡ ΡΠ΅ΠΌ, ΠΊΡΠΎ Ρ ΠΎΡΠ΅Ρ ΠΏΠΎΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠ΄Ρ Π°Π΄Π΅ΠΏΡΠΎΠ² Scala, Digitaldefynd ΡΠΎΡΡΠ°Π²ΠΈΠ» (Π° ΠΌΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ) ΠΏΠΎΠ΄Π±ΠΎΡΠΊΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΊΡΡΡΠΎΠ² ΠΈ ΡΡΠ΅Π½ΠΈΠ½Π³ΠΎΠ² ΡΠ°Π·Π½ΡΡ ΡΡΠΎΠ²Π½Π΅ΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ.
Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Scala Π³ΡΠΎΠΌΠΊΠΎ Π·Π°ΡΠ²ΠΈΠ» ΠΎ ΡΠ΅Π±Π΅ Π² 2010-Π΅ Π³ΠΎΠ΄Ρ. Π‘Π΅ΠΉΡΠ°Ρ Π°ΠΆΠΈΠΎΡΠ°ΠΆ Π²ΠΎΠΊΡΡΠ³ Π½Π΅Π³ΠΎ ΡΠΏΠ°Π», Π½ΠΎ Π·Π°Π±ΡΠ²Π°ΡΡ ΠΎ Scala ΡΠΎΡΠ½ΠΎ Π½Π΅ ΡΡΠΎΠΈΡ. ΠΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ ΡΠ·ΡΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Twitter, LinkedIn, WhatsApp. Scala-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅ ΡΠ°ΠΊ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Ρ ΠΊΠ°ΠΊ ΠΈΡ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ, ΠΏΠΈΡΡΡΠΈΠ΅ Π½Π° Python ΠΈΠ»ΠΈ Java, Π½ΠΎ Ρ ΠΎΡΠΎΡΠΈΠΉ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π½ΠΈΡΡΡΡ Π²ΡΡΠΎΠΊΠΎ, Π° Π·Π½Π°Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ° ΡΡΠ°Π½Π΅Ρ Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΡΠΌ ΠΏΠ»ΡΡΠΎΠΌ Π² ΡΠ΅Π·ΡΠΌΠ΅. Π ΠΏΠΎΠΌΠΎΡΡ ΡΠ΅ΠΌ, ΠΊΡΠΎ Ρ ΠΎΡΠ΅Ρ ΠΏΠΎΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠ΄Ρ Π°Π΄Π΅ΠΏΡΠΎΠ² Scala, Digitaldefynd ΡΠΎΡΡΠ°Π²ΠΈΠ» (Π° ΠΌΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ) ΠΏΠΎΠ΄Π±ΠΎΡΠΊΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΊΡΡΡΠΎΠ² ΠΈ ΡΡΠ΅Π½ΠΈΠ½Π³ΠΎΠ² ΡΠ°Π·Π½ΡΡ ΡΡΠΎΠ²Π½Π΅ΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ.
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
spoiler#handleClick»>ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΠΈ
Π‘ΡΠΎΠΈΠΌΠΎΡΡΡ ΡΠΊΠ°Π·Π°Π½Π° Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° ΠΈ Π½ΠΎΡΠΈΡ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²ΠΎΡΠ½ΡΠΉ Ρ Π°ΡΠ°ΠΊΡΠ΅Ρ.
ΠΠΊΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠΊΠΈΠ΄ΠΊΠΈ ΠΈ ΠΏΡΠΎΠΌΠΎΠΊΠΎΠ΄Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΏΠ»ΠΎΡΠ°Π΄ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅.
Apache Spark Π½Π° Scala Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ (Udemy)
ΠΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ ΠΈΠ·ΡΡΠΈΡΡ Apache Spark, ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ BigData. ΠΡ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ ΡΠΌΡΡΠ» ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π½ΡΡ Π½Π°Π±ΠΎΡΠΎΠ² Π΄Π°Π½Π½ΡΡ Π² ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ Hadoop. ΠΡΠ²ΠΎΠΈΡΠ΅ ΠΈΡΠΊΡΡΡΡΠ²ΠΎ ΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈ Π½Π°ΡΡΠΈΡΠ΅ΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² ΡΠ»ΡΠΆΠ±Π°Ρ ΠΎΠ±Π»Π°ΡΠ½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΊΡΡΡΠ°
spoiler#handleClick»>ΠΡΠ·ΡΠ²
Β«ΠΡΠΎ ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΡΡΡ ΠΏΠΎ Spark ΠΈ Scala. Π― Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²ΠΈΠ΄Π΅Π» Π½ΠΈΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΊΡΡΡΠΎΠ². Π― ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π΅Π³ΠΎ Π²ΡΠ΅ΠΌ, ΠΊΡΠΎ Ρ ΠΎΡΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΡΠ½ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ Spark. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΡΠΉ ΠΊΡΡΡΒ».
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ: 9 ΡΠ°ΡΠΎΠ².
Π Π΅ΠΉΡΠΈΠ½Π³: 4.5 ΠΈΠ· 5.
Scala ΠΈ Spark Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ (Udemy)
Π Π°Π±ΠΎΡΠ° ΡΠΎ Spark ΠΈ Scala β Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π°Π²ΡΠΊ Π² ΠΠ’-ΠΈΠ½Π΄ΡΡΡΡΠΈΠΈ. ΠΡΠ° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΊΡΠ°Ρ-ΠΊΡΡΡΠ° ΠΏΠΎ Scala ΠΈ Π΄Π°Π΅Ρ ΠΎΠ±Π·ΠΎΡ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ Π±ΠΎΠ»ΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈ Spark. Π Π½Π΅ΠΉ Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Mlib, ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ Π±ΠΎΠ»ΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ Databricks ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ. ΠΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Ρ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π½Π°Π²ΡΠΊΠΈ Π² ΡΠ΅Π·ΡΠΌΠ΅.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΊΡΡΡΠ°
spoiler#handleClick»>ΠΡΠ·ΡΠ²
Β«Π― ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΠ°Π» Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΡΡΡΡ Jose ΠΈ ΡΠ°Π½ΡΡΠ΅. Π― ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΡΡ Ρ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π² Scala ΠΈ Spark Π½Π° ΡΠ°Π·Π½ΡΡ ΡΠ΅ΡΡΡΡΠ°Ρ , Π²ΠΊΠ»ΡΡΠ°Ρ ΠΊΡΡΡΡ Udemy, ΠΈ Ρ ΠΎΡΠ΅Π» ΠΏΠΎΠ»ΡΡΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π». Π Π΅ΠΏΡΡΠ°ΡΠΈΡ Jose ΠΊΠ°ΠΊ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ Π²ΡΠ΅ ΡΠ°Π³ Π·Π° ΡΠ°Π³ΠΎΠΌ, Π΄Π°Π»Π° ΠΌΠ½Π΅ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΡ, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΠΈΡΠ°ΡΡΡΡ Π½Π° ΡΡΠΎΡ ΠΊΡΡΡ. ΠΠ½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ, ΡΡΠΎ ΠΎΠ½ ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ βΠΠΎΡΠ΅ΠΌΡβ, Π° Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠΎΠΊΡΡΠΈΡΡΠ΅ΡΡΡ Π½Π° ΡΠΎΠΌ βΠΠ°ΠΊβ. ΠΡΠΎΡ ΠΊΡΡΡ Π½Π°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ ΡΠ²ΡΠ·Π°Π» Π΄Π»Ρ ΠΌΠ΅Π½Ρ Π²ΡΠ΅ Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎΒ».
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ: 10 ΡΠ°ΡΠΎΠ².
Π Π΅ΠΉΡΠΈΠ½Π³: 4.4 ΠΈΠ· 5.
Scala ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ (Udemy)
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΎΠΏΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Π»ΡΠ±ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΈ Π²Π°ΠΌ Ρ ΠΎΡΠ΅ΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΡΠΏΠΈΡΠΎΠΊ ΡΠ²ΠΎΠΈΡ ΡΠΊΠΈΠ»ΠΎΠ² Π΅ΡΠ΅ ΠΈ ΡΠ°Π±ΠΎΡΡ Π½Π° Scala, ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΡΠΎΡ ΠΊΡΡΡ. ΠΡΠ΅Π³ΠΎ 15 ΡΠ°ΡΠΎΠ² Π»Π΅ΠΊΡΠΈΠΉ ΠΈ, ΠΏΠΎ ΡΠ»ΠΎΠ²Π°ΠΌ ΠΈΠ½ΡΡΡΡΠΊΡΠΎΡΠ°, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΊΠΎΠ΄ Scala Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΠ΅Π΄Π°Ρ ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π½Π°ΡΡΠΈΡΠ΅ΡΡ Ρ Π½ΡΠ»Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΡΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π½Π°Π²ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ Π²Π°ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, ΠΊΠ°ΠΊ Spark, Akka ΠΈ Play.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΊΡΡΡΠ°
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ: 15.5 ΡΠ°ΡΠΎΠ².
Π Π΅ΠΉΡΠΈΠ½Π³: 4.6 ΠΈΠ· 5.
ΠΡΠΈΠ½ΡΠΈΠΏΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² Scala (Coursera)
Π ΡΡΠΎΠΉ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π²Ρ ΠΈΠ·ΡΡΠΈΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡΠΈΠ»Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π½Π°ΡΡΠΈΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π²Π°ΡΠΈΡ ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΡΡ Π·Π°Π΄Π°Ρ. ΠΠ°ΡΠ½Π΅ΡΠ΅ Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΡΠ½ΠΎΠΉ ΠΎΡΠ½ΠΎΠ²Ρ Π΄Π»Ρ ΡΠ°ΡΡΡΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ , ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²Ρ ΠΈΠ½Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΎΠΌΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΎΠΏΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Java, C#, C, C++, Python, Javascript ΠΈΠ»ΠΈ Ruby (ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π³ΠΎΠ΄Π°), ΡΠΎ Π²Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π³ΠΎΡΠΎΠ²Ρ ΠΊ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Π½Π° ΡΡΠΎΠΉ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΊΡΡΡΠ°
spoiler#handleClick»>ΠΡΠ·ΡΠ²
Β«ΠΠΎ-Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ Ρ ΠΎΡΠΎΡΠ΅Π΅ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΎΡΠ°. Π₯ΠΎΡΠΎΡΠΈΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ. ΠΠ½ΠΈ Π΄Π°ΡΡ ΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ. ΠΠ½Π΅ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»ΠΎΡΡ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π±ΡΠ»ΠΈ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Ρ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅Β».
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ: 23 ΡΠ°ΡΠ°, ΠΏΠΎ 5 ΡΠ°ΡΠΎΠ² Π² Π½Π΅Π΄Π΅Π»Ρ.
Π Π΅ΠΉΡΠΈΠ½Π³: 4.8 ΠΈΠ· 5.
Scala ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅: ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡ ΡΡΠΎΠ²Π΅Π½Ρ (Udemy)
ΠΡΡΡ ΡΠΎΠ·Π΄Π°Π½ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Π·Π½Π°ΠΊΠΎΠΌΡΡ ΡΠΎ Scala, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΎΡΠ΅Π»ΠΈ Π±Ρ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΈ Π·Π½Π°Π½ΠΈΡ ΠΈ Π½Π°Π²ΡΠΊΠΈ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠΉΡΠΈ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Ρ ΠΎΡΠΎΡΠ΅Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ° ΠΊΡΡΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°Π½Ρ ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΡΠ°ΠΌΡΠ΅ Π²Π°ΠΆΠ½ΡΠ΅ ΠΈΠ΄Π΅ΠΈ Scala, ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ Π΄Π΅ΠΊΠΎΠ½ΡΡΡΡΠΈΡΡΡΡΡΡ Π½Π° ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°ΡΡΠΈ, Π° Π²ΡΡ ΡΠ΅ΠΎΡΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½Π° Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠ΅ΠΉ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΎΠΏΡΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΡΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΡ ΡΠΈΡΡΠ΅ΠΌ, Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ²ΠΎΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ .
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΊΡΡΡΠ°
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ: 14 ΡΠ°ΡΠΎΠ².
Π Π΅ΠΉΡΠΈΠ½Π³: 4.8 ΠΈΠ· 5.
Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Scala (Coursera)
ΠΡΠ° ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° Π΄Π»Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²Π° Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ Scala, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠΠ°Π½ΡΡΠΈΡ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌ ΠΈ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΡΡ ΠΊ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΊΡΡΠΏΠ½ΡΠΌ Π·Π°Π΄Π°ΡΠ°ΠΌ. ΠΡ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΡΠ° ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ° ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ΅ ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. Π ΠΊΠΎΠ½ΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π½ΠΎΠ²ΡΠ΅ Π·Π½Π°Π½ΠΈΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ .
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΊΡΡΡΠ°
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ: 5 ΠΌΠ΅ΡΡΡΠ΅Π², ΠΏΠΎ 5 ΡΠ°ΡΠΎΠ² Π² Π½Π΅Π΄Π΅Π»Ρ.
Π Π΅ΠΉΡΠΈΠ½Π³: 4.7 ΠΈΠ· 5.
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π±ΠΎΠ»ΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Spark Streaming ΠΈ Scala: ΠΏΡΠ°ΠΊΡΠΈΠΊΡΠΌ (Udemy)
ΠΠ° ΡΡΠΎΠΌ ΠΊΡΡΡΠ΅ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π½Π°Π²ΡΠΊΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Twitter Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ ΠΆΡΡΠ½Π°Π»ΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ° Apache ΠΈ Π΄Π°ΠΆΠ΅ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ. Π£Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ Spark ΠΈ Π·Π°Π²Π΅ΡΡΠΈΡΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅, ΠΏΠ΅ΡΠ΅Π½ΠΎΡΡ ΠΈΡ Π² ΠΊΠ»Π°ΡΡΠ΅Ρ Hadoop ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Ρ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΊΡΡΡΠ°
spoiler#handleClick»>ΠΡΠ·ΡΠ²
Β«Π€Π°Π½ΡΠ°ΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ°, ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠ±ΠΈΡΡ Ρ ΡΠΎΠ»ΠΊΡ ΠΊΠΎΠ³ΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΊΠΎΠ΄Π°, ΠΈ ΠΏΠΎΠ±ΡΠ΄ΠΈΠ»ΠΈ ΠΌΠ΅Π½Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π³ΠΎΡΠΎΠ²ΡΠΉ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ Spark Streaming Π·Π° 20 ΠΌΠΈΠ½ΡΡ. Π‘ Π½Π΅ΡΠ΅ΡΠΏΠ΅Π½ΠΈΠ΅ΠΌ ΠΆΠ΄Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΊΠΎΠ΄ ΠΈ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠΌΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°ΠΌΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈΒ».
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ: 6 ΡΠ°ΡΠΎΠ².
Π Π΅ΠΉΡΠΈΠ½Π³: 4.4 ΠΈΠ· 5.
ΠΠ½Π°Π»ΠΈΠ· Π±ΠΎΠ»ΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ ΡΠΎ Scala ΠΈ Spark (Coursera)
ΠΡΠΎΡ ΠΊΡΡΡ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ° ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π° Π½Π° ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Spark. ΠΠ·ΡΡΠΈΡΠ΅ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Spark ΠΈ ΠΏΠΎΠΉΠΌΠΈΡΠ΅, ΡΠ΅ΠΌ ΠΎΠ½Π° ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ , Π·Π½Π°ΠΊΠΎΠΌΡΡ Π²Π°ΠΌ. ΠΠΎΠ»ΡΡΠΈΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠΏΡΡ ΠΈ Π²ΡΡΡΠ½ΠΈΡΠ΅, ΠΊΠΎΠ³Π΄Π° ΡΡΠΎΠΈΡ ΡΡΠΈΡΡΠ²Π°ΡΡ Π²ΠΎΠΏΡΠΎΡΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ, ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°Π±ΠΎΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ. Π ΠΊΠΎΠ½ΡΡ Π·Π°Π½ΡΡΠΈΠΉ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΡΠΈΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°, ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠΌΠΈ, Π²ΡΡΠ°ΠΆΠ°ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΡΡΠΈΠ»Π΅.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΊΡΡΡΠ°
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ: 28 ΡΠ°ΡΠΎΠ².
Π Π΅ΠΉΡΠΈΠ½Π³: 4.7 ΠΈΠ· 5.
Scala Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ (Udemy)
ΠΠ°Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ Π²ΡΠ΅ΠΌ, ΠΊΡΠΎ Ρ ΠΎΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ± ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Scala ΠΈ ΠΈΠ·ΡΡΠΈΡΡ Π΅Π³ΠΎ Ρ Π½ΡΠ»Ρ. ΠΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Scala ΠΈ Π΅Π³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Actors ΠΈ Collections. ΠΡΠ»ΠΈ Π²Π΅ΡΠΈΡΡ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Ρ, ΡΠΎ ΠΊ ΠΊΠΎΠ½ΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π·Π°Π΄Π°Π½ΠΈΠΉ, Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠΎΡΠ½ΡΠ΅ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π½Π°Π²ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ Π²Π°ΠΌ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Scala ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΊΡΡΡΠ°
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ: 5.5 ΡΠ°ΡΠΎΠ².
Π Π΅ΠΉΡΠΈΠ½Π³: 4.7 ΠΈΠ· 5.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Scala (Artima)
ΠΡΠ»ΠΈ Π²Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅ΡΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π° Scala, Π½ΠΎ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅, Ρ ΡΠ΅Π³ΠΎ Π½Π°ΡΠ°ΡΡ, ΡΠΎ ΡΡΠΎ β ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ. Π Π°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ΅ ΠΈΠ½Π°ΡΠ΅, ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΊΡΡΡΠΎΠ², ΡΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΡΠ΅ΠΌΡ ΡΠ°Π³ Π·Π° ΡΠ°Π³ΠΎΠΌ ΠΈ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ ΡΡΡΠ΄Π΅Π½ΡΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ ΡΡΠΈΡΡΡΡ ΠΏΠΎ ΠΊΠ½ΠΈΠ³Π°ΠΌ. ΠΡΠΎΠΌΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ΅ΠΌ, Π² Π½Π΅ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ XML, ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ, ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅. ΠΡΠΎΡ ΠΊΡΡΡ ΡΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈ ΠΊΠΎΠ΄ΠΎΠ² β ΡΠ°Π²ΠΎΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΊΡΡΡΠ°
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ: ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΠ΅ ΡΠ°ΠΌΠΈ.
Π Π΅ΠΉΡΠΈΠ½Π³: 4.4 ΠΈΠ· 5.
Π‘ΡΠΎΠΈΠΌΠΎΡΡΡ: Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ.
Apache Spark 3: ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Spark Π½Π° Scala Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ (Udemy)
ΠΡΠΎΡ ΠΊΡΡΡ Π±ΡΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ Π²ΡΠ΅ΠΌ ΠΆΠ΅Π»Π°ΡΡΠΈΠΌ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Spark ΠΈ Π½Π°ΡΠ°ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π·Π½Π°Π½ΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ . ΠΡ Π½Π°ΡΠ½Π΅ΡΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²Π° Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ Spark ΠΈ Π΅Π³ΠΎ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΠΌΠΈ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΡΠ΅ ΠΊ Π±ΠΎΠ»Π΅Π΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ΅ΠΌΠ°ΠΌ. ΠΡΡΡ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈ Β«ΠΆΠΈΠ²ΠΎΠΌΒ» ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ Π² Π½Π΅ΠΌ ΠΎΠ±ΡΡΡΠ½ΡΡΡΡΡ ΠΏΠΎ Ρ ΠΎΠ΄Ρ. ΠΠ»Ρ ΡΡΡΠ΄Π΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΎΡΡΡ ΠΏΡΠΎΠΉΡΠΈ ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ ΡΠΎ Scala.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΊΡΡΡΠ°
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ: 7 ΡΠ°ΡΠΎΠ².
Π Π΅ΠΉΡΠΈΠ½Π³: 4.6 ΠΈΠ· 5.
ΠΡΠΎΠ΅ΠΊΡΡ Ρ ΠΊΠΎΠ½ΡΡΠ»ΡΡΠ°ΡΠΈΡΠΌΠΈ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Scala (Coursera)
ΠΠΎΠ²ΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΎΡ Coursera β ΠΏΡΠΎΠ΅ΠΊΡΡ Ρ ΠΊΠΎΠ½ΡΡΠ»ΡΡΠ°ΡΠΈΡΠΌΠΈ β ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π² ΡΠΆΠ°ΡΡΠ΅ ΡΡΠΎΠΊΠΈ (Π΄ΠΎ 2-Ρ ΡΠ°ΡΠΎΠ²) ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ Π½Π°Π²ΡΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ·ΡΡΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Ρ Scala, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π² ΠΌΠΈΠ½ΠΈ-ΠΈΠ³ΡΡ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΡΠΎΠΌ ΡΠ·ΡΠΊΠ΅, ΠΏΡΠ°ΠΊΡΠΈΠΊΡΡΡΡ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°. ΠΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΊΡΠ°Π½Π° ΠΏΠΎΠ΄ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠΌ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π°Π΅Ρ Π²Π°ΠΌ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ. ΠΡΠΎΠ΅ΠΊΡΡ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡΡ ΡΡΡΠ΄Π΅Π½ΡΠ°ΠΌ, Ρ ΠΎΡΡ Π±Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌΡΠΌ ΡΠΎ Scala, Π° ΡΠ°ΠΊΠΆΠ΅ Π»ΡΠ±ΡΠΌ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ·ΡΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π΄Π°Π½Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π½ΠΈΡ.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΊΡΡΡΠ°
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ: 1.5 β 2 ΡΠ°ΡΠ°.
Π₯ΠΎΡΠΈΡΠ΅ ΡΠΎΠΎΠ±ΡΠΈΡΡ Π²Π°ΠΆΠ½ΡΡ Π½ΠΎΠ²ΠΎΡΡΡ? ΠΠΈΡΠΈΡΠ΅ Π² Π’Π΅Π»Π΅Π³ΡΠ°ΠΌ-Π±ΠΎΡ.
Π ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ΡΡ Π½Π° Π½Π°Ρ Π’Π΅Π»Π΅Π³ΡΠ°ΠΌ-ΠΊΠ°Π½Π°Π».