Scala’s design has been inﬂuenced by many programming languages and ideas in programming language research. In fact, only a few features of Scala are genuinely new; most have been already applied in some form in other languages. Scala’s innovations come primarily from how its constructs are put together. In the following list you can see main inﬂuences programming language to scala:
- Java : Large part of the syntax , basic type , class libraries and execution model.
- C# : Large part of the syntax.
- Smalltalk : uniform object model and treating.
- Ruby : uniform object model.
- Eiffel : uniform access principle for method invocation and ﬁeld selection.
- Haskell : functional programming approach and implicit parameters.
- F# : functional programming approach.
- Erlang : actor-based concurrency library.
- C++ : operator overloading and template system.
- Lisp : ﬂexible syntax for building internal domain-speciﬁc languages.
- abstract types (alternative to generic types)
- traits for ﬂexible component assembly.
- extractors a representation-independent way to do pattern matching.
have a nice time.