Lenguaje Scala está considerado como un lenguaje de programación complejo pero muy eficiente y demandado. En el artículo de hoy, me gustaría mostraros algunos datos sobre la popularidad de Scala, beneficios y listar algunos de los mejores blogs donde se habla de ello, donde podréis encontrar ejemplos prácticos y más información.

 

Lenguaje Scala

Antes de nada, dejemoslo claro, ¿Qué es Scala? Es un lenguaje de propósito general. Ha sido designado para ser conciso y mucha gente dice que se ha creado para rellenar los defectos de Java. La fuente de su código está destinado a ser compilado por Java bytecode para permitir que el código resultante pueda funcionar en Java VM.
También, como sugiere su nombre, Scala es un acrónimo de lenguaje escalable, diseñado para crecer con la demanda. Además, es un lenguaje de tipado seguro que incorpora objetos orientados y programación funcional en un lenguaje extremadamente conciso, lógico y poderoso.

En el mundo del desarrollo de software, Scala está considerado como un lenguaje de high-end, y cuenta con la reputación de ser un lenguaje complejo para aprender por un desarrollador junior. Pocos desarrolladores en el mundo saben cómo trabajar (de verdad) con Scala y muy pocas compañías lo utilizan. Su adopción está creciendo y más tarde veremos más datos sobre ello, pero sólo para abrir boca, grandes compañías como LinkedIn, Twitter y The Guardian lo utilizan para su base de datos. Aquellos que conocen lenguaje Scala, disfrutan de una mayor carrera y cada vez más aparecen mejores oportunidades de trabajo.

 

Razones por las que crece su popularidad

Los lenguajes de programación son el corazón de las nuevas tecnologías de hoy en día. Según Jaxenter, Lenguaje Scala ha escalado 11 puestos en la lista desde Mayo del 2017 y se posiciona en el puesto #20. Scala se mantiene en el puesto 12 como lenguaje de programación con más demanda según Indeed.

¿Porqué? Scala surgió con el objetivo de ser un mejor lenguaje, cambiando esos aspectos de Java considerados como antiguos, tediosos y frustrantes para los desarrolladores. Como resultado, la programación de Scala es un poco más difícil, pero el resultado es mucho más limpio, organizado, fácil de utilizar y con una mejor productividad final.

Además, en Scala, el compilador es increíblemente inteligente, por lo que facilita el trabajo de los desarrolladores explicitando esas cosas con las que el compilador puede inferir. Scala es muy flexible definiendo abstracciones.

Scala trabaja perfectamente cuando existe la necesidad de navegar por un dominio complejo. La programación distribuida o simultánea son un par de ejemplos. Además de ello, los paralelismos son muy complicados de reparar, Scala ofrece una cantidad de librerías que lo simplifican, construyendo abstracciones.

Otro beneficio de Scala es la inmutabilidad. Scala hace que sea fácil escribir código mediante el uso de información inmutable. Esto incluye construcciones como : first-class vals, case classes, higher order functions etc. Razón para la estructura y el diseño de las librerías, todas las estructuras de información “default” son inmutables. Eso simplifica mucho las cosas.

Y hay más, el soporte de Scala para el type constructors higher-kinded types y typeclasses, through implicits, hace que sea mucho más fácil trabajar con tipos wrapper/container-like como Promises, Future y Tasks.

Y únicamente he mencionado algunas ventajas, hay muchas más!
Si estás interesado en saber más sobre Scala, te recomiendo que sigas los siguientes blogs:

 

1. The Scala Programming Language Blog

Seguid este blog si queréis novedades sobre Scala Center y el equipo de Scala en Lightbend.

 

2. Alvinalexander.com | Scala

La web alvinalexander.com fue creada por Alvin J. Alexander. En esta web Alvin comparte diversos puntos de vista y tutoriales respecto Scala.

 

3. Scala IDE for Eclipse

Ofrece buenos editores y soporte debugging para el desarrollo de puro Scala y aplicaciones con combinaciones de Scala y Java. Sigue este blog para noticias sobre el open source de Scala IDE para Eclipse.

 

4. Scala Prof

Este blog muestra la solución a varios problemas que podrías encontrar trabajando con Scala.

 

5. Apiumhub Scala Blog

Nuestro blog cubre artículos sobre arquitectura y desarrollo de software. Uno de los blogs más leídos de Scala, donde los desarrolladores comparten sus experiencias y charlan sobre Scala Generics.

 

6. TypelevelScala

Aquí descubriréis cómo utilizar librerías en tu código, ejemplos o más recursos para aprender.
Si quieres seguir indagando en Scala, casos prácticos o más información, este blog es para tí.

 

7. Daniel Westheide

Este blog es “The Neophyte’s Guide to Scala”, dirigido para todos aquellos entusiastas que ya han tenido sus primeros pinitos con la lengua y buscan extender su umbral de conocimiento. Sirve como hub para todo lo relacionado con Scala.

 

8. Scala Days

Alejandro Lujan se lo está pasando bien con Big Data en Shopify y dirige la ScalaQuest, un juego para aprender más sobre Scala. Escribe distintos libros para niños sobre Scala y organiza Scala Up North, la primera conference de Scala en Canadá. Le encanta enseñar y estuvo algunos años trabajando con Lightbend enseñando a otros a utilizar Scalar, Akka y Play a utilizar el código de una forma elegante, sólida y mantenible. 

 

9.  Buildo

En este blog podréis encontrar los últimos artículos sobre Scala: experiencias, conferencias, casos prácticos, consejos y mucho más!

 

10. SoftwareMill 

Preguntas sobre Scala, cuando, cómo y porqué es un lenguaje de gran uso. Todas esas respuestas las podrás encontrar en este blog.

 

Suscríbete a nuestro newsletter para estar al día de desarrollo backend e Lenguaje Scala en concreto!

 

Si este artículo sobre Lenguaje Scala te gustó, te puede interesar: 

 

La Deuda Técnica 

Simular respuestas del servidor con Nodejs

Principio de responsabilidad única 

Por qué Kotlin ?

Patrón MVP en iOS

Arquitectura de microservicios  

F-bound en Scala: traits genéricos con higher-kinded types

Scala Generics I : Clases genéricas y Type bounds

Scala Generics II: covarianza y contravarianza 

Scala Generics III: generalized type constraints

Implícitos en Scala