Qué es Scala
Scala es un lenguaje de programación que apareció en el 2003, Orientado a Objetos (más que Java incluso, aunque en principio no lo parezca), y Funcional (es decir, con toques de los lenguajes declarativos). Aunque esta mezcla suene "efervescente" y hasta dañina, en la practica se ha visto que la combinación da buenos resultados, como es el caso de Python.
Sin embargo, compararlo con Python está mal, ya que ni siquiera le ha influenciado (Java, Pizza, Haskell, Erlang, Standard ML, Objective Caml, Smalltalk y Scheme, si lo han hecho xD ). Realmente, con solo conocer sus influencias, algunos se asustarán, pero viéndolo desde la otra cara de la moneda, hay que ser sinceros: Java en verdad es un lenguaje feo. No digo que no sea útil, ni que sea un mal lenguaje, pero si se ha quedado en una posición tan estricta con su cantidad de sintaxis, que muchos le tenemos pereza a escribir en él.
De nuevo mirando a los ancestros de Scala (interpretese "ancestros" como los ancianos de antaño, llenos de cualidades y conocimientos que los jóvenes ansían alcanzar), cada uno tiene cosas particulares que lo hace útil en su campo de acción. Puede que no sean los más populares, pero hay cosas que simplemente es mejor hacerlas en ellos para no quebrarnos la cabeza. Además como plus... Scala es más elegante de escribir que Java :)
¿Porqué dar una desconferencia sobre Scala?
Bueno... Scala es un buen lenguaje de programación, quizás no muy intuitivo para mentes no "funcionales" (o.o de lenguajes funcionales jajaja), pero que definitivamente ha probado su utilidad en el campo de batalla: Twitter y Foursquare son dos servicios web escritos en Scala. El primero es archi-conocido, y de hecho, desde que pasaron parte de su sistema a Scala la cantidad de caídas en el sistema ha menguado considerablemente, la famosa "ballena de la muerte"(link) ya no se ve tan a menudo como antes. Por otro lado, Foursquare no es tan conocido por estos lugares (más que todo porque los dispositivos con localización no son tan difundidos
Por eso y más, la gente debería conocer Scala. Poco a poco va tomando fuerza de la mano de bibliotecas y Frameworks que se van creando con él. Dos ejemplos que puedo dar son Lift, un framework web inspirado en Django, Ruby on Rails, y otros frameworks no tan conocidos, que se jacta de ser "el más seguro hoy en día"... por algo será. El otro es Akka, una biblioteca para sistemas críticos concurrentes, más general que Lift, y que coloca en bandeja de plata la facilidad de crear este tipo de sistemas de forma fácil y mantenible.
Hay mucho más que comentar sobre Scala... su propio diseño y arquitectura son bastante interesantes, pero... eso lo escribiré después, aunque seguro lo escucharán en la desconferencia ;D
¡¡Nos veremos en el #BarCamp!! (si es que algún amigo mio graba mi conferencia y la pongo por aquí :P )
3 comentarios:
Hola
Esta muy interesante tu entrada la verdad jamas habia escuchado hablar de este lenguaje. Escuchar de una lenguaje que no conocia me hace pensar en una cuestión y me gustaria conocer tu opinion. Desde que tuve mi primer acercamiento a la programación por alla en el 2003 con visual basic siempre estuve en la busqueda de un lenguaje q por encima de todo me hiciera feliz cuando programaba (utopico, no?). Y la verdad lo encontre todo en python pero viene el gran problema de que es un lenguaje no muy conocido aqui en Colombia por lo que existe muy poca salidad laboral. Cuando se busca trabajo en esto siempre es lo mismo .Net y java. ¿Cual seria tu concejo respecto a esto?.. Rendirse frente a la veleta de la demanda laboral ya aprender java o ¿mirar estas novedosas herramientas y promocionarlas?
Saludos
Otra cosa... ¿¿Scala o Goo??
Eso siempre será un problema. Uno no puede controlar el mercado, el simplemente va fluyendo según como va evolucionando la cantidad de ofertantes y demandantes...
Lo que si, es que como profesionales tampoco es bueno dejarse ahogar solo por el mercado (eso se le puede dejar a los del Sena ^^ ), porque eso ahoga la innovación.
Y sobre ¿Scala o Go?... jajaja, es como preguntar "¿Python o Ruby?", depende de lo que se quiera hacer. Igual, Go sigue evolucionando y su biblioteca no es tan probada como si lo es la de la JVM.
Publicar un comentario