Joyce França Professora de Ciência da Computação - IFNMG
Linguagem de Programação
• Paradigmas de Programação
• História do Java
• Principais Características
• Fases de um programa Java
• Plataformas Java
• Instalando e configurando o Java
Sumário
Sumário
• Um primeiro programa Java
• Usando o editor de texto e o console
• Entendendo o primeiro programa Java
• Compilando o primeiro programa
• Executando o primeiro programa
As LPs mais populares tiobe.com
As LPs mais populares tiobe.com
As LPs mais populares redmonk.com
1 JavaScript 2 Java 3 PHP 4 Python 5 C# 5 C++ 5 Ruby 8 CSS 9 C 10 Objective-C 11 Perl 11 Shell 13 R 14 Scala 15 Go 15 Haskell 17 Matlab 18 Swift 19 Clojure 19 Groovy 19 Visual Basic
Paradigma
• Paradigma é a filosofia adotada na construção de software. ▫ Funcional (Haskel, Lisp, OCAML, etc...);
▫ Imperativo ou Procedural (C, Fortran, etc...);
▫ Lógico (Prolog, etc...);
▫ Orientado a Objetos (Java, C++, SmallTalk, etc... );
Paradigmas de Programação
• Programação Funcional
▫ Trata a computação como uma avaliação de funções matemáticas e que evita estados ou dados mutáveis. Ela enfatiza a aplicação de funções (Linguagem Haskell).
Paradigmas de Programação
• Programação Procedural
▫ Baseada no conceito de chamadas a procedimento (linguagens: C, C++, Fortran, Pascal, MATLAB).
Paradigmas de Programação
• Programação Orientada por Objetos
▫ Baseado na composição e interação entre diversas unidades de software chamadas de objetos;
▫ Permite reuso de código e flexibilidade no desenvolvimento.
Paradigmas de Programação
• Programação Orientada por Objetos
Paradigmas de Programação
• Programação Orientada por Objetos ▫ Sugere a diminuição da distância entre a
modelagem computacional e o mundo real.
• Permite que objetos do mundo real sejam mapeados em Objetos no computador, pressupondo que o mundo é composto por objetos.
• Os sistemas são modelados como um conjunto de objetos que interagem entre si.
Idéias básicas da POO
14
• O que é um gap semântico? ▫ À distância existente entre o problema no mundo real e o
modelo abstrato construído, convencionou-se chamar gap semântico e, obviamente, quanto menor ele for, mais direto será o mapeamento e, portanto, mais rapidamente serão construídas soluções para o problema.
▫ A Orientação a Objetos é um dos paradigmas existentes para apoiar o desenvolvimento de sistemas, que busca fornecer meios para se diminuir o gap semântico.
O que é um objeto?
• De acordo com o dicionário:
▫ Objeto: “1. Tudo que se oferece aos nossos sentidos ou à nossa alma. 2. Coisa material: Havia na estante vários objetos. 3. Tudo que constitui a matéria de ciências ou artes. 4. Assunto, matéria. 5. Fim a que se mira ou que se tem em vista”.
15
16
O que é um objeto?
• Objetos podem ser não só coisas concretas como também coisas inanimadas, como por exemplo uma matrícula, as disciplinas de um curso, os horários de aula.
• Na programação orientada a objetos, implementa-se um conjunto de classes que definem os objetos presentes no software. Cada classe possui um comportamento (definidos pelos métodos) e estados possíveis (valores dos atributos) de seus objetos, assim como o relacionamento com outros objetos.
17
O que é um objeto?
O que é um objeto?
• Na POO os objetos devem interagir entre si.
• Os objetos "conversam" uns com os outros através do envio de mensagens, e o papel principal do programador é especificar quais serão as mensagens que cada objeto pode receber, e também qual a ação que aquele objeto deve realizar ao receber aquela mensagem em específico.
18
Definição
• Objeto
▫ Entidades concretas ou abstratas
▫ Tem características e podem executar ações
▫ “um objeto representa um item identificável, uma unidade ou entidade, individual, seja real ou abstrato, com uma regra bem definida”
▫ Tem
Estado (atributo)
Comportamento
Identidade
19
Objeto - representação
20
Definição
• Estado
▫ Define os estados possíveis que um objeto pode assumir
▫ São os valores dos atributos (propriedades)
• Exemplo:
▫ lâmpada
21
Definição
• Comportamento:
▫ São as funções que podem ser executadas por um determinado objeto
▫ O que você pode fazer com esse objeto
• Exemplo:
▫ lâmpada
22
Definição
• Identidade:
▫ Um objeto é único, mesmo que o seu estado seja idêntico ao de outro
• Exemplo:
▫ lâmpada
23
Exemplo: Lâmpada
24
História do Java
• Em 1992, A Sun criou um time (conhecido como Green Team) para desenvolver inovações tecnológicas;
• Esse time foi liderado por James Gosling, considerado o Pai do Java;
Video
• Perguntas
Linguagens antigas (video 1:20 até 12:12)
1. O que é ENIAC? Qual era a forma de programar?
2. O que é linguagem de programação de alto nível?
3. Qual o problema da compilação dos programas em C?
História do Java (video 14:24 até 30:35)
4. Como o nome java foi escolhido para o nome da nova linguagem de programação?
5. Cite 5 exemplos de uso da linguagem java atualmente
História do Java
• Idéia de criar um interpretador para pequenos dispositivos, facilitando a reescrita de software para aparelhos eletrônicos;
• O projeto resultou em uma linguagem baseada em C e C++ chamada Oak;
História do Java
• A inspiração do nome Java surgiu em uma cafeteria local, cujo café vinha de uma ilha da Indonésia chamada Java;
• 1993 e a Sun aposta no imediato potencial de utilizar Java para criar páginas da Web com o chamado conteúdo dinâmico;
História do Java
• Na metade de 1994, construiu um browser chamado HotJava;
• Em maio de 1995, a Sun anunciou Java formalmente;
• Em Janeiro de 1996, a Netscape decide dar suporte a Java (browser Navigator);
• Em 1996, foi disponibilizada a primeira versão do Java (JDK 1.0);
História do Java
• Atualmente, Java é utilizado :
▫ páginas da Web com conteúdo interativo e dinâmico;
▫ Aplicativos corporativos de grande porte;
▫ Fornecer aplicativos para dispositivos destinados ao consumidor final.