Sunday, September 27, 2015

Oh Lambda, Lambda, Lambda


Oh Lambda, Lambda, Lambda es el podcast que nos tocó escuchar esta vez. En éste se habla acerca de lo grande que son los Lambas, sus múltiples usos y el hecho de que los introdujeron hace poco en Java en la versión 8. En éste se explican muchas formas de usar las lambdas y los beneficios que se pueden ver ahora en Java.
Los lambdas eran ya utilizados es otros lenguajes de programación, y tienen una gran influencia sobre los lenguajes funcionales, como Lisp, C++, Clojure, entre otros. Era necesario que se implementaran también en Java, de forma que se volviera un lenguaje más flexible e “inteligente”, ahora Java se volvió un lenguaje más fuerte, sin tantos retrasos importantes.
El uso de las lambdas permite eliminar muchas líneas "boilerplate" del código, como ellos mencionan. Antes se tenía que escribir algo extenso para lograr algo muy sencillo. Y como dicen en el podcast, los lambdas son el “syntactic sugar” de Java y otros lenguajes.
Por otro lado, la programación orientada a objetos es uno de los tipos más utilizados y al introducir las lambdas en Java, se pueden crear Interfaces Funcionales, eliminando sintaxis, por lo que los códigos se vuelven más fáciles de leer y escribir.
Me gustó mucho escuchar el podcast, Freddy y Bob explican muy bien el uso de las lambdas, y hablaron mucho de los problemas que con estos se pueden solucionar. Además creo que resulta muy fácil entender en qué situaciones usarlos para nuestro beneficio. Creo que estas mejoras hacen que Java se vuelva un lenguaje más amigable y mucho menos pesado, además de que se logró un mejor rendimiento del programa.

Creo que con la implementación de los lambdas a Java, los programadores tenemos más facilidad de enfocarnos a crear códigos de forma más legible, y todos podemos sacarle mayor provecho a estas herramientas.  

Saturday, September 12, 2015

Indie Game: The Movie

Para esta entrada de blog estaré hablando acerca de la película que vimos en clase Indie Game: The Movie. Esta película va de la mano con tres diferentes juegos y su proceso de desarrollo. Braid es un puzzle game que es muy entretenido y el creador le metió muchísimo amor a su creación, pero al final la gente no comprendía el mensaje que él quería enviar con el juego y esto lo deprimió mucho. Fez es un juego con mucho Hype y que muchas personas impacientes querían que ya saliera, pero lo que no sabían era todos los problemas relacionados con el desarrollo de juego.
Uno de los más grandes problemas con los que se enfrente el creador de Fez es el hecho de tener una fuerte pelea legal con otra persona que fue co-creador del juego o al menos eso quería apelar. Después de múltiples intentos para ya por fin liberarse de esta persona para poder 1) anunciar más su juego en eventos como PAX y 2) el tener el permiso de poder vender su juego sin que la otra persona pueda quitarle su sueño.

Por ultimo habla de los creadores de Super Meat Boy y su enorme batalla por estar en la tienda en línea de Xbox, una vez que lograron que su juego estuviera en la tienda de Xbox, tuvieron una enorme cantidad de ventas aun siendo un juego indiee. Me volví muy fan de los creadores de Super Meat Boy y no solo porque lograron grandes ventas en la plataforma de Xbox, sino por el siguiente juego que desarrollaron después. Binding of Isaac es una joya en los juegos de tipo rogué-like y mantiene mucho de los elementos artísticos que se usaron en super meat boy. Aunque solo salió para computadora, se espera que su secuela tenga entrada a diferentes consolas y portátiles.

Monday, September 7, 2015

Welcome to the Jungle

Welcome to the jungle es el artículo que nos tocó leer esta vez. Este articulo retoma lo visto en el artículo de The Free Lunch Is Over que habla de cómo se terminó la creencia de que single threaded applications dominarían el mundo por siempre. Procesadores con múltiples núcleos es la nueva era y a partir de aquí es que se puede decir que ha progresado hasta tres diferentes modelos o transiciones que se amplifican el uno al otro. Multicore que apareció en 2005, luego continua Heterogeneus cores a partir del 2009 y por último Elastic compute cloud cores del 2010 hasta el presente.
El primero es básicamente lo que se ha estado hablando desde el artículo de The Free Lunch Is Over en donde ya no se puede trabajar considerando únicamente single threaded application pero una en multi threaded applications. El segundo habla de la diversidad que se creó en CPU’s y como esto amplifica aún más la forma de programar en paralelo y que es importante considerar al estar trabajando con diferentes procesadores ya que estos pueden cambiar incluso los lenguajes que llegan a soportar y por ultimo elastic compute cloud. En este se habla de cómo el funcionamiento de multiprocesamiento en realidad ya está generado para cualquier máquina de hoy en día, pueda hacer uso de multithreaded programming con el uso de múltiples tecnologías que existen de manera comercial en la nube, tales como Amazon Web Services, Microsoft Azure, Google App Engine, entre otros.

Lo que también se remarca en el artículo es la ley de Moore y que como desde hace un tiempo se sabía que el crecimiento exponencial que había en los procesadores llegaría a un fin, y que la relevancia de programadores que se adaptes a programación multinucleos era de suma importancia para poder progresar.