scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅

Быстрый старт со Scala для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… ΠΈ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ

ΠΠ²Ρ‚ΠΎΡ€ΠΈΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ

Быстрый старт со Scala для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… ΠΈ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ

scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ 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 β€” это язык Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ.

scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π€ΠΎΡ‚ΠΎ scala язык программирования обучСниСЛСстница Π² Π»ΠΎΠ³ΠΎΡ‚ΠΈΠΏΠ΅ отсылаСт ΠΊ институту EPFL Π² Π›ΠΎΠ·Π°Π½Π½Π΅. Π’Π°ΠΌ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π»ΠΈ этот язык

Если ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎ, Ρ‚ΠΎ Scala β€” это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π° бСзопасном языкС, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ большоС Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅

Π£ΠΌΠ½Ρ‹ΠΉ компилятор

Π£ скалы ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых ΡƒΠΌΠ½Ρ‹Ρ… ΠΈ слоТных компиляторов. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌ Π±ΠΈΠ»Π΄Π°ΠΌ (особСнно Π² ΠΏΠ΅Ρ€Π²Ρ‹Ρ… вСрсиях языка), ΠΈ Π·Π° это скалу хСйтят. Но Π·Π°Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡ‚Π΄Π°Ρ‚ΡŒ компилятору ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ Π°Π½Π°Π»ΠΈΠ·Ρƒ ΠΊΠΎΠ΄Π°, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ Π΅Π³ΠΎ Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ отсутствиС ошибок, Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ для программиста. Π­Ρ‚Π° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ β€” Π½Π° сторонС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Π² Ρ‚ΠΎΠΌ числС ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅Π³ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ компилятор ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Π‘ΠΊΠ°Π»Π° β€” это СдинствСнный язык, Π³Π΄Π΅ я ΠΏΠΈΡˆΡƒ ΠΊΠΎΠ΄, ΠΈ ΠΎΠ½ сразу Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π±Π΅Π· ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ‚Π°ΠΊ происходит Π½Π΅ всСгда, Π½ΠΎ с Π΄ΠΆΠ°Π²ΠΎΠΉ, дТаваскриптом, си, паскалСм ΠΈ бСйсиком Ρ‚Π°ΠΊ Π½Π΅ происходило Π½ΠΈΠΊΠΎΠ³Π΄Π°. Π― люблю Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄ΠΆΠ°Π²Π° β€” это язык для компилятора, Π° скала β€” это язык для программиста.

JVM-экосистСма

Как извСстно, ДТСймс Гослинг, ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ языка Π΄ΠΆΠ°Π²Π°, считаСт самой Π»ΡƒΡ‡ΡˆΠ΅ΠΉ Π΅Π΅ Ρ‡Π°ΡΡ‚ΡŒΡŽ Π΄ΠΆΠ°Π²Π°-ΠΌΠ°ΡˆΠΈΠ½Ρƒ. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΠ»ΠΎ дСсятки Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎ-Π»Π΅Ρ‚ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΈ достигли скоростСй, Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°ΡŽΡ‰ΠΈΡ… Π‘ΠΈ++. Π’ΠΎΡ‚ исслСдованиС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ JVM Π² ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройствах, Π² Π½Π΅ΠΌ Ρ‡Π°Ρ‰Π΅ ΠΏΠΎΠ±Π΅ΠΆΠ΄Π°Π΅Ρ‚ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π° Π‘ΠΈ, Π½ΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ случаС ΠΏΠΎΠ±Π΅Π΄ΠΈΠ»Π° JVM: Java vs C app performance.

scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π€ΠΎΡ‚ΠΎ scala язык программирования обучСниСНа Android 6 AArch64 JVM ΠΏΠΎΠ±Π΅Π΄ΠΈΠ»Π° Π‘ΠΈ Π² матСматичСских вычислСниях, хотя ΠΈ ΠΏΡ€ΠΎΠΈΠ³Ρ€Π°Π»Π° Π²ΠΎ всСх Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²ΠΈΠ΄Π°Ρ…

Java Memory Model (МодСль памяти для ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… вычислСний) β€” это зрСлая, нСпротиворСчивая, провСрСнная ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π³ΠΎΠ΄Π°ΠΌΠΈ ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΠ³ΠΎ программирования ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°, которая ΠΏΡ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ использовании Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ достаточный ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ абстракции ΠΈ бСзопасности. Благодаря этому Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ конструкции для ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования, доступныС Π΄Π°ΠΆΠ΅ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π½Π° Π΄ΠΆΠ°Π²Π΅ написаны ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ строк ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· скалы ΠΈΠ»ΠΈ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² Π½Π΅Π΅ Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

ΠšΡΡ‚Π°Ρ‚ΠΈ, ДТСймсу Гослингу скала Ρ‚ΠΎΠΆΠ΅ нравится.

scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π€ΠΎΡ‚ΠΎ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅

Но Π² этом всСм Π΅ΡΡ‚ΡŒ ΠΈ минусы. Как ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, высокоуровнСвыС абстракции ΠΏΡ€ΠΎΡ‚Π΅ΠΊΠ°ΡŽΡ‚, ΠΈ для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° скалС, Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ устроСна Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Π΄ΠΆΠ°Π²Π°, ΠΈ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΅Π΅ особСнности. НапримСр, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ 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, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ Π΅Π³ΠΎ основатСлСм ΠœΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΌ ΠžΠ΄Π΅Ρ€ΡΠΊΠΈ. Мало ΠΊΠ°ΠΊΠΎΠΉ язык ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ…Π²Π°ΡΡ‚Π°Ρ‚ΡŒ матСматичСски Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ исчислСниСм, Π»Π΅ΠΆΠ°Ρ‰Π΅ΠΌ Π² Π΅Π³ΠΎ основС.

scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π€ΠΎΡ‚ΠΎ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠœΠ°Ρ€Ρ‚ΠΈΠ½ ΠžΠ΄Π΅Ρ€ΡΠΊΠΈ

Π‘ΠΎΠ³Π»Π°ΡΠΈΡ‚Π΅ΡΡŒ, приятно ΡƒΡ‡ΠΈΡ‚ΡŒ язык с Ρ‚Π°ΠΊΠΈΠΌ бэкграундом, хотя Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ программистам Π·Π½Π°Ρ‚ΡŒ ΠΎ Π½Ρ‘ΠΌ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ.

Π’Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ

Π’ΠΎ, Ρ‡Ρ‚ΠΎ я большС всСго люблю Π² языкС β€” это Π΅Π³ΠΎ ΡΠΆΠ°Ρ‚ΠΎΡΡ‚ΡŒ ΠΈ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ. Π― Π½Π΅Π½Π°Π²ΠΈΠΆΡƒ длиннСйшиС конструкции Π΄ΠΆΠ°Π²Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… приходится слоТно ΠΈ многословно ΠΎΠ±ΡŠΡΡΠ½ΡΡ‚ΡŒ компилятору простыС Π²Π΅Ρ‰ΠΈ. Моя любимая ΡˆΡƒΡ‚ΠΊΠ° ΠΏΡ€ΠΎ Π΄ΠΆΠ°Π²Ρƒ β€” Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠΉ язык, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡƒΠ°Π½-Π»Π°ΠΉΠ½Π΅Ρ€ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠΊΠΎΠ»ΠΎ 30 строк. Π’Π°ΠΊ Π²ΠΎΡ‚, Π² скалС ΡƒΠ°Π½-Π»Π°ΠΉΠ½Π΅Ρ€ β€” это ΡƒΠ°Π½-Π»Π°ΠΉΠ½Π΅Ρ€.

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

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

Π’ΠΎΡ‚ ΠΌΠΎΠΉ Π»ΡŽΠ±ΠΈΠΌΡ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ для Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° скалС. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΎΠ½ Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²:

Π’ Π½ΠΎΠ²ΠΎΠΉ вСрсии языка Π΄Π°ΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ мСньшС Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок, Ссли Π΅ΡΡ‚ΡŒ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅. Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

БтатичСская типизация

По-ΠΌΠΎΠ΅ΠΌΡƒ это самоС Π²Π°ΠΆΠ½ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ языкС программирования. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρƒ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ стоит ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ яблоки с апСльсинами.

ИмСнно ΠΏΠΎ этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Π½Π° ΠΌΠΎΠΉ взгляд Π½Π΅ стоит Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ с ΠŸΠΈΡ‚ΠΎΠ½Π°, Π ΡƒΠ±ΠΈ, ДТаваскрипта, Π‘ΠΈ ΠΈ Π‘ΠΈ++. ДинамичСская типизация β€” это Π²Π΅Ρ€Π½Ρ‹ΠΉ способ Π²Ρ‹ΡΡ‚Ρ€Π΅Π»ΠΈΡ‚ΡŒ сСбС Π² Π½ΠΎΠ³Ρƒ.

Π”Ρ€ΡƒΠ³ΠΎΠ΅ Π΄Π΅Π»ΠΎ, Ρ‡Ρ‚ΠΎ статичСская типизация Π½Π΅ΡƒΠ΄ΠΎΠ±Π½Π°, Π½Π΅ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Π° ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π±ΠΎΠΉΠ»Π΅Ρ€-ΠΏΠ»Π΅ΠΉΡ‚Π°. Π‘ΠΊΠ°Π»Π° Π²ΠΏΠΎΠ»Π½Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ позволяСт ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ этих нСдостатков Π² простых ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ….

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” это самая популярная ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°, Π±Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅ обходится Π½ΠΈ ΠΎΠ΄ΠΈΠ½ соврСмСнный язык программирования.

Π’ скалС эта ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ присуща языку, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ ΠŸΠΈΡ‚ΠΎΠ½Π°, Π‘ΠΈ/Π‘ΠΈ++ ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ смыслС дТаваскрипта. РазумССтся, сСйчас Ρƒ этих языков с ООП ΠΏΠΎΠ»Π½Ρ‹ΠΉ порядок.

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

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

ΠΠ°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ стоит ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΏΡ€ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅, этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт ΠΏΠΈΡΠ°Ρ‚ΡŒ Π³ΠΈΠ±ΠΊΠΈΠΉ, Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄. Π’ΠΎΡ‚ нСсколько хабропостов ΠΎ Π½Ρ‘ΠΌ:

Π˜ΠΌΠΌΡƒΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

Π’ΠΎΠΎΠ±Ρ‰Π΅-Ρ‚ΠΎ это свойство Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования. МнС каТСтся ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ²ΠΈΠ²Π°Ρ‚ΡŒ ΡƒΠΌΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ нСизмСняСмыми структурами Π΄Π°Π½Π½Ρ‹Ρ… с самого Π½Π°Ρ‡Π°Π»Π°. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ бСзопасный ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. И Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ.

Π Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ

Как извСстно, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ языка ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅ΠΏΠΎΠ΄Π½ΠΎΡΠΈΠ»ΠΎΡΡŒ ΠΊΠ°ΠΊ Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° Scalable Language. ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ языка ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π³ΠΈΠ±ΠΊΠΈΠ΅ ΠΈ красивыС DSL, ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ для Π½Π΅-программистов, Π²ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ абстракции Π΄Ρ€ΡƒΠ³ Π² Π΄Ρ€ΡƒΠ³Π°, ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ простыС скрипты.

Часто этот инструмСнт обращаСтся ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΏΠΎΠ²Ρ‹ΡˆΠ°Ρ ΠΏΠΎΡ€ΠΎΠ³ Π²Ρ…ΠΎΠ΄Π° Π² ΠΈΡ… API. Но Π² ΡƒΠΌΠ΅Π»Ρ‹Ρ… Ρ€ΡƒΠΊΠ°Ρ… такая Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Π² большоС Π±Π»Π°Π³ΠΎ. ΠžΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³Ρƒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π° Scala простоС ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ΅ API, Ρ‚Π΅ΠΌ самым Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ облСгчая Тизнь Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ программистам.

Π’ Ρ†Π΅Π»ΠΎΠΌ язык скала прСдоставляСт большоС количСство ΠΌΠΎΡ‰Π½Ρ‹Ρ… инструмСнтов, ΠΈ обратная сторона этого β€” высокий ΠΏΠΎΡ€ΠΎΠ³ Π²Ρ…ΠΎΠ΄Π°, особСнно Π² отсутствии Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ курса, ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ°, ΠΈΠ»ΠΈ наставника.

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

scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π€ΠΎΡ‚ΠΎ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: https://prwatech.in/blog/apache-spark/introduction-to-scala-programming-language/

Π Ρ‹Π½ΠΎΠΊ вакансий

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, вакансий для скала-программистов Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ мСньшС, Ρ‡Π΅ΠΌ для Π΄ΠΆΠ°Π²Π°-программистов. Но Π·Π°Ρ‚ΠΎ Scala Π²Ρ‹ΡˆΠ΅ оплачиваСтся.

scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π€ΠΎΡ‚ΠΎ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅https://insights.stackoverflow.com/survey/2019

Π’ΠΎΡ‚ Π²Π°ΠΌ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ области примСнСния скалы:

scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π€ΠΎΡ‚ΠΎ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: 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 язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π€ΠΎΡ‚ΠΎ scala язык программирования ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅

Π―Π·Ρ‹ΠΊ программирования 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 часа.

Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ Π²Π°ΠΆΠ½ΡƒΡŽ Π½ΠΎΠ²ΠΎΡΡ‚ΡŒ? ΠŸΠΈΡˆΠΈΡ‚Π΅ Π² Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ-Π±ΠΎΡ‚.

А Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° наш Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ-ΠΊΠ°Π½Π°Π».

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *