Darsliklar Scala Kirish

Scala Scala Kirish

Bu qo’llanma — Scala dasturlash tili bilan tanishtiruvchi kirish. Men, Farrukh Sherkulov, siz bilan birga bu qiziqarli tilning asoslari bilan tanishaman. Scala — obyektga yo’naltirilgan va funksional dasturlashni bir tilda birlashtirgan, JVM ustida ishlaydigan zamonaviy til. U Java’ning barcha kuchini oladi, ustiga ixchamlik va ifodaviylik qo’shadi.

Scala2004-yilda Martin Odersky tomonidan yaratilgan, statik tipizatsiyalangan, JVM ustida ishlaydigan til. Nomi “Scalable Language” (kengaytiriladigan til) so’zlaridan olingan. U obyektga yo’naltirilgan va funksional paradigmalarni uyg’unlashtiradi.

Nega Scala?

Scala Java bilan to’liq mos ishlaydi — mavjud Java kutubxonalaridan bevosita foydalanish mumkin. Biroq u kodni ancha ixcham qiladi: Java’da o’nlab qator talab qiladigan vazifa Scala’da bir necha qatorga sig’adi. Aynan shuning uchun Scala katta ma’lumot (Big Data) sohasida — masalan, Apache Spark tizimida — keng qo’llaniladi.

Scala kuchli tipizatsiyalangan, ammo tur aniqlash (type inference) tufayli siz turni har doim ham yozib o’tirmaysiz — kompilyator uni o’zi aniqlaydi. Bu qat’iylik va qulaylikni birlashtiradi.

Birinchi dastur

An’anaviy birinchi qadam — ekranga xabar chiqarish. Scala’da bu quyidagicha ko’rinadi:

object Main {
  def main(args: Array[String]): Unit = {
    println("Salom, UzbekDevs!")
  }
}
Salom, UzbekDevs!

object Main — Scala’da dasturning kirish nuqtasini o’z ichiga oluvchi obyekt. def main — asosiy metod, println esa ekranga xabar chiqaradi. E’tibor bering: Scala’da nuqta-vergul majburiy emas — bu kodni tozaroq qiladi.

val va var — o’zgaruvchilar

Scala’da ikki xil o’zgaruvchi bor. Ularni jadvalda ko’ramiz:

Kalit so’z O’zgartirish Tavsiya
val mumkin emas (o’zgarmas) asosiy tanlov
var mumkin (o’zgaruvchan) zarur bo’lganda

Amalda:

object Main {
  def main(args: Array[String]): Unit = {
    val ism = "Master Sherkulov"   // o'zgarmas
    var yosh = 30                  // o'zgaruvchan
    yosh = 31
    println(ism + ", " + yosh)
  }
}
Master Sherkulov, 31

Diqqat: val ism da tur yozilmadi, biroq Scala uni String deb o’zi aniqladi (type inference). Funksional dasturlashda o’zgarmas val afzal ko’riladi.

Funksiya — ixcham va kuchli

Scala funksiyalari juda ixcham yoziladi. Ikki sonni qo’shadigan funksiya:

object Main {
  def yigindi(a: Int, b: Int): Int = a + b

  def main(args: Array[String]): Unit = {
    println(yigindi(15, 27))
  }
}
42

def yigindi(a: Int, b: Int): Int = a + b — butun jingalak qavs va returnsiz, bir qatorda funksiya. Bu Scala’ning ifodaviyligini ko’rsatadi: funksiya tanasi shunchaki bir ifoda bo’lsa, uni to’g’ridan-to’g’ri = dan keyin yozamiz.

Kompilyatsiya va ishga tushirish

Scala kodi JVM ustida ishlaydi. Faylni scalac bilan kompilyatsiya qilib, scala bilan ishga tushiramiz:

scalac Main.scala
scala Main
Salom, UzbekDevs!

Scala JVM ustida ishlagani uchun uning natijasi ham Java bayt-kodi bo’ladi — ya’ni Scala va Java kodini bir loyihada birga ishlatish mumkin.

Xulosa

Bu kirish qismida Scala nima ekanini, uning Java bilan uyg’unligini va Big Data sohasidagi o’rnini, birinchi dasturning tuzilishini, val/var o’zgaruvchilarni, ixcham funksiyalar va kompilyatsiya jarayonini ko’rib chiqdik. Scala — obyektga yo’naltirilgan va funksional dunyoni birlashtirgan kuchli til.