Вы находитесь на странице: 1из 9

Lenguaje de programacin

Responsables:
Contreras Benites Eddy
Lizunde Damiano Welmer
Ziga Muos Heinz
Quispe Cusinga Gladys M.
Zalasar Elizabeth.

Ing. Wilson Candia Quispe

Escuela Profesional de Ingeniera de


Sistemas

QU ES SCALA?

Es un lenguaje de programacin de alto nivel


multi-paradigma diseado para expresar patrones
comunes de programacin en forma concisa,
elegante y con tipos seguros.

Integra sutilmente caractersticas de lenguajes


funcionales y orientados a objetos.

Scala no es una extensin de Java, pero es


totalmente interoperable con l.

Scala se traduce a bytecodes Java y la eficiencia


de los programas compilados por lo general es
igual que Java.

HISTORIA

Fue creado en la Escuela Politcnica Federal


de Lausanne por Martin Odersky en el ao
2001.

Fue liberada pblicamente en la plataforma


Java en Enero del 2004, y en la
plataforma.NET en Junio del mismo ao. Una
segunda versin del lenguaje fue liberado en
Marzo de 2006.

Odersky tena como objetivo combinar la


programacin funcional y la programacin
orientada a objetos.

CARACTERSTICAS DE
SCALA
Scala es orientado a objetos.
Scala es un lenguaje puramente orientado a
objetos en el sentido de que todo es un objeto.
Los tipos y comportamientos de objetos son
descritos por clases y traits (que podra ser
traducido como un rasgo). Las clases pueden
ser extendidas a travs de subclases y un
mecanismo flexible de composicin mezclada
que provee un claro remplazo a la herencia
mltiple.

Los traits en Scala son una de las herramientas ms


poderosas que posee el lenguaje en cuanto a orientacin a
objetos. Nos permite, no solamente reducir el tamao del
cdigo de forma considerable, sino que adems nos provee
de formas de modificar comportamientos para casos donde
sea necesario.

CARACTERSTICAS DE
SCALA
Scala es funcional.
Scala es tambin un lenguaje funcional en el sentido
que toda funcin es un valor. Scala provee una
sintaxis ligera para definir funciones annimas.
Soporta funciones de primer orden, permite que las
funciones sean anidadas, y soporta currying.
Las clases caso de Scala y las construcciones
incorporadas al lenguaje para reconocimiento de
patrones modelan tipos algebraicos usados en
muchos lenguajes de programacin funcionales.
El trmino Currying se refiere a tomar una funcin que toma n
parmetros y transformarla en una serie de funciones que
toman un nmero menor de parmetros.

CARACTERSTICAS DE
SCALA
Scala estticamente tipado.
Scala cuenta con un expresivo sistema de tipado que
fuerza estticamente las abstracciones a ser usadas
en una manera coherente y segura.
En particular, el sistema de tipado soporta:
Clases genricas
Anotaciones variables
lmites de tipado superiores e inferiores
clases internas y tipos abstractos como miembros
de objetos, etc.

CARACTERSTICAS DE
SCALA
Scala es extensible
Scala se dise teniendo en mente el hecho de que en la
prctica el desarrollo de aplicaciones requiere a menudo de
extensiones especficas del lenguaje, para ello, Scala
proporciona una combinacin nica de mecanismos que hacen
fcil y sin problemas agregar construcciones nuevas al lenguaje
en forma de bibliotecas.
Scala est diseado para interoperar bien con el popular Entorno
de ejecucin de Java 2 (JRE). En particular, la interaccin con el
lenguaje orientado a objetos Java es muy sencillo. Scala tiene el
mismo esquema de compilacin (compilacin separada, carga
de clases dinmica) que java y permite acceder a las miles de
libreras de gran calidad existentes.

APLICACIONES CON SCALA


Quin lo usa?
Compaas:
Twitter: Backend (cola de mensajes)
Sony Pictures: Middleware (capa de
conversin/traduccin)
Nature.com
SAP community
Reaktor Innovations
Mimesis Republic: juegos multijugador online
EDF Trading: inversiones burstiles
Proyectos Open Source:
Lift: Framework de aplicaciones web similar a Ruby on
Rails.
NetLogo: Lenguaje de programacin multiagente.
Isabelle: Demostrador de teoremas - Intefaz de
usuario

QUIN LO USA?
Universidades:
Programming Methods Group - Escuela Politcnica
Federal de Lausana (EPFL), Suiza.
Program Structures and Data Organization Institute
(IPD) - Universidad de Karlsruhe, Alemania.

Tesis:
Object-Oriented Pattern Matching. Burak Emir. EPFL
Oct-2007.
An Object-Oriented Programming Model for EventBased Actors. Philipp Haller. EPFL May-2006.
A Typed Intermediate Language and Algorithms for
Compiling Scala by Successive Rewritings. Philippe
Altherr. EPFL Mar-2006.
Foundations for Scala: Semantics and Proof of Virtual
Types. Vincent Cremet. EPFL May-2006.
Compiling Scala for the Java Virtual Machine. Michel
Schinz. EPFL Sep-2005.

Вам также может понравиться