Scala (programming language)
Scala (/ˈskɑːlə/ SKAH-lah) is a strong statically typed general-purpose programming language which supports both object-oriented programming and functional programming. Designed to be concise, many of Scala's design decisions are aimed to address criticisms of Java. The name Scala is a portmanteau of scalable and language, signifying that it is designed to grow with the demands of its users.
- Abstraction100002137
- ArtificialLanguage106894544
- Communication100033020
- language
- Language
- Language106282651
- ProgrammingLanguage
- ProgrammingLanguage106898352
- Q315
- Q9143
- Thing
- WikicatFunctionalLanguages
- WikicatProgrammingLanguages
- WikicatProgrammingLanguagesCreatedIn2003
- WikicatProgrammingLanguagesCreatedInThe2000s
- WikicatScriptingLanguages
- Comment
- enScala (/ˈskɑːlə/ SKAH-lah) is a strong statically typed general-purpose programming language which supports both object-oriented programming and functional programming. Designed to be concise, many of Scala's design decisions are aimed to address criticisms of Java. The name Scala is a portmanteau of scalable and language, signifying that it is designed to grow with the demands of its users.
- Date
- enJuly 2022
- Depiction
- Designer
- Martin Odersky
- Designer
- Martin Odersky
- Developer
- enProgramming Methods Laboratory of École Polytechnique Fédérale de Lausanne
- Developer
- École Polytechnique Fédérale de Lausanne
- FileExt
- en.scala, .sc
- Has abstract
- enScala (/ˈskɑːlə/ SKAH-lah) is a strong statically typed general-purpose programming language which supports both object-oriented programming and functional programming. Designed to be concise, many of Scala's design decisions are aimed to address criticisms of Java. 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. 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. 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 that can be seen as a more powerful version of Java's checked exceptions. The name Scala is a portmanteau of scalable and language, signifying that it is designed to grow with the demands of its users.
- Hypernym
- Language
- Influenced
- Ceylon (programming language)
- Influenced
- Ceylon (programming language)
- Influenced
- Chisel (programming language)
- Influenced
- Chisel (programming language)
- Influenced
- C Sharp (programming language)
- Influenced
- C Sharp (programming language)
- Influenced
- Fantom (programming language)
- Influenced
- Fantom (programming language)
- Influenced
- Flix (programming language)
- Influenced
- Flix (programming language)
- Influenced
- F Sharp (programming language)
- Influenced
- F Sharp (programming language)
- Influenced
- Kotlin (programming language)
- Influenced
- Kotlin (programming language)
- Influenced
- Lasso (programming language)
- Influenced
- Lasso (programming language)
- Influenced
- Red (programming language)
- Influenced
- Red (programming language)
- InfluencedBy
- Common Lisp
- Eiffel (programming language)
- Erlang (programming language)
- F Sharp (programming language)
- Haskell (programming language)
- Java (programming language)
- OCaml
- Oz (programming language)
- Pizza (programming language)
- Scheme (programming language)
- Smalltalk
- Standard ML
- Influenced by
- Common Lisp
- Eiffel (programming language)
- Erlang (programming language)
- F Sharp (programming language)
- Haskell (programming language)
- Java (programming language)
- OCaml
- Oz (programming language)
- Pizza (programming language)
- Scheme (programming language)
- Smalltalk
- Standard ML
- Is primary topic of
- Scala (programming language)
- Label
- enScala (programming language)
- License
- enApache 2.0
- License
- Apache License
- Link from a Wikipage to an external page
- www.informit.com/title/9780134540566
- oreilly.com/catalog/9781491949856/
- www.scala-js.org/
- github.com/leithaus/XTrace/blob/monadic/src/main/book/content/monadic.pdf
- archive.org/details/scaladepth00suer_381/page/n245
- www.artima.com/pins1ed
- www.artima.com/shop/programming_in_scala_4ed
- github.com/scala/scala%22)
- archive.org/details/scaladepth00suer_381
- scala-js.org
- scala-native.org
- Link from a Wikipage to another Wikipage
- .NET Framework
- Abstract type
- Actor model
- Addison-Wesley Professional
- Airbnb
- Akka (toolkit)
- Algebraic data type
- Algebraic data types
- Algebraic effect
- Alphabet Inc.
- Android (operating system)
- Annotation
- Anonymous function
- Anonymous type
- Apache Ant
- Apache Kafka
- Apache license
- Apache License
- Apache Spark
- Apple Inc.
- Artima Inc
- Block (programming)
- Boehm garbage collector
- Bottom type
- Boxing (programming)
- C (programming language)
- Category:2003 software
- Category:Articles with example Scala code
- Category:Concurrent programming languages
- Category:Cross-platform free software
- Category:Free compilers and interpreters
- Category:Free software programmed in Scala
- Category:Functional languages
- Category:Java programming language family
- Category:JVM programming languages
- Category:Object-oriented programming languages
- Category:Pattern matching programming languages
- Category:Programming languages
- Category:Programming languages created in 2003
- Category:Scala (programming language)
- Category:Scripting languages
- Category:Software using the Apache license
- Category:Source-to-source compilers
- Category:Statically typed programming languages
- Ceylon (programming language)
- Checked exception
- Chisel (programming language)
- Class (computer programming)
- Class (computer science)
- Classes (computer science)
- Clojure
- Closure (computer science)
- Collection (abstract data type)
- Collection (computer science)
- Common Language Runtime
- Common Lisp
- Communicating sequential processes
- Compiler
- Concurrent programming
- Constant (programming)
- Corner cases
- Coursera
- Covariance and contravariance (computer science)
- Criticism of Java
- C Sharp (programming language)
- Currying
- Dalvik (software)
- Databricks
- Data parallelism
- Data type
- Decompiler
- Decorator pattern
- Default argument
- Default constructor
- Delimited continuation
- Distributed computing
- Divide and conquer algorithm
- Domain-specific language
- Duolingo
- Dynamically typed
- École Polytechnique Fédérale de Lausanne
- Eiffel (programming language)
- Erlang (programming language)
- European Research Council
- Exception handling
- Expression (computer science)
- Extension method
- Fantom (programming language)
- Firebase
- Flix (programming language)
- Foreach loop
- Foursquare (service)
- Free variables and bound variables
- F Sharp (programming language)
- Functional interface
- Functional programming
- Futures and promises
- General-purpose programming language
- Generic Java
- Generic programming
- Gilt Groupe
- GitHub
- Go (programming language)
- Greylock Partners
- Groovy (programming language)
- Guardian.co.uk
- Haskell (programming language)
- Hello World program
- Higher-order function
- Higher-order type operator
- Hindley-Milner
- HMRC
- Huffington Post
- Immutability
- Immutable
- Immutable object
- Imperative programming
- Implicit conversion
- Infix
- Inheritance (object-oriented programming)
- Java (programming language)
- Java (software platform)
- Java bytecode
- Javac
- Java Classloader
- JavaScript
- Java virtual machine
- JCSP
- JUnit
- Just-in-time compilation
- Kevin Scott (computer scientist)
- Kotlin (programming language)
- Language interoperability
- Lasso (programming language)
- Lausanne
- Lazy evaluation
- Learning curve
- Let expression
- Lift (web framework)
- Lightbend Inc.
- Lisp (programming language)
- List comprehension
- List of programming languages by type
- LLVM
- M1 Finance
- Manning Publications
- Martin Odersky
- Meetup (website)
- Mergesort
- Message queue
- Microframework
- Microsoft TypeScript
- Mixin
- ML (programming language)
- Morgan Stanley
- Multi-paradigm programming language
- Multiple inheritance
- Mutable
- Name binding
- Named parameter
- Node.js
- O'Reilly Media
- Object (computer science)
- Objective-C
- Object-oriented language
- Object-oriented programming
- OCaml
- Off-side rule
- Operator overloading
- Oz (programming language)
- Parametric polymorphism
- Partial function
- Pascal (programming language)
- Pattern matching
- Perl
- Persistent data structure
- Petri net
- Pimp My Ride
- Pizza (programming language)
- Play Framework
- Polymorphism (computer science)
- PowerShell
- Protocol (object-oriented programming)
- Publish–subscribe pattern
- Python (programming language)
- Python syntax and semantics
- QuickCheck
- Quicksort
- R (programming language)
- Raffi Krikorian
- Raw string
- Recursion (computer science)
- Red (programming language)
- Remember the Milk
- REPL
- Ruby (programming language)
- SBT (software)
- ScalaCheck
- ScalaMock
- ScalaTest
- Scalatra
- Scheme (programming language)
- Side effect (computer science)
- Singleton (mathematics)
- Singleton pattern
- Smalltalk
- Software transactional memory
- SoundCloud
- Soundness
- Specs2
- Stack overflow
- Stack Overflow
- Standard ML
- Statically typed
- Static typing
- Strong and weak typing
- Structural type system
- Subclass (computer science)
- Swift (programming language)
- Switch statement
- Switzerland
- Syntax (programming languages)
- Tail call
- Talk:Scala (programming language)
- Ternary operator
- TestNG
- The Guardian
- The New York Times
- ThoughtWorks
- Thunk (functional programming)
- TIOBE index
- Trait (computer science)
- Trampoline (computing)
- Tuple (computer science)
- Type inference
- UBS
- Variance (computer science)
- Verizon
- Walmart Canada
- Yammer
- Zalando
- Logo
- enScala-full-color.svg
- Name
- enScala
- Name
- enScala
- Paradigm
- Concurrent programming
- Functional programming
- Imperative programming
- Multi-paradigm programming language
- Object-oriented programming
- Platform
- enLLVM
- JavaScript
- Java virtual machine
- ProgrammingLanguage
- enScala
- SameAs
- 4G1Xd
- 7658965-1
- Linguaxe de programación Scala
- m.091hdj
- Q460584
- Scala
- Scala
- Scala
- Scala
- Scala
- Scala
- Scala
- Scala (bahasa pemrograman)
- Scala (język programowania)
- Scala (langage)
- Scala (lenguaje de programación)
- Scala (limbaj de programare)
- Scala (linguagem de programação)
- Scala (linguaggio di programmazione)
- Scala (llenguatge de programació)
- Scala (ngôn ngữ lập trình)
- Scala (ohjelmointikieli)
- Scala (programlama dili)
- Scala (programlingvo)
- Scala (programmeerimiskeel)
- Scala (programmeertaal)
- Scala (programmeringsspråk)
- Scala (programmeringssprog)
- Scala (Programmiersprache)
- Scala (programming language)
- Scala (programming language)
- Scala (programovací jazyk)
- Scala (programski jezik)
- Scala (programspråk)
- Scala (proqramlaşdırma dili)
- Scala (програмски језик)
- Scala (язык программирования)
- Scala (ծրագրավորման լեզու)
- סקאלה (שפת תכנות)
- اسکالا
- سكالا (لغة برمجة)
- స్కాలా
- സ്കാല (പ്രോഗ്രാമിങ് ഭാഷ)
- 스칼라 (프로그래밍 언어)
- Subject
- Category:2003 software
- Category:Articles with example Scala code
- Category:Concurrent programming languages
- Category:Cross-platform free software
- Category:Free compilers and interpreters
- Category:Free software programmed in Scala
- Category:Functional languages
- Category:Java programming language family
- Category:JVM programming languages
- Category:Object-oriented programming languages
- Category:Pattern matching programming languages
- Category:Programming languages
- Category:Programming languages created in 2003
- Category:Scala (programming language)
- Category:Scripting languages
- Category:Software using the Apache license
- Category:Source-to-source compilers
- Category:Statically typed programming languages
- Thumbnail
- Typing
- Static typing
- Strong and weak typing
- Structural type system
- Type inference
- WasDerivedFrom
- Scala (programming language)?oldid=1115097625&ns=0
- Wikibooks
- enScala
- WikiPageLength
- 101623
- Wikipage page ID
- 3254510
- Wikipage revision ID
- 1115097625
- WikiPageUsesTemplate
- Template:)
- Template:As of
- Template:Authority control
- Template:Category see also
- Template:Citation needed
- Template:Cite book
- Template:Clarify
- Template:Clear
- Template:Code
- Template:Common Language Infrastructure
- Template:For
- Template:Infobox programming language
- Template:IPAc-en
- Template:Java (Sun)
- Template:Mono
- Template:Portal
- Template:Programming languages
- Template:Refbegin
- Template:Refend
- Template:Reflist
- Template:Respell
- Template:Sdash
- Template:Short description
- Template:Start date and age
- Template:Unreferenced section
- Template:URL
- Template:Wikibooks
- Template:Wikidata
- Wordnet_type
- synset-programming language-noun-1
- Year
- 20 January 2004