Introduction

 

Introduction for the Blog:-

    I'm happy to see you here , welcome your interest. This blog is designed by my learnings and my view on Scala. It will be easy for me to recall and also it will be helpful to others. If you found any mistakes feel free to comment it. Wish you for the best career.


Introduction to programming :-

   A Programming language is a tool or medium which having its own predefined syntax rules, semantics and features used to express or helps to communicate information and instructions to computer (either OS or CPU), enabling it to  perform tasks, actionable items. For example, some popular programming languages are c, c++, java, python, R, Rust etc.....

    ANSII (American Standard Code For Information Exchange) )and UNICODE are mostly widely adapted characters encoding standards. Java and Scala are following UNICODE. UTF-8 and UTF-32 are part of UNICODE.

    

Introduction to Scala:-

    Scala term came from Scalable Language. It is a modern programming language, considered as a successor of java which supports both  Object Oriented Programming (OOPS) and Functional Programming. In the sense, Every functions and expressions are values and every values are instance of a class and  "operator" is a method.

    It is a compiler and JVM based language so it is platform independent. The compiler converts Scala source code code to byte code then byte code is interpreted by interpreter to convert into machine code or binary which can be executed by CPU as same like java source code lifecycle. Scala is faster than java due to it concise code. It had good community support and ecosystem.

Important Features of Scala,

  • Object Oriented
  • Supports Functional  Programming
  • Type Inference
  • Supports higher order and lambda functions
  • Minimalistic syntax
  • Statically typed (feels like dynamic)
  • Concurrency
  • Pattern Matching (case class)
  • Seamless interaction and interoperable  with java and java libraries
  • Facilitates generic programming
  • Platform independent
  • Expressive Type System

Applications:-

  • Web Development
  • Big Data 
  • Machine Learning 
  • Desktop Application
It is more prominently known on Big Data processing and Big Data related Enterprise applications. Akka and Play  are the famous frameworks . other than those, Lift, Finagle, Lagom, and scalatra etc...
 
Apache Spark and Flink are important bigdata frameworks that supports Scala. Apache Kafka from message streaming, Scalding - developed by twitter helps to writing MapReduce jobs, Akka Streams.

Keep Learning see you in next topic !!!😊

Comments