Scala (programming language)

Scala?(/?skɑ?lɑ?/?SKAH-lah)[8]?is a?strong?statically typed?general-purpose programming language?which supports both?object-oriented programming?and?functional programming. Designed to be concise,[9]?many of Scala's design decisions are aimed to address?criticisms of Java.[7]

Scala source code can be compiled to?Java bytecode?and run on a?Java virtual machine?(JVM). Scala can also be compiled to?JavaScript?to run in a browser, or directly to a native executable. On the JVM Scala provides?language interoperability?with?Java?so that libraries written in either language may be referenced directly in Scala or Java code.[10]?Like Java, Scala is?object-oriented, and uses a?syntax?termed?curly-brace?which is similar to the language?C. Since Scala 3, there is also an option to use the?off-side rule?(indenting) to structure?blocks, and its use is advised.?Martin Odersky?has said that this turned out to be the most productive change introduced in Scala 3.[11]

Unlike Java, Scala has many features of?functional programming?languages (like?Scheme,?Standard ML, and?Haskell), including?currying,?immutability,?lazy evaluation, and?pattern matching. It also has an advanced type system supporting?algebraic data types,?covariance and contravariance,?higher-order types?(but not?higher-rank types),?anonymous types,?operator overloading, optional parameters,?named parameters,?raw strings, and an experimental exception-only version of?algebraic effects?that can be seen as a more powerful version of Java's?checked exceptions.[12]

The name Scala is a portmanteau of?scalable?and?language, signifying that it is designed to grow with the demands of its users.[13]

要查看或添加评论,请登录

Vanshika Munshi的更多文章

  • Key Data Engineer Skills and Responsibilities

    Key Data Engineer Skills and Responsibilities

    Over time, there has been a significant transformation in the realm of data and its associated domains. Initially, the…

  • What Is Financial Planning? Definition, Meaning and Purpose

    What Is Financial Planning? Definition, Meaning and Purpose

    Financial planning is the process of taking a comprehensive look at your financial situation and building a specific…

  • What is Power BI?

    What is Power BI?

    The parts of Power BI Power BI consists of several elements that all work together, starting with these three basics: A…

  • Abinitio Graphs

    Abinitio Graphs

    Graph Concept Graph : A graph is a data flow diagram that defines the various processing stages of a task and the…

  • Abinitio Interview Questions

    Abinitio Interview Questions

    1. What is Ab Initio? Ab Initio is a robust data processing and analysis tool used for ETL (Extract, Transform, Load)…

  • Big Query

    Big Query

    BigQuery is a managed, serverless data warehouse product by Google, offering scalable analysis over large quantities of…

  • Responsibilities of Abinitio Developer

    Responsibilities of Abinitio Developer

    Job Description Project Role : Application Developer Project Role Description : Design, build and configure…

  • Abinitio Developer

    Abinitio Developer

    Responsibilities Monitor and Support existing production data pipelines developed in AB Initio Analysis of highly…

  • Data Engineer

    Data Engineer

    Data engineering is the practice of designing and building systems for collecting, storing, and analysing data at…

  • Pyspark

    Pyspark

    What is PySpark? Apache Spark is written in Scala programming language. PySpark has been released in order to support…

社区洞察

其他会员也浏览了