Para trabajar con Scala de forma más práctica y organizada, lo ideal es guardar nuestro código en archivos con extensión .scala. Esto nos permite compilar y ejecutar el código cuando queramos, sin depender exclusivamente del intérprete interactivo, que aunque es útil para pruebas rápidas, resulta limitado para proyectos más complejos.
Podemos crear un proyecto en una carpeta, por ejemplo llamada test, y dentro de ella guardar archivos Scala. Un archivo típico podría llamarse HolaMundo.scala y contener un objeto con una función main que reciba un array de strings y ejecute un println para mostrar un mensaje. El código sería algo así:
object HolaMundo {
def main(args: Array[String]): Unit = {
println("Hola mundo")
}
}
Para editar estos archivos podemos usar cualquier editor de texto que nos guste, desde Vim, que permite instalar gramáticas para colorear código Scala, hasta editores más modernos como Visual Studio Code, Atom o Sublime Text. La elección depende de nuestras preferencias personales.
Una vez guardado el archivo, podemos ejecutarlo directamente sin compilarlo previamente usando el comando:
scala HolaMundo.scala
Este comando compila el archivo sobre la marcha y lo ejecuta, lo que es útil para pruebas rápidas. Sin embargo, esta forma no es la más eficiente para proyectos grandes, ya que la compilación en tiempo de ejecución puede ser lenta y no genera un bytecode reutilizable.
Para compilar el archivo y generar bytecode, usamos el comando:
scala -c HolaMundo.scala
Esto crea archivos .class que contienen el bytecode Java generado a partir del código Scala. Sin embargo, aunque tengamos estos archivos .class, no podemos ejecutarlos directamente con el comando java porque Scala depende de su propia librería estándar, que está empaquetada en varios archivos .jar. Por eso, para ejecutar el programa compilado, debemos usar el comando Scala con el classpath adecuado:
scala -cp . HolaMundo
Esto indica que el classpath incluye el directorio actual y ejecuta la clase HolaMundo, asegurando que se carguen las librerías necesarias de Scala.
Aunque es posible compilar y ejecutar archivos Scala manualmente con estos comandos, en la práctica es poco común hacerlo así para proyectos grandes, ya que manejar múltiples archivos y dependencias se vuelve complicado. Por eso existen herramientas que facilitan la compilación y gestión de proyectos Scala.
Una de las herramientas más importantes es SBT (Scala Build Tool), que es una herramienta de construcción específica para Scala. SBT permite compilar, ejecutar, gestionar dependencias, crear librerías y empaquetar aplicaciones de forma sencilla y automatizada. Aunque no se haya instalado en este momento, es recomendable aprender a usarla para proyectos serios.
Además, para trabajar de forma más cómoda y visual, podemos usar entornos de desarrollo integrados (IDEs) que soportan Scala. Por ejemplo, Scala IDE es un IDE basado en Eclipse que incluye soporte para Scala, SBT y librerías, ideal para quienes ya están familiarizados con Eclipse. Otra opción muy popular es el plugin de Scala para IntelliJ IDEA, que funciona tanto en la versión Ultimate como en la Community, y ofrece integración completa para programar en Scala.
En próximos pasos, podemos explorar cómo instalar y configurar estos IDEs para facilitar nuestro trabajo con Scala, evitando la necesidad de usar únicamente la terminal y los comandos manuales. Así, podremos aprovechar todas las ventajas que ofrecen estas herramientas para desarrollar aplicaciones Scala de forma eficiente y organizada.