eScalando

Hace un tiempo ya que estoy trabajando con java. También me tocó pasarlo con alguna materia de la facu.

Java está bien, pero lo pone a uno poco más charlatán de lo que debería. Y no lo digo por los debates acerca si sigue sirviendo o no, si tipado o no, si interpretado o …

Hay muchas cosas que se vuelven repetitivas. Si uno quiere evitar código redundante, tiene que empezar a fabricar clases para cubrir estos baches. Esas clases hacen más ruido del que deberían hacer (eso que la literatura anglo parlante llama boiler plate code).

Hay por ahí un lenguaje que se llama Scala, que ya tiene sus años y que estoy usándolo para probar. Los vendedores de elixhir sostienen que es la felicidad en tu java virtual machine. Scala es la contracción de SCAlable LAnguage.

Del nombre surgen dos interpretaciones, una por el rendimiento del equipo y la paralelización del código al favorecer estructuras inmutables, y la otra interpretación es por el rendimiento del lenguaje según el programador. En scala podés programar objetos y funcional, o muy para un lado o muy para el otro, todo depende del palo del que vengás. Ahora a medida que vas aprendiendo, vas aplicando mejor el paradigma que te conviene y tu código es más claro. También promete facilidad para generar tus lenguajes de dominio específico, que es casualmente una curiosidad que me pica desde que me enteré que existía LISP y todo eso de extender el lenguaje.

Me parece interesante eso de que el lenguaje “te deje” entrar con tu estilo y que vayás aprendiendo, manteniendo tu JVM abajo. Creo que eso tiene gancho para el ambiente profesional y académico.

Así que para ahí voy.

Como ya tengo algo de programación funcional (haskell mediante) encima, no me parece tan raro.

Como regalo al peregrino le dejo una función escrita en scala y un par de líneas para probarla:

def funcionUltraConocida(n: Int) = (2 to n).foldLeft (1) (_ * _)
def esLaRespuesta = 42.equals(_)
esLaRespuesta (funcionUltraConocida(7) / funcionUltraConocida(5))

¡Suerte! Hoy tengo parcial de física 2 y está bastante complicado.

Etiquetas: , ,

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: