Translate

domingo, 4 de noviembre de 2012

Libro gratuito de Git

Git es un sistema rápido de control de versiones escrito en C y que se ha hecho popular sobre todo a raíz de ser el elegido para el kernel de Linux.

Todo el libro Git Pro, escrita por Scott Chacon y publicado por Apress, está disponible en web. Todo el contenido está bajo la licencia Creative Commons, no comercial. Este libro es una gran ayuda para los que comenzamos con Git.

Dejo el link:
http://git-scm.com/book

jueves, 1 de noviembre de 2012

GNU/Linux Distribution Timeline 12.10


Les dejo una actualización del Timeline de Linux. Tantas distribuciones hace a gente muy diferente, con propósitos y usos muy diferentes y feliz!

Dejo link:
http://futurist.se/gldt/wp-content/uploads/12.10/gldt1210.png

sábado, 27 de octubre de 2012

Redline, corriendo Smalltalk en la plataforma Java


Si se junta un lenguaje orientado a objeto puro y la maquina virtual más usada del mercado, junto a la plataforma más robusta nos da redline. Redline es una gran idea, programar en smalltalk en la plataforma Java.

Proporcionar una implementación viable Smalltalk para la JVM puede ayudar a revitalizar la comunidad haciéndola llegar a la mayor audiencia posible. La máquina virtual de Java es sin duda la más utilizada y la plataforma de implementación más popular. Poder ejecutar Smalltalk en la JVM trae Smalltalk un público mucho más amplio posible.

Los desarrolladores que trabajan con Java y otros lenguajes de la JVM puede tener la oportunidad de trabajar con Smalltalk en un entorno en el que se sienta cómodo y aprovechar la productividad que trae Smalltalk.

Dejo link:
http://www.redline.st/

Haskell se va a las nubes!!

Cloud Haskell es un lenguaje de dominio específico (DSL) para el desarrollo de programas para un entorno de computación distribuida.  Proporciona un modelo de comunicación de paso de mensajes, inspirados en Erlang, sin introducir incompatibilidades con memoria compartida de concurrencia de Haskell.

Es una herramienta para escribir aplicaciones que deben ejecutarse en forma paralela en computadoras o máquinas virtuales. Esto nos provee confiabilidad, capacidad para ejecutar en paralelo así como para la creación de aplicaciones de cálculo intensivo que pueden beneficiarse de un montón de hardware.

Dejo link:
http://www.haskell.org/haskellwiki/Cloud_Haskell

jueves, 25 de octubre de 2012

Liberado JRuby 1.7.0!!

JRuby es el compilador de Ruby que compila en bytecode.

Tenemos una nueva versión! JRuby 1.7.0 fue liberado. Esta nueva versión nos permite correr Ruby 1.9 y soporta todas las características del lenguaje.

Otra característica muy importante es que usa el InvokeDynamic de la maquina virtual de Java 7, lo que le permite usar clousures en bytecode; aumentando notablemente el rendimiento de lenguajes que usan clousures y compilan a bytecode.

Un gran paso para la comunidad de JRuby!!

Dejo links:
http://jruby.org/2012/10/22/jruby-1-7-0.html
http://www.infoq.com/news/2012/10/jruby-17

lunes, 22 de octubre de 2012

InfoQ nos regala un libro: The Culture Game




InfoQ nos regala un librito llamado:  The Culture Game. De que se trata? Bueno, es un tutorial y guía de referencia para la creación de la agilidad del negocio en su organización. Este es el manual para quien desee desarrollar rápidamente una cultura de aprendizaje dentro de sus equipos.

Es gratuito y lo pueden bajar del siguiente link:

http://www.infoq.com/minibooks/Mezick-Culture-game


sábado, 20 de octubre de 2012

Endulzando javascript con Mozilla Sweet.js


Mozilla Sweet.js es un desarrollo de Mozilla que lo que permite es extender Javascript por medio de un sistema de macros. Con este framework podemos hacer un dsl en javascript o mejorar la sintaxis del lenguaje o agregar funcionalidad.

Vamos con un ejemplo, no quiero usar function por que es muy largo, quiero usar def:


macro def {
  case $name:ident $params $body => {
    function $name $params $body
  }
}

y ahora puedo hacer:


def add (a, b) {
  return a + b;
}

Es muy bueno!! También podemos definir clases y hacer muchas cosas más...

Dejo links:
http://sweetjs.org/
http://www.infoq.com/news/2012/10/Mozilla-Sweetjs
https://github.com/mozilla/sweet.js/wiki/Example-macros

Prueba kotlin!


Kotlin es el nombre del lenguaje de la empresa jetbrains del que ya hablamos.

Existe una pagina para probar este lenguaje; dejo link:

http://kotlin-demo.jetbrains.com/

Lo que viene, lo que viene en Scala


Han anunciado el el release candidate de Scala (Scala 2.10.0 RC1) entre las características más importante puedo nombrar:

La verdad que están a full, muchas características nuevas que hacen más potente el lenguaje.

Dejo link:
http://www.scala-lang.org/downloads#RC
https://groups.google.com/forum/#!topic/scala-language/eRYM3-SIAso/discussion


jueves, 18 de octubre de 2012

Groovy o Scala esa es la cuestión?


Dos lenguajes están haciendose famosos en la plataforma Java, Groovy y Scala; los dos son similares pero tienen diferencias importantes; que son buenas saberlas antes de elegir uno o otro.

Lo principal a mi entender que impulso a Groovy fue Grails fue el caballo de batalla y que le hizo muy buena publicidad al lenguaje. En cambio Scala no tenia un framework de desarrollo ágil que lo impulsara hasta el framework Play! 2. Si bien Grails esta super maduro, play tiene una comunidad muy buena, Por lo tanto podemos decir que en este punto es empate.


Como semejanza los dos lenguajes corren sobre la JVM, con interoperabilidad con toda la plataforma. Los dos son orientados a objetos pero Scala también es funcional y los dos tienen closures. Además los dos permiten un sistema de reutilización con mixins.  

Los dos lenguajes soportan aplicación parcial de una función y curring, pero el uso de estas caracteristicas es más natural en Scala. 

Groovy es un lenguaje dinámicamente tipado, esto puede ser bueno o malo depende de como lo veamos; además Groovy soporta dynamic meta-programming. 


Scala es un lenguaje estáticamente tipado por lo tanto no soporta dynamic meta-programming, es este punto Scala es más parecido a Java pero Scala cuenta con un sistema de tipos más sofisticado que Java. Algo que también hace la curva de aprendizaje más empinada.


Groovy es sintácticamente más parecido a Java pero semánticamente se ve la influencia que tuvo Ruby.

Scala  sintácticamente se ve la influencia de Java y Ruby, pero semánticamente fue influido por Java, SML, Haskell y gBeta.

Scala optimiza las funciones recursivas esto tiene gran importancia en el paradigma funcional pero no tiene tanta importancia en la programación imperativa.

Los dos tienen por defecto evaluación ansiosa o  eagerly; sin embargo Scala permite call-by-name y lazy evaluation. En Groovy se puede emular call-by-name con clousures.

Scala no tiene el concepto de campos o clases estáticas, utiliza singletones; en cambio groovy, si utiliza statics.

Estas son las diferencias más importantes, que tenemos que tener en cuenta cuando escogemos uno o el otro...




miércoles, 17 de octubre de 2012

Prueba Ceylon !!

Ceylon es un lenguaje que corre sobre jvm. Es un lenguaje hecho por Jboss/Red Hat ; el principal impulsor es ni más, ni menos Gavin King el creador de Hibernate. Ya hable en varias oportunidades del lenguaje: http://emanuelpeg.blogspot.com.ar/2011/08/ceylon.html

En este post les quiero recomendar que pasen por esta pagina donde van a poder probar el lenguaje y  van a comprobar la gran potencia de este lenguaje.

Dejo link:
http://try-ceylon.rhcloud.com/

martes, 16 de octubre de 2012

Advanced Linux Programming


Quien no quiere programar en Linux? Este es un libro gratuito para gente que esta familiarizado con el ambiente de programación Linux y quiera mejorar; es de libre distribución y a simple vista esta muy bueno.


Dejo links:
http://www.advancedlinuxprogramming.com/
http://www.advancedlinuxprogramming.com/alp-folder/
http://www.advancedlinuxprogramming.com/alp-folder/advanced-linux-programming.pdf

domingo, 14 de octubre de 2012

Cual es el futuro lenguaje de la plataforma Java?


Como sabrán en la plataforma Java se esta trabajando para hacer que la JVM sea políglota, por que? Porque el lenguaje Java no siempre es bueno, es decir, pensar que un lenguaje sea bueno para resolver todos los problemas es tirar a la basura mucha teoría, por ejemplo de paradigmas y mucha investigación. Y además para se sincero Java esta un poco viejo, no por tiempo si no por nivel de abstracción, por ejemplo si vamos a hacer algo a nivel hardware esta bueno pode acceder a la memoria, pero si vamos hacer un software de administración no esta bueno tener que preocuparnos por la memoria o cuestiones de hardware, este nivel de abstracción es bueno tener en cuenta cuando hay que elegir un lenguaje. En Java existen muchas cosas que hoy no tienen sentido por ejemplo los datos primitivos; que ventaja nos da el int comparándolo con el Integer?

Por estas razones se busca que otros lenguajes permitan correr sobre bytecode con la misma eficiencia que Java. Pero existe un lenguaje que va a remplazar a Java o van a ser varios? Sin duda que existe una guerra fría de lenguajes para quedarse con la plataforma. Scala, groovy, clojure, Ceylon,  jruby, jython, Kotlin, etc... ofrecen soluciones validas y diferentes formas de encarar una solución; hasta diferentes paradigmas.

En mi opinión Java como lenguaje no va a desaparecer, dado que Android le tiro un salvavidas. Para Android, java es un buen lenguaje; con un nivel de abstracción adecuado; ya que hay que cuidar los recursos dado que se ejecuta desde un celular o tablet. Además cuenta con muchos desarrolladores que esto es muy importante para una nueva plataforma.  

Creo que con los años Java va entrar en desuso en su plataforma pero va a tener larga vida en Android. La plataforma java va ser tomada por otros lenguajes; lo que no estoy seguro es si va a ver un único ganador o va ser un triunfo compartido.

Coinciden con mi opinó? Que lenguaje les gusta? Que lenguaje tiene más futuro?

jueves, 11 de octubre de 2012

Cursos a distancia

Este no es un post para solo informáticos ya que existen varias herramientas para hacer e-learning y diferentes cursos para tomar, de diferentes materias, la herramienta que más me gusta es coursera; pero hay otras que tienen presencia en internet.

Dejo link de la 5 más renombradas:
https://www.coursera.org/
http://www.udacity.com/
http://www.ck12.org/
https://www.edx.org/
http://www.khanacademy.org/

miércoles, 10 de octubre de 2012

Curso Gratuito de Ruby on Rails!!

La nueva entrega de Rails for Zombis se llama Rails for Zombis Redux que es como una reedición; en fin por lo que vi esta bueno.

Dejo link:
http://railsforzombies.org