Scala

General purpose programming language designed to express common programming patterns
Download

Scala Ranking & Summary

Advertisement

  • Rating:
  • License:
  • GPL
  • Price:
  • FREE
  • Publisher Name:
  • Michel Schinz
  • Publisher web site:
  • http://www.scala-lang.org/
  • Operating Systems:
  • Mac OS X
  • File Size:
  • 14.9 MB

Scala Tags


Scala Description

General purpose programming language designed to express common programming patterns Scala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. It smoothly integrates features of object-oriented and functional languages. Scala is also fully interoperable with Java and it is the successor of Funnel, a language based on join calculus. Here are some key features of "Scala": Scala is object-oriented: · · Scala is a pure object-oriented language in the sense that every value is an object. Types and behavior of objects are described by classes and traits. Class abstractions are extended by subclassing and a flexible mixin-based composition mechanism as a clean replacement for multiple inheritance. Scala is functional: · · Scala is also a functional language in the sense that every function is a value. Scala provides a lightweight syntax for defining anonymous functions, it supports higher-order functions, it allows functions to be nested, and supports currying. Scala's case classes and its built-in support for pattern matching model algebraic types used in many functional programming languages. · · Furthermore, Scala's notion of pattern matching naturally extends to the processing of XML data with the help of right-ignoring sequence patterns. In this context, sequence comprehensions are useful for formulating queries. These features make Scala ideal for developing applications like web services (external link). Scala is statically typed: · Scala is equipped with an expressive type system that enforces statically that abstractions are used in a safe and coherent manner. In particular, the type system supports: · · generic classes, · · variance annotations, · · upper and lower type bounds, · · inner classes and abstract types as object members, · · compound types, · · explicitly typed self references, · · views, and · · polymorphic methods. · · A local type inference mechanism takes care that the user is not required to annotate the program with redundant type information. In combination, these features provide a powerful basis for the safe reuse of programming abstractions and for the type-safe extension of software. Scala is extensible: · The design of Scala acknowledges the fact that in practice, the development of domain-specific applications often requires domain-specific language extensions. Scala provides a unique combination of language mechanisms that make it easy to smoothly add new language constructs in form of libraries: · · any method may be used as an infix or postfix operator, and · · closures are constructed automatically depending on the expected type (target typing). · · A joint use of both features facilitates the definition of new statements without extending the syntax and without using macro-like meta-programming facilities. · · Scala is designed to interoperate well with popular programming environments like the Java 2 Runtime Environment (JRE) and the .NET Framework (CLR). In particular, the interaction with mainstream object-oriented languages like Java and C# is as smooth as possible. Scala has the same compilation model (separate compilation, dynamic class loading) like Java and C# and allows access to thousands of high-quality libraries. Requirements: · JDK 1.4 or higher What's New in This Release: · A fix for an issue in the Actors library that could lead to problematic growth of the underlying thread pool. The old FJTaskRunner was replaced with a backport of ThreadPoolExecutor. Intermittent termination of the thread pool is handled more gracefully. · A fix for issue #2380, which was causing problems to some users of the Scala IDE for Eclipse running on a 1.5 VM. · An AJDT compatibility fix addressing ticket #2327, related to the installation of the Scala IDE for Eclipse. · A fix for issue #2392, "Finally clauses don't work correctly if they throw an exception". · An improved fix for bugs #715, #1896, #1930 (problem with pickler/unpickler), addressing a problem with the Lift framework. · A fix for issue #1535 (problem with inherited lazy val). · A fix for the IzPack uninstaller issue #1433, which may cause some empty subdirectories to be erroneously purged from the installation directory on *nix systems (Windows systems are not affected). · Support for automatic privilege elevation on Vista and Windows 7 for the installer, and other minor improvements.


Scala Related Software