En el siguiente enlace dejo una (posible) instalacion de Scala desde Choco
Introducción a Scala y configuración del entorno de desarrollo
Introducción al curso y presentación de los objetivos
Scala en la historia
Instalando JVM, SBT y editores
Instalación de las herramientas
¡Hola, Mundo!
Fundamentos de Programación Funcional
Tipos de datos básicos
Inmutabilidad
Expresiones
Funciones
Colecciones: Secuencias, Conjuntos y Mapas
Tuplas y Objetos
La función de copy y el concepto de Lences
Conceptos básicos de Programación Funcional
Pattern Matching
Tail recursion
Agregación
Fundamentos teoricos
Funciones totales y parciales
Razonamiento inductivo
Razonamiento con tipos
Traits
Tipos genéricos
Tipos de datos algebraicos
Evaluación peresoza (Lazy)
Disyunciones: Option
Disyunciones: Either, try
Proyecto de Backend
Introducción e iniciación del proyecto
Modelo por Actores
Modelo de datos
Configuración de Slick
Controladores: Cómo obtener información de la base de datos
Controladores: Crear, actualizar y eliminar información de la base de datos
Computación paralela, asíncrona y concurrente
Serialización
Validación
Manejo de errores en el proyecto
Exportación del proyecto
Conclusiones
Clase final
Lectura
Una vez tengas una instalación funcional del JDK8, ya sea usando OracleJDK o la distribución de OpenJDK provista por AdoptOpenJDK, vas a tener varias alternativas de herramientas para probar el código que vas a escribir durante el curso.
Antes que nada, para comprobar que todo está en orden antes de empezar, prueba que puedas llamar los comandos java -version
y javac -version
, te debe salir algo similar a lo siguiente:
Si llegas a tener algún problema con este tema, dejanos saber en los comentarios.
Read-Eval-Print-Loop, mejor conocido como la consola de Scala, es el interprete del lenguaje que vamos a usar en muchas de las clases. Te permitirá experimentar rápidamente las posibilidades y locuras que se te ocurran durante tu proceso de aprendizaje del lenguaje.
El REPL viene con la instalación del compilador de Scala. Este lo podremos encontrar en la página de descargas del lenguaje, https://www.scala-lang.org/download/, existen varios métodos, en la sección “Other ways to install Scala” puedes encontrarlos (por ejemplo, cómo instalarlo en Mac usando Homebrew), aunque también puedes descargar uno de los instaladores según tu sistema en la sección “Other resources”:
https://scalafiddle.io/ es un editor de código Scala en la web. Este es un método bastante práctico para probar código en Scala, ya que solo requiere un navegador para ser usado. La manera como funciona es incluso bastante curiosa, ya que el código que escribamos ¡se va a ejecutar en el propio navegador!
Al darle al botón Run, nuestro código es enviado a un servidor que lo compila a JavaScript mediante el compilador de Scala.js, y devuelve el resultado a nuestro navegador donde es finalmente ejecutado.
Su único inconveniente es que solo funciona con las versiones 2.11 y 2.12 de Scala. En el curso usaremos varias características de la versión 2.13, entonces en algunos casos (muy pocos) no podremos usarlo.
https://scalameta.org/metals/ es una implementación del Language Server Protocol (LSP) para el lenguaje Scala. Si no lo habías escuchado antes, un Language Server es lo que permite que cualquier editor de texto funcione como un IDE completo. Es decir, que podrías usar muchas de las funcionalidades que son normales en un IDE como son el autocompletado de código o la navegación entre funciones, ¡pero en tu editor de código favorito!
Metals puede funcionar en VisualStudioCode, SublimeText o Atom, incluso en Vim o Emacs!
Esta es una alternativa que aún está en activo desarrollo, por lo que hay casos donde puede quedarse corto aún, pero poco a poco se está consolidando como la mejor manera de codificar en Scala.
Puedes encontrar cómo instalarlo y configurarlo en tu editor, en la documentación del proyecto: https://scalameta.org/metals/docs/editors/overview.html
El editor insignia de la compañía JetBrains, es por el momento el IDE más completo para programar proyectos serios en Scala, por lo menos hasta que Metals madure un poco más.
Se ofrece en una versión de pago (Ultimate), y una versión gratuita (Community): https://www.jetbrains.com/idea/download/
En este curso usaremos la versión Community. La versión Ultimate también puede obtenerse gratis para propósitos educativos, pero para el uso que le daremos de este curso, con la versión comunitaria es más que suficiente.
Para programar cómodamente en Scala debes instalar varios plugins (si no los agregas en el momento después de la instalación inicial del IDE, puedes hacerlo después desde el menú File/Settings/Plugins):
Con estas 4 alternativas estaremos preparados para empezar a ver algo de código.
¡Te espero en la próxima clase!
Aportes 5
Preguntas 1
En el siguiente enlace dejo una (posible) instalacion de Scala desde Choco
Les dejo una posible instalación del ambiente usando Devcontainers y Visual Studio Code Scala con vscode
For MacOS: https://www.scala-lang.org/download/
brew install coursier/formulas/coursier && cs setup
Para Intellij Idea en la última versión indica que no es compatible el plugin de Play Routes, ¿Hay alguno similar que sea compatible?
Ya instalé JDK8, puedo verlo en java de mis aplicaciones en MAC Sierra. Pero en terminal, escribo java -version y javac -version y me sale que la version instalada en java 11. Qué configuración me esta faltando?
Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.