Baixe o app para aproveitar ainda mais
Prévia do material em texto
Linguagem de Programação I Professor: Fábio José Rodrigues Pinheiro Bel em Ciência da Computação Índice • Histórico • Ambiente Java • Produtos • Características Histórico • Inicio em 1991, com o grupo chamado “Green Team”. • acreditava que a nova onda computacional seria a união dos dispositivos eletrônicos portáteis inteligentes com os computadores. • Nessa época o MS-DOS era o sistema operacional dominante, e o telefone celular pesava meio quilo. • Surge a linguagem Java, ainda com o nome de Oak Duke Histórico • Oak, rebatizado para Java (nome inspirado num reunião numa cafeteria), fica sem uso até 1994. • O foco inicial do Green Team estava em produtos para entretenimento ligados a industria de TV digital – O conceito estava muito avancado para a epoca e o projeto comecava a ruir Histórico • A Internet: – Em 1993 o projeto toma um novo rumo com o surgimento do primeiro navegador gráfico para web, o Mosaic 1.0 da NCSA. – Em 1995 a Sun lança ocialmente o ambiente Java e sua incorporação no Netscape Navigator trouxe vida às paginas web, antes estáticas Java O que é Java? “Java: uma linguagem simples, orientada a objetos, distribuída, interpretada, robusta, segura, neutra em relação à arquitetura, portátil, alto desempenho, multithread e dinâmica.” "The Java Language: A White Paper", Sun Research Labs • O Java continua a estar presente em páginas web, em sua forma original (applets) ou em uma forma mais moderna (Java Server Pages- JSP, e frameworks) • Aplicações desktop: Azureus, IRPF • Aplicações servidoras: Apache Tomcat • Dispositivos móveis: telefone celular, PDA, GPS, videogame Java Características • Principais características: – Orientada a Objetos – Simples – Robusta – Multiplataforma – Interpretada – Distribuída – Multithread Características Orientada a Objetos • Linguagem 100% Orientada a Objetos – Exceção: não suporta herança múltipla • Técnica de programação que foca nos dados (objetos) e suas interfaces. • Melhora o reuso. Características Simples • Softwares que estão cada vez mais complexos. • O processo de desenvolvimento também é complexo. • C e C++ eram algumas das linguagens mais utilizadas para desenvolvimento quando pensaram em Java. • Java tem a sintaxe muito parecida com C++. • Mas omite características de difícil compreensão e raramente utilizadas: – sobrecarga de operadores; – herança múltipla de classes; • Coleta automática de lixo. Características Robusta • Enfase na vericação preliminar de possveis problemas, vericação dinâmica (em tempo de execução) e eliminação de situações propensas a erros • Fortemente “tipada”. • O modelo de ponteiros de Java elimina a possibilidade de sobrescrever ou corromper os dados da memória. Características Multiplataforma • O Resultado da compilação em Java é um código independente de plataforma: Bytecode. • Os Bytecodes são instruções independentes da plataforma. – Na especificação da linguagem não existem pontos como “dependente de implementação", como ocorre em C e C++ • Contudo, dependem que o computador possua uma máquina virtual instalada. • Java foi projetada para suporta rede. – Em geral, redes são compostas por uma diversidade de sistemas. – Isto é útil não somente para redes, mas em geral os programas são criados para plataformas específicas. Características Distribuída • Tem uma extensa biblioteca para lidar com rede: TCP/IP, HTTP, FTP, etc. • Isto torna mais fácil fazer aplicações que necessitem de recursos de rede. – A complexidade para acessar a rede é a mesma para acessar um arquivo local. • Biblioteca completa para concepção de aplicações complexas – Programação concorrente: Multi-thread – Programação distribuída Características Interpretada • Java Virtual Machine (JVM). – Uma máquina real executa código própria para ela. – Uma máquina virtual executa um código seu próprio código. – A JVM é um programa normal em cada arquitetura. – A entrada para JVM são os Bytecodes. • Compilador: javac (java compiler) • Interpretador: java • Desempenho – Os bytecode são interpretados pela JVM resultando em um desempenho inferior quando comparado com códigos compilados para um CPU específico – Os compiladores de bytecode “just-in-time" surgem como uma solução para este problema, impondo em alguns casos um desempenho superior • A grande idéia: – “Write once, run anywhere!" TM – Se a JVM for portada para uma plataforma, então qualquer programa Java executará nesta plataforma. – Se um programa for escrito em Java, então ele poderá executar em qualquer plataforma com uma JVM. Programação Orientada a Objetos • Microsoft – Windows 9X – Windows XP – Windows 2000/2003 – Windows Vista/7 • IBM – OS/2 – OS/390 – AS/400 • UNIX – Solaris – Linux – HP-UX – Irix – AIX – SCO • O Java é interpretado, portanto e muito mais lento – Compiladores just-in-time permitem que ccódigos Java sejam executados com tanta rapidez como códigos C++ – A inicialização da JVM e as interfaces gráficas em Java (GUI) são sim lentas • C# é uma linguagem mais nova, deixando o Java obsoleto – C# incorporou muitas boas ideias do Java, como máquina virtual, linguagem limpa, coleta de lixo – Mas deixou para trás a segurança e independência de plataforma (feita para Windows, apesar de haver máquinas virtuais de terceiros para outros S.O, ex: Mono) Alguns mitos... Alguns mitos... • Javascript é uma versão simplificada do Java – Javascript foi criada pela Netscape para criação de scripts que podem ser usada em páginas Web Produtos • Java SE - Standard Edition – Para o desenvolvimento de aplicações desktop • Java EE - Enterprise Edition – Para o desenvolvimento de aplicações empresariais, que execução em servidores • Java ME - Mobile Edition – Para o desenvolvimento de aplicações para dispositivos móveis • Java FX – Para o desenvolvimento de ricos aplicativos clientes (audio, vdeo) – Aplicações JavaFX podem ser para navegador, desktop e dispositivos móveis Programação Orientada a Objetos Tipos de aplicações • Aplicações stand-alone • Aplicações cliente/servidor • Aplicações para a Internet – Applets – JSP – Servlets Applets Applets Programas Java que rodam em um navegador Web. Como Funciona? O browser tem disponível uma JVM para executar os programas Java. Applets Senha no BB. www.bb.com.br Map24. br.map24.com Urna eletrônica no site do TSE. www.tse.org.br Jogos Programação Orientada a Objetos Servlets/JSP Programação Orientada a Objetos Servlets/JSP Programas Java que executam no lado do servidor. Desenvolvendo em Java • Para executar uma aplicação Java é necessário possuir uma máquina virtual Java – A Sun/Oracle disponibiliza gratuitamente o “ambiente de execução Java" (Java Runtime Environment - JRE) para diversos sistemas operacionais e arquiteturas • A Sun/Oracle disponibiliza gratuitamente um kit de desenvolvimento (Java Development Kit - JDK) – Compilador, máquina virtual Java, código fonte, documentação das APIs (Application Programming Interface) • Os ambientes integrados de desenvolvimento (AID) (ou Integrated Development Environment - IDE) tornam mais agradável e produtivo o desenvolvimento de aplicações – Netbeans - Apoiado pela Sun (agora Oracle) http://www.netbeans.org – Eclipse - bastante usado pela comunidade http://www.eclipse.org Desenvolvendo em Java Criando um programa em Java • Compilar javac Programa.java • Executar java ProgramaPrimeiro Programa: Alo Mundo Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32 Slide 33 Slide 34 Slide 35 Slide 36 Slide 37 Slide 38 Slide 39 Slide 40 Slide 41 Slide 42
Compartilhar