Java: O que está por vir?
Waldir Ribeiro Pires Jr
wpjr2@yahoo.com
Consultor, Eteg TI
Sumário
• Introdução
• Revendo o passado
• Apresentando o presente
• Avaliando a tecnologia
• O que está por vir
• Conclus...
Sumário
• Introdução
• Revendo o passado
• Apresentando o presente
• Avaliando a tecnologia
• O que está por vir
• Conclus...
Introdução
• Como prever o futuro?
Introdução
Objetivos
Visão
O estado da arte
da tecnologia
As tecnologias que
estão por vir
As tendências
do mercado
Concor...
Sumário
• Introdução
• Revendo o passado
• Apresentando o presente
• Avaliando a tecnologia
• O que está por vir
• Conclus...
Revendo o Passado (1995 a 2008)
1995 20082000 20041998 2002 2006
JavaCard 1.0
Lançamento
da plataforma
J2ME
JavaCard
2.1
D...
Sumário
• Introdução
• Revendo o passado
• Apresentando o presente
• Avaliando a tecnologia
• O que está por vir
• Conclus...
Apresentando o Presente
• Quais seriam alguns dos principais
elementos no contexto global que
poderíamos utilizar como um
...
Resumo JavaOne 2008: JavaSE
• Estatísticas
• 7M de desenvolvedores, 750K downloads/mês do JDK, 48
M downloads do JRE
• Apr...
Resumo JavaOne 2008: JavaEE
• Foco na simplicidade
• Mais anotações, menos descritores de
desdobramento
• Proposta de perf...
Resumo JavaOne 2008
JCP: Timeline
Java Community Process e Java
Specification Request
API JSR Estado
SAF 296 EGF
Beans Binding 295 EGF
Beans Validation 303 ...
Lançamentos Recentes: JavaSE
(2007-2008)
• JavaSE 6.0 SDK
• Pacote javax.script com suporte a extensão para outras
linguag...
Lançamentos Recentes: Java EE
(2007-2008)
• JavaEE 5.0
• EJB 3.0, JSP 2.0, Servlets 2.5
• JavaServer Faces 1.2
• Apache My...
Lançamentos Recentes: JavaME
(2007-2008)
• SavaJe OS
• JavaFX Mobile
• Mobile Services
Architecture
• Dispositivos
móveis ...
Sumário
• Introdução
• Revendo o passado
• Apresentando o presente
• Avaliando a tecnologia
• O que está por vir
• Conclus...
Parâmetros de Avaliação
• Concorrência
• Linguagens e plataformas de desenvolvimento
• Comunidade
• Padronização, número d...
Parâmetros de Avaliação:
Concorrência
Concorrentes JavaME JavaSE JavaEE
Não Java
Iphone
Symbian
.Net CF
BREW
Flash Lite
Po...
Parâmetros de Avaliação:
Comunidade
• Padronização
• Java Community Process (JCP)
• Java Specification Request (JSRs)
• Nú...
Parâmetros de Avaliação: Critérios
em Números
• Novas aplicações construídas
• Aplicações existentes
• Desenvolvedores
• U...
Parâmetros de Avaliação
http://www.devtopics.com/most-popular-programming-languages/
Disponibilidade de engenheiros
capaci...
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
TIOBE Programming Community Index for November 2008
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Tendências de Longo Prazo 2002-2008
Lançamento
JavaSE 5.0
Parâmetros de Avaliação: Tempo de
AmadurecimentoAmadurecimento das Linguagens de
Programação
0
5
10
15
20
25
30
35
40
C
C
...
Parâmetros de Avaliação: Cobertura de
Paradigmas
• Paradigmas de interesse
• Object Oriented (OOP)
• Aspect Oriented (AOP)...
Parâmetros de Avaliação:
Completude
• O que ela propõe a fazer (problemas a resolver)
• Gerenciamento de memória automátic...
Sumário
• Introdução
• Revendo o passado
• Apresentando o presente
• Avaliando a tecnologia
• O que está por vir
• Conclus...
O Que Está por Vir: JavaSE 7.0
• JSR 277 Java Module
System
• JSR 294 Improved
Modularity Support
• JSR 295 Beans Binding
...
O Que Está por Vir: JavaSE 7.0
• Suporte a XML na linguagem
• Compreendido pelo compilador
• Sem necessidade de utilizar b...
O Que Está por Vir: JavaSE 7.0
• Propriedades JavaBeans
public class MyClass{
private property String name;
public String ...
O Que Está por Vir: JavaSE 7.0
• Simplificação do uso do BigDecimal
// ATUALMENTE
BigDecimal dec = new BigDecimal(“10.00”)...
O Que Está por Vir: JavaSE 7.0
• Switch com Strings
. . .
switch(str){
case "ok":
case "true":
return true;
case "not ok":...
O Que Está por Vir: JavaSE 7.0
• Simular métodos de interface inexistentes
// ATUAL
import java.util.Collections;
List<Str...
O Que Está por Vir: JavaSE 7.0
• Try/Catch melhorado
try{
return new MyClass();
} catch(InstantiationException |
IllegalAc...
O Que Está por Vir: JavaSE 7.0
• Construtor simplificado para Generics
//JavaSE 6.0
Map<String, List<String>> anagrams =
n...
O Que Está por Vir: JavaSE 7.0
• Closures
• Operações sobre um bloco arbitrário de código
Java (conjunto de operações, uma...
O Que Está por Vir: JavaSE 7.0
• Closures - Exemplos
double log = { double x => Math.log(x) }.invoke(10);
int half = {
int...
O Que Está por Vir: JavaSE 7.0
• Superpackages: super pacotes (JSR 294)
• Grupos de pacotes e controle de visibilidade ext...
O Que Está por Vir: JavaSE 7.0
• Gerenciamento de consumo de recursos (JSR
284)
• Tamanho da heap, tempo de CPU, conexões ...
O Que Está por Vir: JavaSE com
Suporte a Outras Linguagens
• Objetivo: adaptar a JVM para a adição de suporte
a outras lin...
O Que Está por Vir
• JavaME
• MIDP 3.0
• Concorrência
• IPhone, Android,
Symbian, Windows
Mobile (.Net CF)
• Telefones móv...
E o Futuro da Sun?
• Estado atual
• As ações cairam mais de 70% este ano e 90% nos ultimos
3 anos
• Esperada demissão de +...
Sumário
• Introdução
• Revendo o passado
• Apresentando o presente
• Avaliando a tecnologia
• O que está por vir
• Conclus...
Conclusões
• Referências a serem observadas
• Java Community Process, JavaOne, WebLogs de
líderes de projeto e arquitetos ...
Conclusões
• Linguagens de programação
• Interesse por linguagens de múltiplos paradigmas
• Prevendo o futuro
• Analise di...
Discussão e Dúvidas
Obrigado!
Waldir Ribeiro Pires Jr
Email: wpjr2@yahoo.com
Eteg TI: http://www.eteg.com.br
Referências
• http://anupamvarghese.blogspot.com/2007_09_
• http://www.codepedia.com/1/J2ME
• http://www.java.com/en/javah...
Referências
• Groovy Homepage
• http://groovy.codehaus.org/
• Da Vinci Machine Project
• http://openjdk.java.net/projects/...
Próximos SlideShares
Carregando em…5
×

Java v1.1

344 visualizações

Publicada em

Java: O que está por vir? (2008)

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
344
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Java v1.1

  1. 1. Java: O que está por vir? Waldir Ribeiro Pires Jr wpjr2@yahoo.com Consultor, Eteg TI
  2. 2. Sumário • Introdução • Revendo o passado • Apresentando o presente • Avaliando a tecnologia • O que está por vir • Conclusões
  3. 3. Sumário • Introdução • Revendo o passado • Apresentando o presente • Avaliando a tecnologia • O que está por vir • Conclusões
  4. 4. Introdução • Como prever o futuro?
  5. 5. Introdução Objetivos Visão O estado da arte da tecnologia As tecnologias que estão por vir As tendências do mercado Concorrência Avaliação Paradigmas de programação O amadurecimento da tecnologia Comunidades Avaliando o passado O resumo das principais tecnologias atuais Uma previsão do que está por vir Avaliação de mercado das principais linguagens de programação
  6. 6. Sumário • Introdução • Revendo o passado • Apresentando o presente • Avaliando a tecnologia • O que está por vir • Conclusões
  7. 7. Revendo o Passado (1995 a 2008) 1995 20082000 20041998 2002 2006 JavaCard 1.0 Lançamento da plataforma J2ME JavaCard 2.1 Divisão nas Plataformas J2SE J2ME J2EE JavaTV API Lançamento do primeiro celular com J2ME Motorola i3000 WTK 1.0 Mobile Media API MIDP 2.0 JTWI WTK 2.1 WMA 2.0 AMS i18n WTK 2.3 MSA CDC Toolkit Plataforma Sun SPOT OS WTK 2.5 WTK 3.0 BluRay API Java Servlets DK 1.0 EJB 1.0 Java Web Server 1.0 Servlets 2.0 Java Server Pages 1.0 Plataforma J2EE Java APIs For XML Servlets 2.3 EJB 2.0 JSP 1.2 Plataforma J2EE 1.3 JSTL JDBC 3.0 JTA Servlets 2.4 JCA 1.5 Plataforma J2EE 1.4 JSP 2.0 EJB 2.1 JMS Plataforma JavaEE 5.0 Servlets 2.5 JSP 2.1 JSF 1.2 EJB 3.0 JDBC 4.0 Hibernate Spring Struts 2009 JDK 1.0 JDK 1.2 J2SE JFC Swing JCP Formalizado Java Hotspot Lançamento do JDK 1.3 J2SE 1.3 J2SE para Linux Lançamento do JDK 1.4 J2SE 1.4 Lançamento do JDK 5.0 JSE 5.0 Java Compiler API Plataforma JavaSE 6.0 JavaFX OpenJDK
  8. 8. Sumário • Introdução • Revendo o passado • Apresentando o presente • Avaliando a tecnologia • O que está por vir • Conclusões
  9. 9. Apresentando o Presente • Quais seriam alguns dos principais elementos no contexto global que poderíamos utilizar como um “termômetro” da tecnologia Java ? • Possíveis respostas • Conferências JavaOne • Java Community Process e Java Specification Requests • Número de projetos realizados • Oportunidades de emprego • Artigos e periódicos em revistas
  10. 10. Resumo JavaOne 2008: JavaSE • Estatísticas • 7M de desenvolvedores, 750K downloads/mês do JDK, 48 M downloads do JRE • Apresentações de demos utilizando JavaFX Script em Applets tanto em navegadores quando no desktop • JVM com suporte a outras linguagens • Glassfish (Ruby, Groovy, Rails e Grails) • Lançamento do JavaSE 7.0 prevista para meiados de 2009 • Suporte a diversas linguagens de scripts • Programação multicore
  11. 11. Resumo JavaOne 2008: JavaEE • Foco na simplicidade • Mais anotações, menos descritores de desdobramento • Proposta de perfis (“rightsizing”) • Pacotes de APIs com objetivos específicos • Pontos de extensão, aumentando a flexibilidade com outros arcabouços e bibliotecas • Tecnologias de destaque • Ruby, AJAX, JavaFX, Grails, GWT • RIA, Adobe Flex e Java
  12. 12. Resumo JavaOne 2008
  13. 13. JCP: Timeline
  14. 14. Java Community Process e Java Specification Request API JSR Estado SAF 296 EGF Beans Binding 295 EGF Beans Validation 303 EDR Java Module System 277 EDR NIO 203 EDR Javadoc Update 260 EGF Units 275 EDR Date and Time API 310 EGF Anotations 308 EDR WS-JMX 262 PR JMX 2.0 250 EDR Modularity 294 EDR JavaSE API JSR Estado MIDP 3.0 271 PR MBS API 272 FAB Service Connection 279 PR IMS Services 281 FR SVG 2.0 287 PFD Location API 2.0 293 FR Mobile 3D 2.0 297 PR Network Mobility 307 EDR JavaME API JSR Estado JavaEE 6.0 316 EDR JSF 2.0 314 EDR2 EJB 3.1 318 PR JPA 2.0 317 PR Servlets 3.0 315 EDR JCA 1.6 322 EDR JavaEE EGF Expert Group Formation EDR Early Draft Review PR Public Review PFD Proposed Final Draft FAB Final Approval Ballot FR Final Release Legenda Bom Ritmo Lento, mas progredindo Muito lento
  15. 15. Lançamentos Recentes: JavaSE (2007-2008) • JavaSE 6.0 SDK • Pacote javax.script com suporte a extensão para outras linguagens script (JSR 223) • Jrunscript, baseado em JavaScript, (Mozilla Rhino engine) • https://scripting.dev.java.net/ • Extensão para suporte de outras linguagens • JavaFX Script • Novas classes de Coleções • JDBC 4.0 • Projeto OpenJDK
  16. 16. Lançamentos Recentes: Java EE (2007-2008) • JavaEE 5.0 • EJB 3.0, JSP 2.0, Servlets 2.5 • JavaServer Faces 1.2 • Apache MyFaces • JBoss RichFaces • Sun Mojarra • etc. • GlassFish App Server • MySql • NetBeans 6.5 • Java Application Platform SDK
  17. 17. Lançamentos Recentes: JavaME (2007-2008) • SavaJe OS • JavaFX Mobile • Mobile Services Architecture • Dispositivos móveis com a API MSA • JavaME SDK 3.0 (CLDC + CDC) • Blu-ray Disc API, baseado no CDC, FP, PBP e JavaTV
  18. 18. Sumário • Introdução • Revendo o passado • Apresentando o presente • Avaliando a tecnologia • O que está por vir • Conclusões
  19. 19. Parâmetros de Avaliação • Concorrência • Linguagens e plataformas de desenvolvimento • Comunidade • Padronização, número de desenvolvedores, apoio e adoção pela indústria • Tempo de amadurecimento • Cobertura de paradigmas • OO, AOP, SOA, SOS • Completude • O que ela propôe a fazer (problemas a resolver) • Quais são os problemas atuais que necessitam ser solucionados • Quais são os futuros desafios
  20. 20. Parâmetros de Avaliação: Concorrência Concorrentes JavaME JavaSE JavaEE Não Java Iphone Symbian .Net CF BREW Flash Lite Pocket PC Paml OS Delphi VB C, C++ Adobe Flash MS Silverlight .NET Python PHP Ruby on Rails GAE Java Android SuperWabba GWT Plataformas
  21. 21. Parâmetros de Avaliação: Comunidade • Padronização • Java Community Process (JCP) • Java Specification Request (JSRs) • Número de desenvolvedores • Estimativa do JavaOne: 7M de desenvolvedores • Diversos JUGs • Brasil +- 20 ativos (JavaMan) • Apoio e adoção pela indústria • Sun, Oracle, IBM, Google, Nokia, Sony-Ericsson, Red Hat, SAP, Intel
  22. 22. Parâmetros de Avaliação: Critérios em Números • Novas aplicações construídas • Aplicações existentes • Desenvolvedores • Utilizam pelo menos uma vez • Pesquisas na Web • Vagas de emprego disponíveis • Preferência dos desenvolvedores http://www.devtopics.com/most-popular-programming-languages/
  23. 23. Parâmetros de Avaliação http://www.devtopics.com/most-popular-programming-languages/ Disponibilidade de engenheiros capacitados, cursos e vendedores terceirizados de soluções em 2007 Consultas no Dice.com 2006 Quantos desenvolvedores utilizaram a tecnologia pelo menos uma vez 2006 Quais linguagens estão sendo usadas nas empresas 2005
  24. 24. http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html TIOBE Programming Community Index for November 2008
  25. 25. http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html Tendências de Longo Prazo 2002-2008 Lançamento JavaSE 5.0
  26. 26. Parâmetros de Avaliação: Tempo de AmadurecimentoAmadurecimento das Linguagens de Programação 0 5 10 15 20 25 30 35 40 C C ++ Perl PythonVisualBasic JavaJavaScript PHP R uby C # Anos • Tempo de amadurecimento • C (1972), 36 anos • C++ (1983), 25 anos • Perl (1987), 21 anos • Python (1991), 17 anos • Visual Basic (1991), 17 anos • Java (1995), 13 anos • JavaScript (1995), 13 anos • PHP (1995), 13 anos • Ruby (1995), 13 anos • C# (2001), 7 anos
  27. 27. Parâmetros de Avaliação: Cobertura de Paradigmas • Paradigmas de interesse • Object Oriented (OOP) • Aspect Oriented (AOP) • Service Oriented (SOA, SOS) • Possíveis casos de sucesso • Suporte a multi-paradigmas • Java: imperativa, genérica e orientada a objetos • C#: funcional, imperativa, genérica e orientada a objetos • Ruby, Python e Perl: funcional, imperativa e orientada a objetos • C++: genérica, imperativa e orientada a objetos
  28. 28. Parâmetros de Avaliação: Completude • O que ela propõe a fazer (problemas a resolver) • Gerenciamento de memória automática • Portabilidade: “write once, run anywhere” • Quais são os problemas atuais que necessitam ser solucionados • Desempenho (Swing, JavaME) • Simplicidade no desenvolvimento • Segurança (aumento da conectividade) • Quais são os futuros desafios, novos modelos computacionais • Computação pervasiva, convergência IP, 3G, 4G • Computação grid, computação nas nuvens, virtualização, P2P • Interoperabilidade entre tecnologias • Rich Internet Applications
  29. 29. Sumário • Introdução • Revendo o passado • Apresentando o presente • Avaliando a tecnologia • O que está por vir • Conclusões e discussões
  30. 30. O Que Está por Vir: JavaSE 7.0 • JSR 277 Java Module System • JSR 294 Improved Modularity Support • JSR 295 Beans Binding • JSR 303 Beans Validation • JSR 296 Swing Application Framework • JSR 203 NIO2 • JSR 255 JMX 2.0 • JSR 262 Web Services Connector for JMX • JSR 260 Javadoc Technology Update • JSR 275 Units and Quantities • JSR 310 Date and Time API • JSR 308 Annotations on Java Types
  31. 31. O Que Está por Vir: JavaSE 7.0 • Suporte a XML na linguagem • Compreendido pelo compilador • Sem necessidade de utilizar buffers (StringBuffer, StringBuilder org.w3c.dom.Document d = <this><that><other>2</other></that></this>; element.appendChild( <user> <name>Xulambs</name> </user> );
  32. 32. O Que Está por Vir: JavaSE 7.0 • Propriedades JavaBeans public class MyClass{ private property String name; public String getName() { return name == null? "": name; } } MyClass mc = new MyClass(); mc.name = “Joao” // calls the setter String str = mc=>name // calls the getter mc->name = “Maria” // calls the setter String str = mc#name // calls the getter Opcional
  33. 33. O Que Está por Vir: JavaSE 7.0 • Simplificação do uso do BigDecimal // ATUALMENTE BigDecimal dec = new BigDecimal(“10.00”); dec = dec.add(new BigDecimal(12.00)). multiply(new BigDecimal(2.00)); // PROPOSTA 1: SOBRECARGA DE OPERADORES BigDecimal dec = new BigDecimal(“10.00”); dec = dec + new BigDecimal(12.00)) * new BigDecimal(2.00); // PROPOSTA 2: AUTOBOXING E USO DE LITERAIS BigDecimal dec = 10.00n; dec = dec + 12.00n * 2.00n;
  34. 34. O Que Está por Vir: JavaSE 7.0 • Switch com Strings . . . switch(str){ case "ok": case "true": return true; case "not ok": case "false": return false; default: throw new IllegalArgumentException(str); } . . .
  35. 35. O Que Está por Vir: JavaSE 7.0 • Simular métodos de interface inexistentes // ATUAL import java.util.Collections; List<String> list = new ArrayList<String>(); Collections.sort(list); // JAVASE 7.0 import static java.util.Collections.sort; List<String> list = new ArrayList<String>(); list.sort();
  36. 36. O Que Está por Vir: JavaSE 7.0 • Try/Catch melhorado try{ return new MyClass(); } catch(InstantiationException | IllegalAccessException e) { throw new AssertionError(e); } try{ return new MyClass(); } catch(InstantiationException e){ throw new AssertionError(e); } catch(IllegalAccessException e){ throw new AssertionError(e); } JavaSE 6.0 JavaSE 7.0
  37. 37. O Que Está por Vir: JavaSE 7.0 • Construtor simplificado para Generics //JavaSE 6.0 Map<String, List<String>> anagrams = new HashMap<String, List<String>>(); //Java SE 7.0 Map<String, List<String>> anagrams = new HashMap(); // Notação Tabular para listas e mapas List<String> itens = new ArrayList(); itens.add[1] = "something";
  38. 38. O Que Está por Vir: JavaSE 7.0 • Closures • Operações sobre um bloco arbitrário de código Java (conjunto de operações, uma expressão ou combinação de ambos) • A avaliação de uma closure produz um objeto closure, que pode ser invocado, com o resultado retornado pela execução da expressão • Pode conter parâmetros • Risco: pouco provável de ser incorporado à versão 7.0 devido a algumas divergências entre especialistas
  39. 39. O Que Está por Vir: JavaSE 7.0 • Closures - Exemplos double log = { double x => Math.log(x) }.invoke(10); int half = { int x => if (x % 2 != 0) System.out.printf("%d is odd%n", x); x / 2 }.invoke(31); int answer = { => 42 }.invoke(); int sum = { int x, int y => x + y }.invoke(3, 4); { int n => int m = n + 1; System.out.println(m * m); }.invoke(3);
  40. 40. O Que Está por Vir: JavaSE 7.0 • Superpackages: super pacotes (JSR 294) • Grupos de pacotes e controle de visibilidade externa • Super JARs, Java Module System (JSR 277) • Novo formato, controle de versão, distribuição, inclusão de outros JARs • New IO API (JSR 203) • Permissões, atributos de arquivos, canais de soquetes • Unidades e Quantidades (JSR 275) • Nova Date and Time API (JSR 310) • Novos recursos de programação paralela, divisão e conquista, Fork/Join (JSR 166) • Suporte a XQuery (JSR 225)
  41. 41. O Que Está por Vir: JavaSE 7.0 • Gerenciamento de consumo de recursos (JSR 284) • Tamanho da heap, tempo de CPU, conexões JDBC, etc. • Novas anotações (JSR 308) • @NonNull, @Existing, @ReadOnly, @Critical, @NonEmpty • Javadoc update (JSR 260) • Swing Application Framework (JSR 296) • Beans Validation (JSR 303) e Beans Binding (JSR 295)
  42. 42. O Que Está por Vir: JavaSE com Suporte a Outras Linguagens • Objetivo: adaptar a JVM para a adição de suporte a outras linguagens de programação • Escrita de compiladores e interpretadores na linguagem Java para outras linguagens • Linguagens candidatas • Ruby (JRuby), Python (JPython), Groovy, Scala • JavaScript (JavaSE 6.0 já possui suporte) • BeanShell (JSR 274), JavaFX Script • +- 200 linguagens já foram trazidas para a JVM • Projetos: Da Vinci Machine Project • http://openjdk.java.net/projects/mlvm/
  43. 43. O Que Está por Vir • JavaME • MIDP 3.0 • Concorrência • IPhone, Android, Symbian, Windows Mobile (.Net CF) • Telefones móveis vs. Smartphones • Java TV • MSA 2 • Low, Mid, High segments • JavaEE • JavaEE 6.0 (JSR 316) • EJB 3.1, JPA 2.0, JSP, JSF 2.0, Servlets 3.0 • Concorrência • .NET, Python, PHP, Ruby on Rails • Novos Paradigmas • Service Oriented Architecture, Service Oriented Software • Desenvolvimento Web para o futuro, RIA
  44. 44. E o Futuro da Sun? • Estado atual • As ações cairam mais de 70% este ano e 90% nos ultimos 3 anos • Esperada demissão de + - 18% da força de trabalho • Fatos importantes • A tecnologia Java é open-source (projeto OpenJDK), de domínio público • A comunidade é muito grande • Além da Sun, várias outras empresas estão por traz da tecnologia Java (IBM, Red Hat, Nokia, Google), conforme proposto no JCP • A concorrência é um fator positivo
  45. 45. Sumário • Introdução • Revendo o passado • Apresentando o presente • Avaliando a tecnologia • O que está por vir • Conclusões
  46. 46. Conclusões • Referências a serem observadas • Java Community Process, JavaOne, WebLogs de líderes de projeto e arquitetos da Sun • Tendências em geral • JavaEE: Novas tecnologias, RIA, SOA • JavaME: Foco da Sun e do JCP em telefones móveis e dispositivos menores ao invés de smartphones • JavaSE: Suporte a várias linguagens, programação multicore
  47. 47. Conclusões • Linguagens de programação • Interesse por linguagens de múltiplos paradigmas • Prevendo o futuro • Analise dinâmica do passado e presente • O Java conseguiu se adaptar em novas áreas • Futuro do Java • Dependerá não só da Sun, mas também de outras corporações • Dependerá também dos concorrentes • Custos de desenvolvimento e manutenção de soluções • Simplicidade e velocidade no desenvolvimento • Movimentos open source estão se consolidando cada vez mais na comunidade Java • OpenJDK, GlassFish, phoneME
  48. 48. Discussão e Dúvidas Obrigado! Waldir Ribeiro Pires Jr Email: wpjr2@yahoo.com Eteg TI: http://www.eteg.com.br
  49. 49. Referências • http://anupamvarghese.blogspot.com/2007_09_ • http://www.codepedia.com/1/J2ME • http://www.java.com/en/javahistory/timeline.jsp • http://www.wirelessdevnet.com/columns/oct200 • http://java.sun.com/features/2000/06/time-line.h
  50. 50. Referências • Groovy Homepage • http://groovy.codehaus.org/ • Da Vinci Machine Project • http://openjdk.java.net/projects/mlvm/ • BeanShell • http://www.beanshell.org/ • VM Languages • http://www.is-research.de/info/vmlanguages/

×