Ir al contenido principal

Guía para principiantes de Scala

Aprende los fundamentos de Scala: sintaxis, cómo configurar el entorno y los tipos de datos más comunes.
Actualizado 17 sept 2026  · 6 min leer

Explorar con IA

ChatGPTClaudePerplexity

Introducción

\n

\"scala

\n

Scala fue diseñada por Martin Odersky, profesor en la École Polytechnique Fédérale de Lausanne (EPFL) en Suiza y científico informático alemán. Martin empezó a trabajar en Scala en 2001 y se lanzó por primera vez en 2004.

\n

Scala significa Scalable Language. Es un lenguaje de propósito general, orientado a objetos, con varias similitudes con Java. Además, ofrece soporte para programación funcional. Muchas de las decisiones de diseño de Scala buscaban solucionar limitaciones del lenguaje Java.

\n

Algunas características que ofrece Scala:

\n
    \n
  • \n

    El código fuente de Scala puede compilarse a bytecode de Java y, por tanto, ejecutarse en una Java Virtual Machine (JVM).

    \n
  • \n
  • \n

    Interoperabilidad con Java: puedes usar bibliotecas escritas en cualquiera de los dos lenguajes desde código Scala o Java.

    \n
  • \n
  • \n

    Al igual que Java, Scala usa sintaxis con llaves.

    \n
  • \n
  • \n

    Incluye muchas características de lenguajes funcionales como Scheme, Standard ML y Haskell: currificación, inferencia de tipos, inmutabilidad, evaluación perezosa y pattern matching.

    \n
  • \n
  • \n

    Soporte para aplicaciones web con JavaScript.

    \n
  • \n
  • \n

    A diferencia de Java, Scala también admite sobrecarga de operadores, parámetros opcionales, parámetros con nombre y cadenas sin procesar.

    \n
  • \n
\n

Un dato curioso sobre Scala: es muy utilizada por empresas como Apple, Twitter, Walmart y Google por su escalabilidad y su capacidad para usarse en operaciones de backend.

\n

Configurar Scala en Jupyter Notebook

\n

Jupyter Notebook es una de las herramientas más usadas en informática, especialmente en ciencia de datos. También puedes desarrollar en Scala gracias a spylon-kernel.

\n

Nota: si eres nuevo en Jupyter Notebook, echa un vistazo a este tutorial completo.

\n

Configurar el entorno de Scala en Jupyter Notebook no tiene misterio. Vamos a dejarlo listo en unos pocos pasos.

\n
    \n
  • \n

    Primero, instala spylon-kernel.

    \n

    pip install spylon-kernel (Python 2)
    pip3 install spylon-kernel (Python 3)

    \n
  • \n
  • \n

    Después, crea la especificación del kernel para poder seleccionar scala-kernel en Jupyter Notebook.

    \n

    python -m spylon_kernel install (Python 2)
    python3 -m spylon_kernel install (Python 3)

    \n
  • \n
  • \n

    Luego, un paso importante: instala pyspark y findspark, ya que spylon-kernel también instala algunos componentes de spark.

    \n

    pip install pyspark findspark (Python 2)
    pip3 install pyspark findspark (Python 3)

    \n
  • \n
  • \n

    Por último, inicia tu Jupyter Notebook, elige el kernel spylon-kernel ¡y listo!

    \n
  • \n
\n

\"jupyter

\n
    \n
  • Ejecutemos un pequeño fragmento de código para comprobar si el kernel de Scala quedó bien configurado.
  • \n
\n
val x = 2\nval y = 3\nx*y\n
\n
x: Int = 2\ny: Int = 3\nres1: Int = 6\n
\n

¡Genial! Como ves en la salida anterior, has configurado correctamente el entorno de Scala en Jupyter Notebook.

\n

Sintaxis básica

\n

Empecemos imprimiendo Hello, World! en Scala.

\n
print(\"Hello, World!\")\n
\n
Hello, World!\n
\n

Como ves, es muy sencillo: un comando print seguido del texto como argumento.

\n

Ahora, veamos algunos detalles de sintaxis en Scala:

\n
    \n
  • \n

    Scala distingue entre mayúsculas y minúsculas (case-sensitive), por lo que los identificadores DataCamp y dataCamp tienen significados distintos.

    \n
  • \n
  • \n

    En Scala, los nombres de las clases deben empezar en Mayúscula. Si el nombre combina varias palabras, la primera letra de cada una va en mayúscula. Por ejemplo, class MyScalaDataCampTutorial.

    \n
  • \n
  • \n

    Los nombres de los métodos funcionan de forma ligeramente diferente a los de las clases para diferenciarlos. Deben empezar en minúscula (Fuente). Si el nombre combina varias palabras, la primera letra de cada palabra interna va en mayúscula. Por ejemplo, def firstDatacampScalaTutorial()

    \n
  • \n
  • \n

    En Scala, el nombre del archivo del programa debe coincidir exactamente con el nombre del objeto. Al guardar el archivo, usa el nombre del objeto y añade .scala al final. Por ejemplo, si el objeto se llama ScalaTutorial, el archivo debe guardarse como ScalaTutorial.scala.

    \n

    Nota: si el nombre del archivo y el del objeto no coinciden, el programa ni siquiera compilará.

    \n
  • \n
  • \n

    Por último, como en la mayoría de lenguajes, la ejecución de un programa en Scala comienza en el método main(), que es una parte clave de cualquier programa en Scala.

    \n
  • \n
\n

La siguiente figura muestra las palabras reservadas de Scala, que no pueden usarse como constantes, variables ni como cualquier otro identificador.

\n
\n
\"reserved\n
(Fuente)
\n
\n
\n

Tipos de datos

\n

Los tipos de datos en Scala son casi idénticos a los de muchos otros lenguajes como C, C++, Java o Python, con un uso de memoria y precisión similares.

\n

Veamos algunos de los tipos de datos que existen en Scala:

\n
    \n
  • \n

    Int: valor con signo de 32 bits (puede ser positivo o negativo), con rango de 2^{-31} a 2^{31} - 1

    \n
  • \n
  • \n

    Byte: valor con signo de 8 bits, con rango de 2^{-7} a 2^{7} - 1

    \n
  • \n
  • \n

    Short: valor con signo de 16 bits, con rango de 2^{-15} a 2^{15} - 1

    \n
  • \n
  • \n

    Long: valor con signo de 64 bits, con rango de 2^{-63} a 2^{63} - 1

    \n
  • \n
  • \n

    Float: tanto de 32 bits (precisión simple) como de 64 bits (precisión doble)

    \n
  • \n
  • \n

    Char: carácter Unicode sin signo de 16 bits (solo admite valores positivos).

    \n
  • \n
\n

Otros tipos de datos habituales son String, Boolean y Null.

\n

Conclusión

\n

Enhorabuena por completar este tutorial.

\n

Es un buen punto de partida para quienes quieren aprender Scala desde cero.

\n

Para seguir aprendiendo, echa un vistazo a los tutoriales de Scala en DataCamp:

\n

Conceptos básicos de funciones y métodos en Scala

\n

IF ELSE en Scala

\n

Operadores en Scala

\n

Listas en Scala

\n

Hay muchísima información sobre Scala por descubrir —if/else, bucles for, distintos operadores, etc.— que cubriremos en próximos tutoriales. ¡Permanece atento!

\n

Referencias:

\n\n

Si tienes dudas sobre este tutorial, déjalas en los comentarios aquí abajo.

Temas
Scala
Ciencia de datos

Aprende más sobre data science y Scala

Curso

Introducción a Scala

3 h
27.1K
Comienza tu viaje con Scala, un lenguaje popular para aplicaciones escalables e infraestructura de ingeniería de datos.
Ver detallesRight Arrow
Iniciar Curso
Ver másRight Arrow
Relacionado

Tutorial

Cómo escribir un Bash Script: Un sencillo tutorial de Bash Scripting

Descubre los fundamentos de las secuencias de comandos bash y aprende a escribir una secuencia de comandos bash.
Kurtis Pykes 's photo

Kurtis Pykes

5 min

Tutorial

Tutorial de Pyspark: Primeros pasos con Pyspark

Descubre qué es Pyspark y cómo se puede utilizar, con ejemplos.
Natassha Selvaraj's photo

Natassha Selvaraj

10 min

Tutorial

Tutorial de Power BI DAX para principiantes

Aprende qué es DAX y descubre la sintaxis y las funciones DAX fundamentales que necesitarás para llevar tus conocimientos de Power BI al siguiente nivel.
Joleen Bothma's photo

Joleen Bothma

9 min

Tutorial

Tutorial de pandas en Python: La guía definitiva para principiantes

¿Estás preparado para comenzar tu viaje de pandas? Aquí tienes una guía paso a paso sobre cómo empezar.
Vidhi Chugh's photo

Vidhi Chugh

15 min

Tutorial

Tutorial de GitHub y Git para principiantes

Un tutorial para principiantes que muestra cómo funciona Git y por qué es clave en proyectos de ciencia de datos.
Abid Ali Awan's photo

Abid Ali Awan

9 min

Tutorial

Tutorial de Estructuras de Datos en Python

Introdúcete en las estructuras de datos de Python: aprende más sobre tipos de datos y estructuras de datos primitivas y no primitivas, como cadenas, listas, pilas, etc.
Sejal Jaiswal's photo

Sejal Jaiswal

24 min

Ver MásVer Más