הפיתוח של שפת התכנות Scala החל לפני כ-20 שנה. השימוש בשפה החל לפני מעט יותר מ-10 שנים. השפה, אשר נחשבת גם לשפת תכנות פונקציונלית וגם לשפת תכנות מונחית עצמים, מככבת בעיקר בפיתוח מערכות צד שרת, ובאופן מיוחד במערכות אשר מתמודדות עם כמויות גדולות של נתונים. ההשפעה של שפת התכנות Python על שפת התכנות Scala הורגשה תמיד. החל מגרסה 3.0 של שפת התכנות Scala ההשפעה מורגשת אף יותר.
האפשרות ליצור אובייקטים חדשים מבלי להשתמש ב-new
class Rectangle(var width:Double,var height:Double)
val rec:Rectangle = Rectangle(3,4)
האפשרות להגדיר מחלקות ומתודות מבלי להשתמש בסוגריים מסולסלות
החל מ-Scala 3.0 ניתן להגדיר class, object ו-trait תוך שימוש ברווחים במקום הסוגריים המסולסלות לצורך יצירת הבלוק שכולל את ההגדרה עצמה. באופן דומה, גם את המתודות שההגדרה של ה-class כוללת ניתן להגדיר מבלי להשתמש בסוגריים מסולסלות לצורך יצירת הגוף.
class Rectangle(var width:Double, var height:Double):
def area():Double =
var result = this.width * this.height
result
def perimeter():Double =
var result = 2 * (this.width + this.height)
result
object RectangleDemo {
def main(args: Array[String]):Unit =
println("testing program")
var rec1:Rectangle = Rectangle(3,4)
print("area of rectangle is ")
print(rec1.area())
}