![Page 1: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/1.jpg)
Java ScriptingLinguagens interpretados pelo Java
por Paulo César M. Jeveaux
![Page 2: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/2.jpg)
Java Scripting
2
Agenda
04/10/2007
Introdução; Linguagens: Compiladas, Interpretadas e híbridas; JSR 223: Scripting para a plataforma Java; Bean Scripting Framework (BSF); Linguagens de Script:
Groovy; JRuby; Jython; JUDOScript; ECMAScript e Rhino; BeanShell;
Prós e Contras;
![Page 3: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/3.jpg)
Java Scripting
3
Paulo César M. Jeveaux
04/10/2007
Javanês desde [+-] 2000/01; Mantenedor do Portal Java e do ESJUG
http://www.portaljava.com https://esjug.dev.java.net
Arquiteto de Sistemas Java EE; Palestrante nos principais eventos Java
do país. Participante de diversos grupos e comunidades de Java, Linux e Software Livre em geral.
![Page 4: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/4.jpg)
4
Java Scripting
Introdução
04/10/2007
![Page 5: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/5.jpg)
Java Scripting
5
Introdução
04/10/2007
Escrever código elegante e eficiente em Java não é tarefa das mais simples;
Manter a qualidade dos códigos e não distorcer o design especificado para a aplicação é uma tarefa ainda mais difícil;
Resolver problemas que exigem solução rápida utlizando APIs Java cujo uso não é tão frequente, geralmente demora mais tempo ou é mais trabalhoso do que o desejado;
![Page 6: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/6.jpg)
Java Scripting
6
Introdução
04/10/2007
Para simplificar e aumentar a produtividade podemos escrever scripts para estas tarefas, que podem ser executados manual ou automaticamente, dentro ou fora da aplicação;
Estes scripts podem ser atualizados com maior frequência e mais facilidade, e a performance não é um ponto crítico;
![Page 7: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/7.jpg)
Java Scripting
7
Introdução
04/10/2007
O processo de escrever um script funcional pode fazer muita diferença na produtividade durante o desenvolvimento de aplicações. Imagine que um simples comando de um determinado script pode ser capaz de “abstrair” parcialmente, ou até mesmo integralmente toda uma API ou framework Java;
![Page 8: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/8.jpg)
Java Scripting
8
Domain Specific Languages
04/10/2007
São criadas com a intenção de remover a complexidade computacional envolvida na resolução de alguma atividade e/ou operação específica para aproximá-las de um determinado domínio do mundo real; Criteria (Hibernate); Regras do IPTABLES; E muitas outras;
![Page 9: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/9.jpg)
9
Java Scripting
Compiladas, Interpretadas e Híbridas
Linguagens
04/10/2007
![Page 10: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/10.jpg)
Java Scripting
10
Linguagens
04/10/2007
Processo de compilação e execução de uma linguagem compilada
Har
dwar
eSist
ema
Ope
raci
onal
Código Fonte Com
pila
dor
Exec
utáv
el
![Page 11: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/11.jpg)
Java Scripting
11
Linguagens
04/10/2007
Processo de execução de uma linguagem interpretada
Har
dwar
eSist
ema
Ope
raci
onal
Código Fonte Inte
rpre
tad
or
![Page 12: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/12.jpg)
Java Scripting
12
Linguagens
04/10/2007
Processo de compilação e execução de uma linguagem híbrida
Har
dwar
eSist
ema
Ope
raci
onal
Código Fonte
Com
pila
dor
Inte
rpre
tado
r
Exec
utáv
el
![Page 13: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/13.jpg)
Java Scripting
13
Unindo os mundos
04/10/2007
O que ganhamos com APIs de Scripting no Java? União de linguagens de script com uma
linguagem de sistema híbrida (Java); Estas linguagens podem continuar sendo
interpretadas dentro ou fora do Java; Podem ser compiladas para bytecodes Java;
![Page 14: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/14.jpg)
14
Java Scripting
Scripting API
JSR 223
04/10/2007
![Page 15: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/15.jpg)
Java Scripting
15
Scripting na plataforma Java
04/10/2007
JSR 223: Scripting for the Java Platform; A JSR 223 é um framework de scripting
que fornece acesso a linguagem de criação de scripts ao Java;
Através da JSR 223 é possível localizar maquinas de scripting e invocá-las para rodar scripts em tempo de execução;
![Page 16: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/16.jpg)
Java Scripting
16
Scripting na plataforma Java
04/10/2007
A Scripting API provê suporte Java via a linguagem de criação de scripts de nossa escolha;
Há também o Web Scripting Framework que permite que o código script gere o conteúdo Web dentro de qualquer container Servlet;
![Page 17: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/17.jpg)
17
Java Scripting
BSF
Bean Scripting Framework
04/10/2007
![Page 18: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/18.jpg)
Java Scripting
18
Bean Scripting Framework
04/10/2007
Assim como a especificação da JSR 223, a BSF provê a capacidade de integração de scripts na linguagem Java;
Com BSF é possível que a aplicação Java use as máquinas de scripts e que estas máquinas de script também usem os objetos definidos na aplicação Java;
![Page 19: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/19.jpg)
Java Scripting
19
Bean Scripting Framework
04/10/2007
Das diversas linguagens de script que rodam sobre a JVM, muitas geralmente implementam seu próprio modo de interagir com a plataforma Java, criando assim uma dependência entre a aplicação que faz uso de scripts e este modo de interação;
O BSF estabelece uma camada comum de ligação entre a plataforma Java e os Scripts sem criar qualquer tipo de dependência entre as partes;
![Page 20: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/20.jpg)
20
Java Scripting
Bean Scripting Framework
JavaScript (Rhino ECMAScript);
NetRexx; Python (Jython); TCL (Jacl); XSLT (Xerces e
Xalan);
Groovy; PROLOG (JLog); JRuby; JUDOScript; ObjectScript;
04/10/2007
Linguagens cujo suporte é mantido pelo próprio projeto BSF
Linguagens que mantém seu próprio suporte ao BSF
![Page 21: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/21.jpg)
21
Java Scripting
Groovy
04/10/2007
![Page 22: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/22.jpg)
Java Scripting
22
Groovy
04/10/2007
Groovy é uma linguagem de programação, desenvolvida em Java e para a plataforma Java com o propósito de ser uma alternativa a própria linguagem Java;
Padronizada na JSR 241; Groovy possui sintaxe similar a de Java,
mas baseia-se em características importantes de Python, Ruby e Smalltalk;
![Page 23: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/23.jpg)
Java Scripting
23
Groovy
04/10/2007
Diferente do Java, Groovy possui: Tipagem dinâmica e estática; Suporte nativo a listas, arrays, vetores e
expressões regulares; Closures; Sobrecarga de operadores; Suporte e acesso completo a API de Java SE
e Java EE; Integrável a programas Java;
![Page 24: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/24.jpg)
Java Scripting
24
Groovy
04/10/2007
Groovy da suporte a outros recursos também, por exemplo: Groovlets: criação de Servlets; GSP: templates semelhantes a JSPs; Grails: Groovy on Rails, framework
implementado baseado no Ruby on Rails; Processamento de XML: trata em scripts de
forma simples e direta o processamento de arquivos XML;
![Page 25: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/25.jpg)
Java Scripting
25
Groovy
04/10/2007
Sobrecarga de operadores
class Numero{
def plus(n){
print "nao sei somar este numero: "+n }
}
numero = new Numero();
numero+2;
![Page 26: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/26.jpg)
Java Scripting
26
Groovy
04/10/2007
Utilizando um Script Groovy dentro de uma aplicação Java
#script.goovy
def helloWorld(){println "Hello Groovy";}
#alguma classe Java
public void metodoExemplo() throws Exception {
GroovyClassLoader groovyLoader = new GroovyClassLoader();
Class classeProxy = groovyLoader.parseClass( new File("script.groovy"));
GroovyObject proxy = (GroovyObject) classeProxy.newInstance();
proxy.invokeMethod("helloWorld", null);
}
![Page 27: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/27.jpg)
27
Java Scripting
JRuby
04/10/2007
![Page 28: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/28.jpg)
Java Scripting
28
Ruby Lang
04/10/2007
Ruby é uma linguagem de script interpretada que foi projetada para programação OO focando agilidade e rapidez. Sintaxe simples e clara (inspirada em Eiffel e
Ada); Possui tratamento de exceções e erros; Totalmente (100%) orientada a objetos; Suporte pleno a Expressões regulares, portável,
validação dinâmica de código, etc; “Princípio de pouca surpresa”, ou seja, as coisas
acontecem como você espera;
![Page 29: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/29.jpg)
Java Scripting
29
Ruby Lang
04/10/2007
# Ruby sabe o que voce quer dizer
cidades = %w[ Vitoria
Porto Alegre
Porto Seguro
Rio de Janeiro
Blumenau ]
conhecidas = %w[Vitoria
Porto Alegre]
puts "Ainda nao conheco: ",
cities - visited
![Page 30: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/30.jpg)
Java Scripting
30
JRuby
04/10/2007
Implementação 100% Pure-Java da linguagem Ruby para ser executada na JVM;
Mantida sob três licenças: CPL, GPL e LGPL;
Código JRuby capaz de acessar classes definidas em Java;
Código Java capaz de acessar código definido em JRuby, através de Bean Scripting Framework (BSF);
JRuby (1.0) 100% compatível com Ruby (1.8.5) e 98% compatível com Ruby on Rails;
![Page 31: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/31.jpg)
31
Java Scripting
Jython
04/10/2007
![Page 32: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/32.jpg)
Java Scripting
32
Jython
04/10/2007
Jython é uma implementação 100% Pure-Java da linguagem de alto nível Python, que pode ser executada na JVM;
Jython é uma continuação baseada no antigo projeto JPython, que também era 100% Pure-Java;
Com Jython é possível utilizar recursos do Python diretamente das aplicações Java;
![Page 33: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/33.jpg)
Java Scripting
33
Jython
04/10/2007
Com Jython é possível enriquecer o desenvolvimento de aplicações Java adicionando: Produtividade
É possível utilizar as bibliotecas e funcionalidades do Python, além de sua sintaxe simples e fácil dentro da sua aplicação Java, reduzindo complexidade e quantidade de código;
Experimentação Interativa Jython fornece um interpretador interativo que pode ser
usado para interagir com aplicações Java em execução. Isto permite aos programadores experimentar e depurar qualquer sistema Java usando Jython.
![Page 34: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/34.jpg)
Java Scripting
34
Jython
04/10/2007
Características que diferenciam Jython de outras implementações de linguaguens de script para a JVM: Compilação dinâmina ou estática
É possível definir se a compilação dos scripts será feita em tempo de execução ou estaticamente;
Herança Permite o uso de classes abstratas do Java para
realizar herança nas classes em Jython; Bean Properties
Facilita o uso de pacotes Java (packages);
![Page 35: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/35.jpg)
Java Scripting
35
Jython
04/10/2007
D:\Development\jython2.2b2>jythonJython 2.2b2 on java1.6.0Type "copyright", "credits" or "license" for more information.
>>> from javax import swing>>> win = swing.JFrame("Janela")>>> label = swing.JLabel("Exemplo Jython")
>>> win.add(label)>>> win.size = (200,200)>>> win.show()
![Page 36: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/36.jpg)
36
Java Scripting
JUDOScript
04/10/2007
![Page 37: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/37.jpg)
Java Scripting
37
JUDOScript
04/10/2007
JUDOScript é uma linguagem de script poderosa, fácil, eficiente e, principalmente, moderna, projetada e implementada em 100% Pure-Java;
JUDOScript nasceu da necessidade de usar diretamente os recursos da plataforma Java de modo mais fácil. Seu propósito é ser uma linguagem de script mais simples e fácil de usar do que as demais existentes;
JUDOScript possui acesso ilimitado aos recursos da plataforma Java;
![Page 38: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/38.jpg)
Java Scripting
38
JUDOScript
04/10/2007
JUDOScript é excelente para combinar e trabalhar com processamento de dados de diversas fontes e formatos diferentes, como processadores de dados e relatórios;
JUDOScript está sempre acompanhando as mais novas tendências e novidades do Java;
![Page 39: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/39.jpg)
Java Scripting
39
JUDOScript
04/10/2007
Conectando a um banco de dados e listando uma tabela com JUDOScript
const #url = "jdbc:mysql://127.0.0.1/banco";
const #user = "usuario";const #pass = "senha";connect to #url, #user, #pass;executeQuery query:select * from tabela;while query.next() {. query.campo;}
![Page 40: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/40.jpg)
40
Java Scripting
ECMAScript e Rhino
04/10/2007
![Page 41: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/41.jpg)
Java Scripting
41
ECMAScript
04/10/2007
European Computer Manufecturers Association – ECMA – é um órgão internacional que estabelece padrões para os formatos utlizados na computação;
ECMAScript talvez seja mais conhecida por alguma de suas variantes: JavaScript, Jscript, Rhino, FESI, etc;
O ECMAScript é a base de várias linguagens de script, entre elas o JavaScript (Netscape) e Jscript (Microsoft);
![Page 42: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/42.jpg)
Java Scripting
42
ECMAScript
04/10/2007
Usando ECMAScript ou uma de suas variantes, como o JavaScript, por exemplo, é possível desenvolver de modo Orientado a Objetos ou Procedural;
Apesar das possibilidades a maior presença e uso massivo das linguagens de script basedas em ECMAScript são feitos de forma procedural, em páginas Web;
![Page 43: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/43.jpg)
Java Scripting
43
Rhino
04/10/2007
Rhino é uma implementação totalmente em Java da linguagem JavaScript;
Apesar de ser uma implementação de JavaScript, Rhino implementa o Standard ECMAScript, ou seja, não existem objetos de JavaScript como: window, document e form;
![Page 44: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/44.jpg)
Java Scripting
44
Rhino
04/10/2007
Atualmente o projeto Rhino, mantido pela Mozilla, mantém: Compatibilidade com JavaScript 1.5; Shell para execução de scripts; Manipulação direta de objetos Java; Compilar arquivos JS para bytecodes Java;
Executando um script JS com Rhino: java org.mozilla.javascript.tools.shell.Main script.js
![Page 45: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/45.jpg)
45
Java Scripting
BeanShell
04/10/2007
![Page 46: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/46.jpg)
Java Scripting
46
BeanShell
04/10/2007
BeanShell é um interpretador de comandos de script 100% pure-Java;
BeanShell é capaz de interpretar tanto comandos de script quanto comandos de Java;
BeanShell também é capaz de tratar em tempo de execução os métodos como objetos, assim como Python;
BeanShell pode ser resumidamente chamado de a Linguagem Java dinâmica e interpretada;
![Page 47: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/47.jpg)
Java Scripting
47
BeanShell
04/10/2007
Possui acesso ilimitado a toda API Java Usa a API de Reflection para interpretação
de comandos e expressões Java; Funciona com aplicações, console,
applets, etc; Tipagem dinâmica; Suporta também o BSF;
![Page 48: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/48.jpg)
Java Scripting
48
Outras linguagens de script
04/10/2007
Linguagem Implementação em Java
Awk Jawk
JavaScript Rhino
Python Jython
Ruby JRuby
Scheme SISC
TCL JACL
PHP Quercus
JavaScript Templates (JST) TrimPath JST
E muitas outras…
![Page 49: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/49.jpg)
49
Java Scripting
Vantagens e desvantagens
04/10/2007
![Page 50: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/50.jpg)
Java Scripting
50
Vantagens e desvantagens
04/10/2007
Linguagens de script geralmente são encaradas como ferramentas perfeitas para trabalhos do tipo “rápido, porém sujo” (“quick’n dirty”) de todo tipo.
Outra grande utilidade das linguagens de Script é na customização de sistemas, permitindo colocar boa parte das regras de negócio em scripts, separados da base do sistema, que continuará em Java;
![Page 51: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/51.jpg)
Java Scripting
51
Vantagens
04/10/2007
Diversidade de opções Vasta quantidade de linguagens de scripts
suportadas; Simplicidade; Redução da curva de aprendizado; Produtividade
Com as linguagens de script em quase todos os casos a quantidade de código escrito é significativamente reduzida, além disso, pode-se unir isso com um prévio conhecimento da linguagem de script pelo desenvolvedor, aumentando ainda mais a produtividade;
![Page 52: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/52.jpg)
Java Scripting
52
Desvantagens
04/10/2007
Performance Apesar de muitas das linguagens de script
já darem suporte a compilação estática e/ou com o JIT, o desempenho não é como uma implementação em Java;
Dificuldade para encontrar erros; Sintaxe não tão clara (às vezes, às
vezes) Em algumas situações, por algum comando
de script ter muitas funcionalidades implícitas, as leitura do código pode ficar consideravelmente prejudicada;
![Page 53: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/53.jpg)
Java Scripting
53
Referências
04/10/2007
[1] Portal Java – http://www.portaljava.com [2] GUJ – http://www.guj.com.br [3] JVMScript – http://jvmscript.hpg.com.br
por Marcio Alexandre Barbosa [4] Ruby Lang – http://www.ruby-lang.org [5] JRuby – http://jruby.org [6] Groovy – http://groovy.codehaus.org
![Page 54: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/54.jpg)
Java Scripting
54
Ok. Podem acordar!
04/10/2007
Muito Obrigado a todos;
Contatos:
Paulo César M. Jeveaux (Jevô)
[email protected] / [email protected]
www.portaljava.com / www.jeveaux.com
![Page 55: Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc13c497959413d8db19f/html5/thumbnails/55.jpg)
Java ScriptingLinguagens interpretados pelo Java
por Paulo César M. Jeveaux