Introdução ao Curso

Computação II - Ciência da Computação


Prof.: Danilo S. Carvalho

Neste curso vamos aprender a desenvolver programas de computador usando o paradigma de Orientação à Objetos (Object Oriented Programming -- OOP) e a linguagem de programação Java.

OOP: Object Oriented Programming Logotipo da linguagem Java

Este curso depende do conhecimento adquirido no curso de Computação I (MAB120).

O conteúdo a ser abordado aqui assume que o aluno está familiarizado com a programação em linguagem C.

Recomendo a revisão do conteúdo de Computação I no início.

Primeiramente, vamos falar da nossa ferramenta de trabalho.


O que é a linguagem Java? Porque Java?

Os programas escritos na linguagem C, que usamos usamos no curso de Computação I, e a sua sucessora, o C++, precisam ser compilados para cada plataforma de computação,

ou seja, cada para tipo de hardware e sistema operacional onde serão executados.

Isso quer dizer que um programa compilado para um computador Intel/AMD não pode ser executado diretamente em um computador com CPU PowerPC, ou em um smartphone (CPU ARM).

Um programa compilado para o sistema operacional Windows também não pode ser executado diretamente em um sistema Linux ou Mac OS.

Ou seja, é preciso um compilador diferente para cada combinação de CPU e sistema operacional.

O problema é que compiladores são programas complexos e requerem grande quantidade de ajustes.

E além disso, atualizações na linguagem implicam na mudança de toda a base instalada de compiladores.

Logotipo da linguagem C Seta para a direita Logotipo da linguagem C++
Logotipo da linguagem C Seta para a direita Logotipo da linguagem C++
AMD vs Intel CPU Cell BE CPU SnapDragon CPU
Logotipo MS Windows Tux -- Linux Logotipo Mac OS

A linguagem Java foi lançada em 1995, pela Sun Microsystems (hoje Oracle), baseada em grande parte no C++, e com uma proposta ambiciosa.

Uma vez compilado, o código Java poderia ser executado em qualquer computador, através de um programa chamado Java Runtime Environment (JRE).

O código resultante da compilação contém instruções não para uma CPU específica, mas para uma máquina virtual, abstrata.

Esse código é chamado de Bytecode.

O JRE implementa a máquina virtual, que converte as instruções do bytecode para a CPU real.

O JRE, por sua vez, seria desenvolvido para todas as plataformas de computação.

Desta forma, um programa Java precisaria ser compilado apenas uma vez.

Esse princípio é conhecido como "Write Once, Run Anywhere" (escreva uma vez, rode em qualquer lugar).

Logotipo da linguagem Java
Java Runtime Environment
Logotipo da linguagem Java Seta para a direita Logotipo da linguagem Java Seta para a direita Código binário
Logotipo da linguagem Java Seta para a direita Logotipo da linguagem Java Seta para a direita Código binário Seta para a direita Java Runtime Environment Seta para a direita Ícone CPU
Write Once, Run Anywhere

Em alguns anos, a linguagem Java sucedeu o C/C++ como linguagem de uso profissional mais popular, permanecendo assim até poucos anos atrás.

É utilizada tanto em computadores de grande capacidade, como pessoais e também em smartphones.

É também é utilizada para todo tipo de aplicações: sistemas de informação, científicos, computação gráfica, jogos, entre outros.

Logotipo da linguagem C Seta para a direita Logotipo da linguagem C++ Seta para a direita Logotipo da linguagem Java
Rack de servidor
Smartphone PC desktop

Para desenvolver e executar programas Java no nosso computador, precisamos instalar os programas necessários, que são minimamente:

a) O Java Development Kit (JDK);

b) Um editor de código.
Exemplos: Visual Studio Code, Notepad++, Gedit, Vim, etc.

Podemos instalar o JDK no nosso computador da seguinte maneira:

E assim concluimos a introdução ao curso de Computação II.

Aprendemos aqui um pouco dos motivos por trás da criação da linguagem Java e sua proposta de uso ...

e também sobre como podemos obter as ferramentas que precisamos para começar a trabalhar com a linguagem.

Instalem os programas necessários para o desenvolvimento com Java (JDK + editor) para a próxima aula, pois vamos escrever programas.

Até a próxima aula!