Monday, October 1, 2012

SCALA


     
 DESCRIPTION

SCALA is a general purpose programming language designed by Martin Odersky to express common programming patterns in a concise  elegant and type-safe way, integrating features of both object-oriented and functional languages. 

HISTORY:

SCALA was designed in 2001 by Martin Odersky and his group at EPFL in Lausanne, Switzerland.

After having written hundreds of thousands lines of Java himself, Martin Odersky, Professor at EPFL, was well aware of the frustrations faced by Java programmers. He formed the vision of applying the best knowledge of the academic research community to the problem of making the Java programming experience better, even fun. His first pragmatic step was Java Generics, seen as a major success by the Java community. But for the full vision of scalable concurrent programming to be achieved he saw that the basic Java syntax would need to change. You simply couldn't get there from here. But a deceptively simple shift in syntax gained better uniformity to the object-oriented aspects of Java, and this in turn enabled a natural fusion with functional programming concepts which are critical for tackling concurrency. Thus,the birth of Scala.

A first public release was done in of 2003. In 2006, a second, redesigned version was released as Scala v 2.0. The language has been steadily gaining popularity ever since.


FEATURES:

  • 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 pattern-matching. 

  • Scala is object oriented

Scala is a pure object-oriented language in the sense that every valueis an object. Types and behavior of objects are described by classes and traits.

  • 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.

  • Scala is extensible

Scala provides a unique combination of language mechanisms that make it easy to smoothly add new language constructs in form of libraries.


GETTING STARTED WITH SCALA

Here is a simple "Hello  World" Program in Scala



SCALA or NOT?

"Is Scala flawed? Hell yes. But if you think it's a great language then contribute. Help make it and its ecosystem better."- James Iry, Consultant at Qualistics, Director of Software Development at Momentum Software Director of Engineering at SmartPrice.com

"I’ve seen a number of projects where Scala has made the difference in terms of (1) raw developer productivity and (2) ability to recruit top-notch talent. The combination of the two facts has led to results that I do not think could have been achieved with Java." -  David Pollak, CTO and VPE at Cenzic, found Lift Framework open source project.

"Scala's functional orientation is worth exploring, and not only because you've run out of objects to play with. Functional programming in Scala will give you some new design constructs and ideas, as well as built-in constructs that make programming certain scenarios (such as concurrency) much, much easier." -Ted Neward, Microsoft MVP Architect, BEA Technical Director, INETA speaker, former DevelopMentor instructor

"If you’re like me, one of the first things that attracted you to Scala was its parser combinators.  Well, maybe that wasn’t the first thing for me, but it was pretty far up there.  Parser combinators make it almost too easy to create a parser for a complex language without ever leaving the comfortable play-pen afforded by Scala. "-  Daniel Spiewak, Senior R&D Engineer at ReportGrid, Committer at The Apache Software Foundation

There are many reasons why this is attractive both to the developer and to companies in general. Scala is a concise and highly productive programming language. By using Scala on .Net, developers can produce applications more quickly and have the possibility of deploying them across the two major industry platforms, JVM and .Net. - Miguel Garcia, part of SCALA group at EPFL

SCALA TODAY

A new milestone release for Scala is available. This release is cut directly from current development and is not intended for production environments, but is a great chance to try out the up and coming features for Scala 2.10.0. The milestone 2.10.0-M7 includes many fixes and improvements.


WHAT. WE. SAY.

"Scala combines the excellent object-oriented features of Java and mixed it with some notable elements of functional programming languages like anonymous functions, therefore creating a much syntactically shorter, but equally powerful programming language that can succeed Java and other functional programming language."


-Rainiel, 2010-20470


"Parang Java lang, na nasa command prompt. :)  Hindi ko masyadong nakita yung mga differences ng Scala from Java na sinasabi nila, pero ayos lang naman gamitin. Madali lang yung Hello world. Haha. "

-Joanne, 2010-01535


"SCALA is like Java in so many aspects but with a certain taste of functional programming. Very user-friendly."

-Joar, 2010-65336


Asteeg ng scala kasi pwede mong i-import ang java libraries sa project mo. Pwede mong ring gamitin ang project mo sa .NET platform! Its awesome to have that kind of program flexibility.

- Rolianne, 2005-2498


SOURCES:
http://www.scala-lang.org/node/10299


         GROUP MEMBERS:

      T-1L
      Legaspi, Rainiel Byron M.         2010-20470
      Lee, Joanne E.                           2010-01535
      Morada, Joar I.                          2010-65336
      Tropia, Rolianne S.                    2005-29498

No comments:

Post a Comment