O documento apresenta JRuby, uma implementação da linguagem Ruby em Java. Ele discute a história do JRuby, suas vantagens como integrar código Java e Ruby e rodar em qualquer plataforma que suporte a JVM. O documento também fornece exemplos demonstrando como usar classes e pacotes Java no JRuby.
14. História
• criado em 2001 por Jan Arne Petersen
• Core Team 2008
– Liderados por Charles Nutter
• JRuby 1.1 – JIT e AOT compilation (Ruby 1.8.7)
• 2009 Core Team vai para Engine Yard
staff@idopter.com
15. História
• 0.9 (2006) – suporte ao Rails
• 1.1 (2008) – Melhoria de performance com JIT e AOT
• 1.1.4 (2009) – suporte ao Ruby 1.9
• 1.2.0 (2009) – compilador JIT para Ruby 1.9 e o projeto
Ruboto (suporte para Android)
• 1.3.0 (2009) – JRuby no GAE/J
• 1.4.0 (2009) – suporte nativo para o Windows
• 1.5.0 (2010) – suporte nativo para UNIX-based, libs
padrões para o Rake-Ant, RubyGems e RSpec
• 1.6.0 (2011) – Ruby 1.9.2
staff@idopter.com
74. Obrigado!!!
@mateuslinhares e @pigodinho
{mateus, pigor}@idopter.com
staff@idopter.com
75. JRuby
“Explorando um Mundo de Possibilidades”
@mateuslinhares
e
@pigodinho
staff@idopter.com
Hinweis der Redaktion
Por isso o “ Explorando um Mundo de possibilidades ” , pois não conhecemos todo o seu potencial, e por isso estamos estudando!
JRuby is a Java implementation of the Ruby programming language. It is free software released under a three-way CPL/GPL/LGPL license. JRuby is tightly integrated with Java to allow the embedding of the interpreter into any Java application with full two-way access between the Java and the Ruby code (similar to Jython for the Python language).
http://www.infoq.com/br/articles/invokedynamic “ Os pontos fortes da plataforma Java, tais como um garbage collector (coletor de lixo) eficiente, um modelo robusto de segurança e a disponibilidade ampla do runtime do Java (JRE), juntamente com uma grande quantidade de bibliotecas e ferramentas, fizeram a plataforma ser amplamente adotada para esta finalidade, havendo hoje mais de 240 diferentes linguagens que executam sobre a máquina virtual Java (JVM). ” “ A API de MethodHandles (referências de métodos) descrita na JSR-292 fornece os elementos básicos para a escrita da "cola" simples entre o método de origem (o "chamador") e o de destino.” (Charles Nutter) “ A InvokeDynamic contacta a sua linguagem ou biblioteca quando uma chamada dinâmica é feita, e você responde fornecendo uma referência de método (ou uma cadeia de referências). A referência então conecta a origem ao destino da maneira apropriada.” (Charles Nutter)
http://www.infoq.com/br/articles/invokedynamic Tanto a Microsoft, com o .Net 4 e a DLR, quanto a Oracle, através do projeto Da Vinci Machine e do Java 7, estão procurando aprimorar o suporte a linguagens alternativas que têm como destino suas máquinas virtuais. Este movimento é reflexo de uma tendência crescente entre os desenvolvedores e implementadores de linguagens, que estão utilizando cada vez mais ambientes de execução pré-existentes para executar suas linguagens, dado que desenvolver a partir do zero um novo ambiente de execução representa um grande investimento. Os pontos fortes da plataforma Java, tais como um garbage collector (coletor de lixo) eficiente, um modelo robusto de segurança e a disponibilidade ampla do runtime do Java (JRE), juntamente com uma grande quantidade de bibliotecas e ferramentas, fizeram a plataforma ser amplamente adotada para esta finalidade, havendo hoje mais de 240 diferentes linguagens que executam sobre a máquina virtual Java (JVM).
“… havendo hoje mais de 240 diferentes linguagens que executam sobre a máquina virtual Java (JVM).”