Scala Overview & History & Popularity & Usage

 Scala Overview

  • Scala is an object-oriented and functional programming language.
  • Scala is a general-purpose programming language. 
  • It supports object oriented, functional and imperative programming approaches. 
  • It is a pure object-oriented language in the sense that every value is an object and functional language in the sense that every function is a value.
  • In Scala, everything is an object whether it is a function or a number. 
  • It is a strong static type language. 
  • It does not have concept of primitive data.
  • The name of Scala is derived from word scalable which means it can grow with the demand of users.
  • Scala is not an extension of Java, but it is completely interoperable with it. While compilation, Scala file translates to Java bytecode and runs on JVM (Java Virtual machine).

History

  • Scala was created and developed by Martin Odersky. Martin started working on Scala in 2001 at the Ecole Polytechnique Federale de Lausanne (EPFL). It was officially released on January 20, 2004.
  • It was officially released for java platform in early 2004 and for .Net framework in June 2004. Later on, Scala dropped .Net support in 2012.
  • Scala is influenced by Java, Haskell, Lisp, Pizza etc. and influenced to F#, Fantom, Red etc.
  • File extension of Scala source file may be either .scala or .sc.
  • You can create any kind of application like web application, enterprise application, mobile application, desktop based application etc.

Popularity of Scala

  • Twitter have announced that it had switched large portions of its backend from Ruby to Scala and intended to convert the rest.
  • Apple Inc. uses Scala in certain teams, along with Java and the Play framework.
  • The New York Times revealed in 2014 that its internal content management system Blackbeard is built using Scala, Akka and Play Framework.
  • There are teams within Google that use Scala, mostly due to acquisitions such as Firebase and Nest.
  • The Walmart Canada Uses Scala for their back end platform.

Where to use Scala

  • Web applications
  • Utilities and libraries
  • Data streaming with Akka
  • Parallel batch processing
  • Concurrency and distributed application
  • Data analysis with Spark
  • AWS lambda expression
  • Ad hoc scripting in REPL etc.
  • In Scala, you can create any type of application in less time and coding whether it is web based, mobile based or desktop based application. Scala provides you powerful tools and API by using which you can create applications. Here, You can use play framework which provides a platform to build web application rapidly.


Comments

Popular posts from this blog

Hive File Formats

HDFS Infographic

Why We Need Hadoop?