28 julio 2019

Hola Mundo Scala para Desarrolladores en Java


Scala es un lenguaje de programación multi-paradigma moderno, donde integra fácilmente las programación funcional y Orientada a Objeto. Es compilado por Java bytecode donde permite que el código resultante pueda ejecutarse en la Java JVM.

Las características más importantes de Scala son las siguientes:
  • Se puede combinar las librerías de Java con Scala, la ventaja que se pueden trabajar con ambos paradigmas (OOP y FP), por lo tanto, podemos tomar lo mejor de cada uno.
  • Es un lenguaje de tipado seguro que incorpora objetos orientados y programación funcional en un lenguaje extremadamente conciso, lógico, poderoso y de alto nivel. 
  • Scala es un lenguaje de programación puramente orientado a objetos donde cada valor es un objeto y cada operación es una llamada a un método. Por lo tanto, soporta arquitectura de componentes avanzados a trasvés de clases y traint. Abstracción, encapsulamiento, polimorfismo, recolección de basura y demás características de la programación orientada a objetos son totalmente soportados, pero con un toque más elegante, seguro y fácil de implementar. 
  • Scala también es un lenguaje de Programación Funcional, por lo cual es un estilo de desarrollo de software que enfatiza las funciones que no dependen del estado del programa. El código funcional es más fácil de probar y reutilizar, más sencillo de paralelizar y menos propenso a errores que otros códigos. Scala es un lenguaje emergente de JVM que ofrece un fuerte soporte para FP. Su sintaxis familiar y su interoperabilidad transparente con Java hacen de Scala un gran lugar para comenzar a aprender (FP). 
          Apesar de que el paradigma funcional fue mayormente usado en el sector de investigación
          y la academia y no para la industria. Actualmente la FP ha tomado mucho interés en muchos              lenguajes de programación debido a la manera que simplifica ciertos problemas de diseño,                  especialmente la concurrencia.

Instalar Scala
Descarga Scala en la siguiente url: https://www.scala-lang.org/download/

Ejemplo
En este ejemplo vamos a crear el famoso “HolaMundo” que por cierto, es muy simple. Utilizando el IDE Intellij.

Primer Paso: Creamos un nuevo proyecto en scala como se muestra en la Figura 1.

Figura 1

Segundo Paso: Seleccionamos en el  el lenguaje de programación "Scala" como segundo seleccionamos el "sbt" como se puede observar en la Figura 2.

Figura 2

Tercer Paso: Colocamos el nombre del proyecto y la ruta, ojo no se nos olvide seleccionar la opción de Scala source, como se puede observar en la Figura 3.

Figura 3

Cuarto Paso: Estructura del proyecto en "Scala", como se puede observar en la Figura 4.

Figura 4

Quinto Paso: En este paso seleccionamos la opción "Scala Class", como se puede observar en la Figura 5.

Figura 5

Agregamos el nombre, en este ejemplo colocamos "HolaMundo" y seleccionamos el paquete "Object", como se puede observar en la Figura 5.1.

Figura 5.1

Sexto Paso: En este ejemplo de Scala se realizara de dos formas diferentes.

Primera Forma: Como pueden observar en la Figura 6, la estructura del código es muy similar a la de Java, si nos ponemos analizar, para los desarrolladores antiguo en Java de pronto se le hace un poco extraño la declaración Object,  esta declaración introduce lo que se conoce como objeto singleton, que es una clase con una sola instancia, por ejemplo la clase HolaMundo se declara como una instancia también llamada del mismo nombre. Esta instancia es creada por demanda, en otras palabras, la primera vez que es utilizada. Por lo tanto, se define un método main,  notamos que dicho método no es declarado como static, esto hace referencia que los miembros estaticos(metodo o campos) no existen en Scala. Por otra parte tenemos un (Array de objeto de String), es decir, en el caso que se requiera ejecutar desde una linea comando toma los argumentos como parámetros. Por otra parte no es necesario declarar dentro del método main un tipo de retorno.

object HolaMundo{

  def main(args: Array[String]): Unit =
  {
           println("Hola Mundo")
  }
}
Figura 6

Segunda Forma: Agregamos la funcionalidad App “trair”, se puede utilizar para convertir rápidamente los objetos en programas ejecutables, como se puede observar en la Figura 7.

object HolaMundo2 extends App {

  println("Hola Mundo 2")
}
Figura 7

Ahora debería tener las palabras "Hola Mundo" en la consola en la parte inferior del IDE.

REFERENCIAS: