Mostrando las entradas con la etiqueta jRuby. Mostrar todas las entradas
Mostrando las entradas con la etiqueta jRuby. Mostrar todas las entradas

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

Hace muy poco me entere que la persona que creo Groovy, James Strachan dijo: "I can honestly say if someone had shown me the Programming in Scala book by Martin Odersky, Lex Spoon & Bill Venners back in 2003 I'd probably have never created Groovy." En crespense, si conocía Scala, ni me gastaba en crear Groovy.

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.

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.


Martin Odersky creador del lenguaje Scala; profesor en EPFL de la materia métodos de programación. Martin trabajo en lenguajes de programación la mayoría de su carrera. Martin primero estudio la programación estructurada y orientada a objetos como estudiante de doctorado de Niklaus Wirth, luego se enamoró de la programación funcional, mientras trabajaba en IBM y Yale. Cuando Java salió, comenzó a agregar construcciones de programación funcionales. Esto lo llevó a estudiar los lengujes de programación pizza y GJ y eventualmente a Java 5 con los genéricos. Durante ese tiempo, también se desempeño como desarrollador en javac, el compilador de referencia actual de Java.
Entre otras cosas dicto un curso en cursera que se los recomiendo.

Rich Hickey creador del lenguaje Clojure, , Es un diseñador, consultor y arquitecto de aplicaciones de software que trabaja de forma  independiente con más de 20 años de experiencia en todas las facetas del desarrollo de software. Rich ha trabajado en sistemas de programación, automatización broadcast, análisis de audio y toma de huellas digitales, diseño de bases de datos, gestión de rendimiento, sistemas de encuestas de salida y listeners de máquinas.
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.

Gavin King es el creador de uno de los frameworks más famosos de lenguaje Java, Hibernate. También trabajo en el  Java Community Process por parte de Red Hat (empresa en la que trabaja) en la definición de la especificación de EJB y JPA y también de CDI. Actualmente trabaja en el lenguaje Ceylon, lenguaje que compila a la plataforma java y a javascript.
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.


JRuby fue creado originalmente por Jan Arne Petersen, en 2001. En ese momento y durante los años siguientes, el código fue un porte directo del código 1.6 C de Ruby. Con el lanzamiento de Ruby 1.8.6, comenzó un esfuerzo para actualizar las características y semántica de JRuby. Desde 2001, varios contribuyentes han asistido el proyecto, si bien el equipo actual consta de cuatro miembros principales.
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.

Jython se desarrollo por Jim Hugunin, Barry Warsaw, Samuele Pedroni, Brian Zimmer, y Frank Wierzbicki.
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?

InfoQ realiza una encuesta preguntando, cual va ser el próximo lenguaje que va a triunfar en la JVM. A votar!

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!!

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

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



TorqueBox es una plataforma para desarrollo con JRuby que integra tecnologías populares en Ruby como Ruby on Rails con JBoss proveyendo mensajes asíncronos,  caching, scheduled jobs, clustering, daemons y más y más!!

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


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?


Estaba leyendo un articulo y me llamo la atención que hay un lenguaje script soportado por la JVM de java que yo no conocía, Clojure muy parecido a List por lo poco que vi.

Esto me hizo reflexionar cuantos lenguajes conozco que corran sobre JVM. Acá va la lista:

-Jython

-JRuby

-Groovy

-Scala

-IoKe

-PHP

-BeanShell

-Rhino

-JavaFX

-Clojure

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?