miércoles, 3 de octubre de 2018
¿Cuáles son los mejores lenguajes que se ejecutan en la JVM?
Quiero compartir este ranking de lenguajes que corren en la JVM. Al parecer viene ganando Kotlin, claramente ayudado por android.
Lo que me sorprende es que en segundo lugar este Clojure, es una grata sorpresa. Sin más...
Dejo link: https://www.slant.co/topics/397/~best-languages-that-run-on-the-jvm
sábado, 20 de julio de 2013
Las personas detras del lenguaje
La pregunta es quien es James Strachan? y que hace de su vida ahora? Quienes son las personas detras del lenguaje y cual es su opinión acerca de él.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7WOlnw62NqNhjTVBDxleEj3Bu6sTw3PJWgdq6pxEA3Wmvkq_tV02pDo3NQI96FISS4JW-0nrdNFRejQaYMq1shXbppoUGp9_64b_qmbT6AyCTGdNZxzC_AUjsw-m4_qMDEdjm8YW5YxU/s1600/James+Strachan.png)
James Strachan creador de Groovy, tiene un cv impresionante y una opinión muy particular de su lenguaje. Creador del lenguaje Groovy aunque no continuo el desarrollo. Se dedico a crear varios proyectos en Apache y uno más impresionante que el otro; además es commiter de otros proyectos como maven o Jakarta Commons. Actualmente trabaja en Red Hat. Y le gusta mucho Scala.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBcRPORuVTejFA_ZvR4gjg-27u0O0GHm_qknHv2mIpTHeCQoRgJgpftmfL1bWDgCjG5VrswyD5onceaiM-AXBP_XNQ-j1uqeNWITVgiwtEOjcS6Po6lFDdeLvuG-lYVN3KMrHqf53Yupk/s200/martin_odersky.jpg)
Entre otras cosas dicto un curso en cursera que se los recomiendo.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMzI3Pz1E1PNBpeoNcGtmzyLYg7EkInbVt96qLEXDyZGicSkLZgsJnpbsTyaVM6_GuEmL-FQUOCC504AVaVwqXWP3mtcPvV1OagTGvmcC9EV_feWyWAsGJqhDzveqq3_bWs7M37ARKPUE/s200/richhickeuy.jpg)
Rich Hickey describe el desarrollo de Clojure como la búsqueda de un lenguaje que no pudo encontrar: un lisp funcional por defecto, integrado sobre un entorno robusto en lugar de ser su propia plataforma, y con la programación concurrente en mente.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMCEgNrPoZBChwJ4tv3t1EUtIkZyFF6-ufwH_yA1P2S3W59MyQWi8m9aY0eLYOvC7BNPjiPSYUV9oAaQTA-5r7O3wrl0xjmM3kD4twghksqXVkUiNm3b5GJtr82-iWIsBi-WE2BaF__Ts/s1600/gavin_king.jpg)
Como el explica Gavin, el diseño de Ceylon parte de una pregunta, como sería java si fuera hecho hoy en día? Con esa idea diseña un lenguaje moderno de tipado estático parecido a Java. Ceylon que tiene como principal objetivo actualizar el lenguaje Java.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpNKU25X4FvZ5kDMiKQktHfksjD0lhP4m1do3pz2QkqHVJMGUPYbyx2RmmUhJMPXivCOykJbvoLA8K5B4atRBK3hPPXLrlNYDe6hO9jyGoWKvVuCHr7luuAHZ8JU6V-rX1bUIi2dHhVaA/s200/jan.jpg)
Los desarrolladores principales de JRuby son Charles Nutter, Thomas Enebo, Ola Bini y Nick Sieger. En septiembre de 2006, Sun Microsystems contrató a Enebo y Nutter para trabajar a tiempo completo en JRuby. En junio de 2007, ThoughtWorks contrató a Ola Bini para trabajar en Ruby y JRuby. En julio de 2009, los desarrolladores de JRuby dejaron Sun para continuar el desarrollo de JRuby en Engine Yard.
Jan Arne Petersen también participo de varios proyectos open source como: GNOME Control Center, GTK+, Nautilus, Totem, GPE, FreeCiv, GnuCash.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjs93vCbLktzQo6wfuVdS_yz53NmfbS-yMe1HEu1uXGnDT616u68uPXf665fdBsu9UXeW8-bM77Ja34EKfTduxGfIVMQ3gSj2KeRhJ2rMuYSWqOYHxPiRJHzzE1Not2K_GDFhvPpG7SDuY/s200/C9BDayErikMeijer_large_ch9.png)
Jim Hugunin primero creo el lenguaje python luego trabajo en el proyecto jython y llevo Python a Java para luego trabajar en el proyecto IronPython y llevar python a .net. Luego que Microsoft abandonara IronPython Jim fue contrratado por Google, donde trabaja hasta ahora. También trabajo en el diseño de AspectJ.
martes, 27 de noviembre de 2012
Cual es el próximo lenguaje java?
Que piensan? Cual es el próximo lenguaje? que lenguaje hay que ir estudiando?
Dejo link:
http://www.infoq.com/research/next-jvm-language?utm_source=infoqresearch&utm_campaign=lr-homepage
jueves, 25 de octubre de 2012
Liberado JRuby 1.7.0!!
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
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, 24 de mayo de 2012
TorqueBox
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpG8MmecifgRhNtb6HAVZ3S5Dif6XYngybE0hOKRp6nGSZlsqD4w7p1coc6o2bsPD2oCJ_HUl2MlKjlN3Pp6717YdtVJaD-KCeyK2A6-3i1Gc3V1fpcLpRl4dLEIQJmcr9HjlDmSdoOXU/s200/knob.png)
TorqueBox provee un entorno todo en uno, construyendo aplicaciones bajo la plataforma JBoss AS.
Como deciamos entre las caracteristica encontramos:
- Rack: TorqueBox soporta Rack, incluyendo Rails 2.3.x, Rails 3.x, Sinatra, y otros.
- JDBC
- Daemons
- Scheduled Jobs
- Messaging
- Asynchronous Tasks
Veamos el gráfico:
Para más info dejo el link:
http://torquebox.org/
miércoles, 20 de julio de 2011
InvokeDynamic en Java 7
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSLRpdc9FOF5DRaxUfAwjtRwM32qfuYUJ6Yd8uyoCjOWlFFimbwCWsi3_6NAMvppjWN8boDuOXbmsUTTh5bVvjSJduweSa12Unv2Bk2uWF6mG4OzK5zyn8I07zOB_aLnlVfJbH5fLBUYA/s400/leonardo_vm.png)
Ya hemos hablado en post anteriores sobre el proyecto Da Vinchi:
da-vinci-machine-project.html
InvokeDynamic es el primer fruto de este proyecto, básicamente que permite hacer InvokeDynamic, invocar métodos al vuelo; si si va ser usado para closures. Si bien no se puede usar desde java es una mejora importante para jvm preparando todo para el uso de closures en la versión 8 de java.
La pregunta es cantada, para que hacen esta mejora en java 7 si la vamos a ver en java 8. Es para los lenguajes script que actualmente corren en java.
Poder ejecutar al vuelo métodos le da la posibilidad a lenguajes script a correr mucho más rápido. Anteriormente se veían obligados a un uso de reflexión.
En conclusión en java 7 los lenguajes scripts son mucho más rápidos y la pregunta es: el futuro de la plataforma esta en otros lenguajes?
Dejo links:
http://java.sun.com/developer/technicalArticles/DynTypeLang/index.html
viernes, 23 de julio de 2010
Lenguaje de programación modernos
Un poco amarillista el titulo del post pero en los últimos años nos vimos bombardeados por nuevos lenguajes de programación como ruby, goovy, scala, ioke, python, etc. Y la verdad que están muy buenos.
Todo empezó con el bum de ruby, lenguaje script basado en smalltalk, que con railes parecía como que iba a conquistar el mundo. Pero otras plataformas no tardaron en copiar los beneficios del lenguaje para su plataforma así nació jruby, jython groovy (en java) y iron ruby y iron python (en .net).
Luego nació algo muy interesante la mezcla de paradigmas en particular la programación funcional con la programación orientada objetos, dando muy buenos lenguajes como scala, ioke o clojure en java y F# en .net.
En el blog se hablo de algunos de estos lenguajes:
http://emanuelpeg.blogspot.com/search/label/Clojure
http://emanuelpeg.blogspot.com/search/label/Ioke
http://emanuelpeg.blogspot.com/search/label/jython
http://emanuelpeg.blogspot.com/search/label/jRuby
http://emanuelpeg.blogspot.com/search/label/Lua
http://emanuelpeg.blogspot.com/search/label/Scala
Me quede pensando que esto esta buenísimo, la convivencia de diferentes paradigmas en un lenguaje, es raro que no se allá todavía inventado un lenguaje orientado a objeto y lógico como un prolog OO. Un ejemplo de esto es logtalk
¿Alguien conoce otro lenguaje multiparadigma?¿Alguien usa algun lenguaje multiparadigma?
miércoles, 29 de julio de 2009
¿Otro más?
Esto me hizo reflexionar cuantos lenguajes conozco que corran sobre JVM. Acá va la lista:
-IoKe
-PHP
-BeanShell
-JavaFX
Y cuantos son soportados por spring, es decir que yo puedo hacer mi bean en uno de estos lenguajes:
-Groovy
-BeanShell
-JRuby
-Jython (esta adquisición fue hace muy poco: http://blog.springpython.webfactional.com/2009/07/01/spring-python-makes-final-1-0-0-release/)
Y ustedes conocen otro??
Java va a terminar soportando más lenguajes que .net?? (esto es broma no se enojen)
miércoles, 22 de julio de 2009
Y te gustan esos raros Lenguajes nuevos...
Estuve leyendo sobre lenguajes script y encontré gran similitud entre Ruby y SmallTalk. Le dejo un link que es muy recomendable leer:
http://www.rubyist.net/~slagell/ruby/index.html
No solo porque explica Ruby; sino que se ve como el creador de Ruby va buscando todo lo bueno de otros lenguajes para agregarlo a Ruby.
Hay otros lenguajes nuevos basados en ruby por ley transitiva en smalltalk:
Scala : http://www.scala-lang.org/
Groovy: http://groovy.codehaus.org/
Si bien tienen operadores (if, for, while) son mucho más puros. Lo bueno de estos últimos es que corren en la JVM de java. Bueno jRuby corre también jvm.
Por ejemplo scala tiene dos formas de que un objeto envié un mensaje a otro.
1 + 1 (se envía el mensaje + con un espacio sintaxis smalltalk)
1.+(1) (se envía un mensaje con sintaxis java)
Personalmente me gusta mucho scala.
¿Conocen otros lenguajes nuevos? ¿Cuál les gusta más?