jueves, 9 de octubre de 2014

Scala, y el por qué deberías prestarle atención

Scala es, en pocas palabras, lo que muchos programadores que no gustamos de Java como lenguaje esperaríamos poder usar.
Con esto no estoy diciendo que Java sea un mal lenguaje (aunque la cruda realidad es que ya no es tan bueno), no se puede negar su gran contribución al mundo de la programación, pero si hay que decir que, frente a otros leguajes que se han ido popularizando con el tiempo, Java ha perdido preferencia.
Me refiero a lenguajes menos "estrictos", más "amigables" y más "dinámicos"... es así como Ruby, JavaScript, Python, phpffff, etc, suelen mantenerse como los lenguajes preferidos de muchos programadores para sus proyectos personales.

En base a esto, la pregunta puesta en el aire tiene ya una respuesta: Java se ha vuelto aburrido... y quizás lo que pienso es la razón principal de esto es que hay que escribir más cosas de las que debería escribir con aquellos otros lenguajes. Cuando podemos comparar Java con otro lenguaje como los mencionados anteriormente, es casi obvio que muchos preferirán los otros (y si no, es más que seguro que por desconocimiento no lo hacen).

En la práctica, hay muchos lenguajes buenos, entrenidos de aprender, más faciles de usar que los más famosos... pero, en programación cuando no hay algo util qué hacer con un lenguaje, pues nadie lo usará. El caso más concreto es el de Ruby: Aun cuando sus fans le tienen mucho amor al lenguaje... lo que él hace no difiere demasiado de, por ejemplo, python. Así que ¿para qué parender ruby cuando python es más famoso?, pero esto cambió cuando apareció RubyOnRails. RoR fue la razón para que muchos se interesaran en aprender Ruby (que por si mismo no era tan atractivo), impulsando su comunidad, su uso, y con ello, la cantidad de aplicaciones en la industria.

Es aquí cuando se comprende que lo que empuja un lenguaje hacia su uso más masivo, son las herramientas que se contruyen usandolo, incluso más que el lenguaje en sí. Scala tiene tras de sí una empresa ( http://typesafe.com/ ) que se ha tomado el trabajo de crear algunas herramientas, que pueden en verdad llamar bastante la atención por su utilidad.


JVM

El mayor aliciente para utilizar Java en aplicaciones de gran envergadura es el respaldo que la industria en general le ha mantenido a, no el lenguaje, sinó a su ambiente. Esto incluye las herramientas construídas, el respaldo (hay tantos usando Java todo el tiempo, que las posibilidades de abandono son minimas, la comunidad, etc.
Pero... dada la arquitectura de Java como plataforma... lo realmente no es Java como lenguaje, sinó el bytecode que es lo que leerán las maquinas virtuales en donde sea que ejecutemos el software.
Scala siendo un lenguaje que compila a bytecode de la maquina virtual de Java, tiene a su disposición lo que se ha cultivado durante ya casi 20 años.

Paradigma funcional

Aunque es claro que Scala no es un lenguaje funcional con lo que implica el término, es un leguaje que permite aplicar muchas técnicas funcionales que son realmente útiles... también implica que el propio diseño del lenguaje no permite hacer muchas cosas que en Java si se podían... pero realmente no es algo que se termine extrañando (ya que también este olvido... hace olvidar aquellos quebraderos de cabeza en noches en vela frente al PC).

Paralelismo y concurrencia

Scala, como su nombre lo sugiere, es un lenguaje pensado desde el inicio para ser escalable... tanto la escalabilidad horizontal como la vertical son inerentes al lenguaje, y pueden ser usadas sin ningun dolor. Muchas cosas en escencia sencillas pero que implicarían usar hilos sincronizados y complejas lógicas, vienen dentro de las bibliotecas estandar, y suelen ser tan sencillas de aplicar que muchas veces sorprende.

Patrones de diseño y buenas prácticas

Cosas tan sencillas como un singleton (el patron de diseño), suelen implicar tener que programar su comportamiento en la mayoría de los lenguajes. Scala implemente la sentencia object cuando se quieren crear "clases con una unica instancia", o lo que es igual: un singleton...
La instanciación peresoza (lazy), es una palabra reservada del lenguaje... y así, hay más ejemplos de patrones de diseño que implicitamente se usan sin necesidad de ser complicados, porque se hacen naturales de usar.


Así, aunque pueden haber muchas más razones por las cuales Scala es interesante, estas son quizás las más relevantes desde mi punto de vista.
Si estás buscando alguna excusa para aprender Scala, intentaré escribir algunos articulos más de cómo usar algunas de las herramietas propias del leguaje.

Suerte :)

martes, 18 de febrero de 2014

Lavado de cara

Luego de no publicar absolutamente nada el año pasado (que no tengo excusa... me la pasé jugando Osu! hasta el cansancio en vez de escribir ._. ), hoy aproveché algunos huecos en el horario de inicio de clases, debido a dos materias que no empiezan hoy sin o la próxima semana, para actualizar la plantilla del blog.
Espero que les guste.

Hace un par de meses que pensaba hacerlo, pero no había sacado el tiempo... en fin, las razones por las que me acordé de este ínfimo espacio es posible que las escriba más adelante... o no... ya saben como es esto de los blogs xD

lunes, 17 de septiembre de 2012

De cuando la vida se pone aburrida

En los últimos días he estado ocupado de muchas cosas en el mundo real, y ha sido poco lo que me he dedicado a temas más "naturales a mi entorno" como lo es la programación... sí, he programado mas bien poco.

Aveces llega un punto en la vida donde nos aburrimos de hacer lo mismo siempre y esas cosas que antes nos emocionaban pierden sentido y con ello, llegan la dudas: ¿Iré por el camino correcto?, ¿En verdad "esto" o "aquello" es lo que quiero hacer el resto de mi vida?, y cosas similares xD.
Pero como con todo, la cosa se supera, y quizas lo que hace este periodo de transición más sencillo es tener algún hobby... para algunos será un deporte, pero en mi caso, mi pasatiempo desde hace un buen tiempo ha sido el ver la tan conocida "animación japonesa".

Como hacer siempre lo mismo aburre decidí subir al siguiente escalón, de hecho, empecé a estudiar japonés hace aproximadamente un año con el anhelo de poder poder ir algún día a conocer Japón, poder entender los diálogos de Touhou y de, por supuesto, ver caricaturas sin tener que esperar a que le hagan los subtitulos ;D.


Con ello llegó el punto donde me encuentro ahora: El estudio de los Kanji. Para ello quise emplear un libro el cual recomiendo mucho: kanji para recordar. Así que teniendo el PDF me dí a la tarea de comenzar con dicho libro... con la mala experiencia que me dio: Leer libros de estudio en el PC distrae demasiado.

Es diferente cuando se lee alguna novela o algún articulo, porque en ellos el interés es latente todo el tiempo... pero con los libros de estudio es todo lo contrario, la mayoría del tiempo el interés está al mínimo, y en un ambiente lleno de distracciones como es el PC la cosa se pone obviamente "patógena".

Con ello llegué a la conclusión de que para poder estudiar en forma, debía tener el libro. Pero encontrarlo en alguna librería es completamente una cosa titánica, es literalmente casi imposible. En Amazon no hay stock, y tampoco está en ninguna de las bibliotecas que me quedan cerca para... ¡¿fotocopiarlo?!
Fue ahí cuando reaccioné.

Odio la piratería, entendiéndola como esa "empresa criminal" que se lucra sistemáticamente del trabajo y esfuerzo de otros. Pero ¿es el conocimiento pirateable?, puede que hayan opiniones grises en el tema, pero algo es claro: Necesitamos los libros. Son ellos los que nos proveen de conocimiento que no teníamos, son ellos los que nos abren la mente y el corazón, son ellos los que nos permiten ver más allá de lo que quizás ni estamos viendo... Por eso y por más, tomé la decisión de imprimir el texto y encuadernarlo yo mismo.

Jojojo!, la vida puede ser muy entretenida cuando empezamos a hacer cosas que antes no sabíamos que podíamos hacer.
En primer lugar, la página más importante que nos arrojará google a la hora de empaparnos sobre la encuadernación de libros, será esta:

Un sitio donde encontrarán múltiples manuales y ayudas con respecto a todo este cuento.

En próximas entradas les comentaré más sobre lo que he estado haciendo, y de como, luego de llevar muchos años con las ganas, me estoy adentrando en un nuevo hobby por cumplir un viejo sueño.

martes, 5 de junio de 2012

Recordando el pasado...

Hoy husmeando un poco en algunos DVDs viejos, encontré un PDF con un cuento que escribí para el periódico del colegio en el cual terminé (eso por allá en el 2006...). La verdad, no recuerdo la razón por la cual salió el tema para el cuento, pero aun así, creo que sigo firme con la reflexión que hice en aquel entonces:

Hace frío, la peste nos agobia a todos, y yo no puedo hacer otra cosa que mirar el cuerpo... el moretoneado y enfermiso cuerpo tirado en el suelo.
Pobre man, no se que pensara el loco que salio corriendo por la calle con sus manos ensangrentadas...
Trato de no caerme... no conozco al dueño del cuerpo, me tengo que alejar, las nauseas me están llenando de pánico, la novia grita de dolor maldiciendo y blasfemando de aquel que le quito la cosa mas importante a esta pobre persona... la vida.
¡Que pasa!, ¡por qué resultó este hombre muerto!. Van al colegio, a llamar una ambulancia, aunque, tal vez, no sea necesario si no llamar a los de la morgue, porque éste... ya esta paleto.
Después me enteré que alguien murió por una verdadera tontería: Un Chisme..... ¡UN CHISME!, ¡por favor!, que razón tan ingenua y arcaica.
En realidad esto me pone a pensar, ¿por qué?, mm... el chisme existe desde que existe la civilización... y la civilización es, según todos creemos, es una unión de sociedades “cultas” que van por un bien común, pero esta atrocidad no es ni culta ni busca un beneficio para la comunidad.
Llegó la ambulancia, y la cara de los paramédicos no es muy agradable, aun así lo llevan; que depresión, me deprimo por alguien a quien no conozco, ¿o me deprimo por la situación?, si, en una sociedad no deberían pasar estas cosas. En el campo no hay televisión, ni predisposiciones a tendencias que en una ciudad como esta si las hay...
 
-Que paso!- me gritan
-No.. pues... creo... creo que mataron a alguien... todo esto es como un sueño...-

Y si... un sueño... la vida es como un sueño... ¿la vida es sueño?, un libro... si... la lectura... ¿de donde sacó el asesino la mas mínima idea de matar a alguien?... lo mas sencillo es la televisión, los juegos de video y la publicidad... ¿donde a quedado la lectura?, nadie se preocupa por parar un momento y preguntarse “¿Qué estoy haciendo? Un chisme si es para tanto?” hay personas que no
pueden doblegarse ni un poquitico y no puede arreglar un problema con palabras, sin tocarse, y si no se aguantan, que solucionen su problema por teléfono, pero que se le puede pedir a alguien que no se preocupa por mejorar... 
No me aguanto más, pensar en la impacienta de los demás... me deja muchísimo que desear.

jueves, 19 de abril de 2012

Libros Clásicos sobre Administración

Yo la verdad, no le voy a ninguna de las dos corrientes económicas y administrativas que lideran el pensamiento humano (ie: Capitalismo y Comunismo), pero igual debo de resaltar estas dos obras ya clásicas en su genero, que me he tomado el trabajo de escanear y empaquetar en Djvu, tal y como describí en esta entrada anterior.
Tal y como dije allí, hacerlos en PDF no sale tan... cool, como hacerlos en Djvu, así que ya saben, a promover este genial formato!.


Los libros en cuestión son:
  • Principios de la administración científica, de Frederick Taylor.
  • Administración industrial y general, de Henry Fayol.
  • Problemas humanos de una civilización industrial, de Elton Mayo.

De estos tres, los dos primeros vienen en un solo libro, y aunque son clásicos, prefiero y recomiendo más la lectura del ultimo libro listado, se me hizo más interesante.

Ambos libros los dejo en descarga por MediaFire (esperemos que duren xD):


PD: hey, agradecer no les cuesta nada :D
PD2: Acabo de actualizar los libros, con mejor OCR.