Baixe o app para aproveitar ainda mais
Prévia do material em texto
JAVA Evolução do Java Prof. M. Sc. Edgar Gurgel Linguagem Java - Conceito Java é o nome da linguagem de programação usada para desenvolver programas. Java é multiplataforma. Isto quer dizer que não é necessário usar um tipo especifico de computador, não importa se você usa Windows, Mac, ou Unix. Na internet encontramos pequenas aplicações em Java(Applets), que são carregadas e executadas no browser do usuário. Esta característica causa muita espectativa em relação ao Java, pois espera-se que no futuro não precisaremos mais instalar aplicativos no computador. Basta estar conectado à Internet e acessar o programa desejado. POOII 2 Linguagem Java - Histórico A linguagem JAVA foi projetada e implementada por um pequeno grupo de pessoas(Green), coordenado por James Gosling, na Sun Microsystems em Mountain View, Califórnia, em 1991. http://www.javasoft.com/people/jag/index.html POOII 3 Linguagem Java - Histórico Equipe trabalhava no projeto de software para produtos eletrônicos de consumo (software para eletrodomésticos) Nova geração de microcomputadores portáteis, TVs interativas, lâmpadas interativas, etc. Todos interconectados e com mesma interface. PROJETO GREEN POOII 4 Linguagem Java - Histórico 1a TENTATIVA Idéia de um protótipo de dispositivo para comunicação, tipo controle remoto, para o controle de aparelhos eletrodomésticos. Sugestão inicial: C++ Orientada a objetos. Extremamente popular. Tentativa de desenvolver o sistema operacional Star7 em C++. POOII 5 Linguagem Java - Histórico Problema com LP´s existentes C++ (e outras linguagens) não estava d e s e m p e n h a n d o a t a r e f a satisfatoriamente. POOII 6 Linguagem Java - Histórico James Gosling (Sun) e equipe projetou uma nova linguagem para manipular o Star7. Linguagem denominada de OAK (precursora de Java) OAK significa CARVALHO em inglês 2a TENTATIVA POOII 7 Linguagem Java - Histórico 2a TENTATIVA PROJETO GREEN Propósito de testar um novo tipo de interface do usuário para controlar um ambiente doméstico (casa inteligente). Videocassete,TV, luzes,telefone,etc. *7 (Star Seven) Computador experimental portátil, tipo controle remoto, com interface gráfica e interativa. Nova linguagem de programação: OAK POOII 8 Linguagem Java - Histórico 2a TENTATIVA PROJETO GREEN *7 (Star Seven) DUKE – figura animada do protótipo *7 *7 utilizava uma interface gráfica bastante atraente para controlar os eletrodomésticos. POOII 9 Linguagem Java - Histórico Protótipo do Gream Team Dispositivo portátil, sem teclado, botões e com uma pequena tela. Controle se dava por toques na tela. Interface gráfica - uma casa animada com um guia de turismo, o mascote DUKE. POOII 10 Linguagem Java - Histórico A Sun descobriu que o nome Oak já estava sendo usado. Decidem chamar esta nova linguagem de Java http://www.javasoft.com/hooked/language-ref.html POOII 11 Por que o nome Java? JAVA ( Just Another Vague Acronym) ?! NÃO. Inspiração na hora do cafezinho: Café da Ilha de Java POOII 12 Por que o nome Java? Java é o nome de uma ilha do Pacífico, onde se produz uma certa variedade de café homônimo. A inspiração bateu à equipe de desenvolvimento ao saborear esse café em uma lanchonete local. Era extremamente apreciado por profissionais da área de software (ainda o é). POOII 13 Linguagem Java - Histórico 1994: Criação do HotJava Feito totalmente em Java. Navegador da Web que podia efetuar Downloads e executar applets Java. Java mostrou-se ideal para ser usada na Internet. POOII Prof. Edgar Gurgel 14 Linguagem Java - Histórico 1995: Netscape Navigator 2.0 suporta Java, que incorpora as capacidades de efetuar o download e realizar a execução de pequenas aplicações Java, então chamadas de applets. A Sun amplia esforços para o desenvolvimento de Java. Criação da JavaSoft. 1996: Lançamento oficial de Java 1.02 Download gratuito pela Internet (http://www.javasoft.com) Sun decide disponibil izar um conjunto de ferramentas de desenvolvimento Java (JDK) “gratuitamente” para a comunidade de software. 1997: Java toma conta da Internet Netscape, Internet Explorer, HotJava, ... POOII 15 Linguagem Java - Histórico Em breve, desenvolvedores do mundo todo preferirão a linguagem Java à C/C++ e Visual Basic. Quem confirma esse dado é a Evans Data Corporation, instituto norte-americano de pesquisas de mercado. Janel Garvin, vice-presidente da empresa, afirma que mais da metade da população dos Estados Unidos usa Java e calcula-se que esse número cresça mais 10% até o próximo ano. A pesquisa do Evans Data Corporation também mostra que o uso da tecnologia tem se fortalecido fora da América do Norte, onde aproximadamente 60% dos desenvolvedores a utilizam para suas programações. Dados da Sun Microsystems do Brasil apontam que a procura por cursos de Java cresceu 674%, no seu lançamento, com um aumento de 30% para os cursos voltados a pessoas com pouca ou nenhuma experiência em programação e 50% para os cursos básicos de Java. POOII 16 Linguagem Java - Histórico Utilizada em empresas como: IBM, Kaiser NASA, ESPN, Museu de Arte Moderna de NY, diversos bancos, etc. Mais de 2000 livros escritos. Contagem recente da Java World Magazine. POOII 17 Quem está usando Java? Grande disseminação na Europa e EUA. No Brasil, grandes empresas já adotam JAVA, principalmente em aplicações de Comércio Eletrônico. POOII 18 Quem está usando Java? Serviços financeiros Home Banking, comércio seguro Marketing e propaganda Loja interativa, animações, multimídia Diversão e entretenimento Jogos multi-usuário, chat Educação Ensino à distância, simulações interativas Outros Astronomia (telescópios orbitais). Telefonia. Aparelhos eletroeletrônicos. POOII 19 Quem está usando Java? British Telecom (empresa de telefonia inglesa) - ServiceView; MountSinai (hospital de Nova York) emite certificados de óbitos usando JAVA; VISA Internacional irá substituir as tarjas magnéticas de seus cartões por chips com tecnologia JAVA; American Express (serviços financeiros); CSX (maior companhia ferroviária dos EUA) montou rede JAVA; POOII 20 Quem está usando Java? J.P. Morgan (banco de investimentos); Hong Kong Telecom (operações de rede de TV interativa); Fannie Mac (maior empresa americana de hipotecas); Banco Itaú usando JAVA em sua Intranet; Banco do Brasil anunciou migração para JAVA; UNIVERSIDADES (no Brasil: UNB, UNICAMP, UFPE, entre outras). POOII 21 Por que Java? Vantagens Escreva uma vez, execute em qualquer lugar Escrever somente para a plataforma JAVA Suporte nos browsers da Web, TVs, PDAs e celulares. Segurança Permite que usuários descarreguem código não confiável em uma rede e o executem em um ambiente seguro: a inexistência de ponteiros evita o acesso direto a memória Programação centrada em rede Slogan corporativo da Sun: “ A rede é o computador” Suporte a arquitetura cliente/servidor e multicamadas. POOII 22 Por que Java? Vantagens Programas dinâmicos e extensíveis Código Java organizado em unidades modulares orientadas por objeto chamadas classes. Cada classe é armazenada em um arquivo separado e somente descarregadas para o interpretador Java quando necessárias. O códigotorna-se uma coleção interativa de componentes independentes de software. Internacionalização Única linguagem de programação que suporta Unicode. Eficiência do programador e tempo de comercialização Conjunto de APIs (Application Programming Interface) poderoso e bem projetado. POOII 23 Por que Java? Torna as páginas da Web mais interessantes Som, vídeo, animações, relógios, contadores Nova plataforma Pode-se criar uma grande variedade de aplicações. planilhas eletrônicas, processadores de texto, jogos, salas de bate-papo, programas financeiros, gerência de recursos humanos, etc. POOII 24 Por que Java? Desvantagens Desempenho Eficiência (código interpretado: bytecode) Necessidade de uma máquina virtual Por ser interpretada, torna-se mais lenta, não podendo ser comparada à velocidade de execução de código nativo. Garbage Collection A rotina para manter o controle dos objetos que estão sendo referenciados durante a execução, exige mais do processador hospedeiro. POOII 25 Por que Java? Características Importantes Portabilidade (Independente de plataforma – Os programas Java são compilados para uma forma intermediaria de código denominada Bytecodes) Familiaridade (Similar ao C, C++) Sem Ponteiros (O Java não permite a manipulação direta de endereços na memória nem exige que os objetos criados sejam destruídos livrando o programador de uma tarefa complexa) POOII 26 Por que Java? Características Importantes Distribuição (No caso dos applets, os bytecodes da Java são tranferidos em tempo de execução, então o usuário sempre estará utilizando o código mais recente. Isto resolve todo tipo de pesadelo de distribuição que tradicionalmente as empresas tem de enfrentar) Segurança (Java foi planejada para verificar e executar programas binários em um ambiente controlado. Isto protege o usuário final de vírus e violações de segurança. Toda vez que um applet Java é transferido para o browser do usuário recebe um verificação de seu byte-code. Isto significa que se o tamanho do pacote de código for alterado pelo caminho, o programa será abortado. Esta checagem protege contra Cavalos de Tróia e outras viroses que forem adicionadas aos Java bytecodes.) Orientada a objetos (baseada no modelo de Smalltalk e Simula67) POOII 27 Conceitos Gerais Carga Dinâmica de Código Programas não monolíticos: cada classe é armazenada independentemente e pode ser carregada somente quando for utilizada. Concorrência Permite múltiplas linhas de execução (threads) num mesmo programa e oferece primitivas para sincronizá-las. Pilha de Execução Idêntica a outras OOPLs (cada thread numa pilha própria) Coleta Automática de Lixo Desalocação de memória (objetos) automática. POOII 28 Conceitos Gerais Tratamento de Exceções Java institui um método de detecção de erros conhecido com “tratamento de exceções”. objetivo → tratar erros de software ou hardware como → separando o código de tratamento de erros do código normal da aplicação Modelo de Objetos Incorpora todos os principais conceitos Recursos de Rede Extensa biblioteca de rotinas que facilitam a cooperação com protocolos TCP/ IP, como HTTP e FTP. Maior facilidade de criação de conexões de rede do que C ou C++. Aplicações Java podem abrir e acessar objetos na rede através das URLs. POOII 29 A pilha Java A concepção da Máquina Virtual Java é fortemente orientada a pilhas. As principais funções da pilha Java são: Armazenar parâmetros para os bytecodes e guardar os resultados decorrentes da execução dos mesmos; Passar parâmetros para os métodos e armazenar os valores retornados pelos mesmos; Manter o estado dos métodos que foram invocados. POOII 30
Compartilhar