Vous êtes sur la page 1sur 34

POO numa perspectiva histórica

Primeiras linguagens de programação

Computadores de 1a geração — linguagem de máquina


Não existiam teclado ou monitor
ENIAC, EDVAC
Computadores de 2a geração — primeiras linguagens de
programação
Anos 50 — linguagem FORTRAN

Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe


Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Primeiras linguagens de programação

Computadores de 1a geração — linguagem de máquina


Não existiam teclado ou monitor
ENIAC, EDVAC
Computadores de 2a geração — primeiras linguagens de
programação
Anos 50 — linguagem FORTRAN

Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe


Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Primeiras linguagens de programação

Computadores de 1a geração — linguagem de máquina


Não existiam teclado ou monitor
ENIAC, EDVAC
Computadores de 2a geração — primeiras linguagens de
programação
Anos 50 — linguagem FORTRAN

Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe


Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Primeiras linguagens de programação

Computadores de 1a geração — linguagem de máquina


Não existiam teclado ou monitor
ENIAC, EDVAC
Computadores de 2a geração — primeiras linguagens de
programação
Anos 50 — linguagem FORTRAN

Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe


Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Primeiras linguagens de programação

Computadores de 1a geração — linguagem de máquina


Não existiam teclado ou monitor
ENIAC, EDVAC
Computadores de 2a geração — primeiras linguagens de
programação
Anos 50 — linguagem FORTRAN

Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe


Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Anos 60
Diversidade de aplicações do computador — bancos,
universidades, grandes organizações
Diversidade de linguagens de programação — COBOL,
Lisp, BASIC
As linguagens de programação não favoreciam o
desenvolvimento de um código estruturado.
Os programas eram desenvolvidos por um indivídio
isoladamente, não por uma equipe.
A falta de estrutura dos programas e o desenvolvimento
isolado fazia o código ilegível e de difícil manutenção.
A crise do software foi discutida seriamente em uma
conferência em Gamisch, na Alemanha, no final dos anos
60.
Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe
Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Anos 60
Diversidade de aplicações do computador — bancos,
universidades, grandes organizações
Diversidade de linguagens de programação — COBOL,
Lisp, BASIC
As linguagens de programação não favoreciam o
desenvolvimento de um código estruturado.
Os programas eram desenvolvidos por um indivídio
isoladamente, não por uma equipe.
A falta de estrutura dos programas e o desenvolvimento
isolado fazia o código ilegível e de difícil manutenção.
A crise do software foi discutida seriamente em uma
conferência em Gamisch, na Alemanha, no final dos anos
60.
Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe
Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Anos 60
Diversidade de aplicações do computador — bancos,
universidades, grandes organizações
Diversidade de linguagens de programação — COBOL,
Lisp, BASIC
As linguagens de programação não favoreciam o
desenvolvimento de um código estruturado.
Os programas eram desenvolvidos por um indivídio
isoladamente, não por uma equipe.
A falta de estrutura dos programas e o desenvolvimento
isolado fazia o código ilegível e de difícil manutenção.
A crise do software foi discutida seriamente em uma
conferência em Gamisch, na Alemanha, no final dos anos
60.
Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe
Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Anos 60
Diversidade de aplicações do computador — bancos,
universidades, grandes organizações
Diversidade de linguagens de programação — COBOL,
Lisp, BASIC
As linguagens de programação não favoreciam o
desenvolvimento de um código estruturado.
Os programas eram desenvolvidos por um indivídio
isoladamente, não por uma equipe.
A falta de estrutura dos programas e o desenvolvimento
isolado fazia o código ilegível e de difícil manutenção.
A crise do software foi discutida seriamente em uma
conferência em Gamisch, na Alemanha, no final dos anos
60.
Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe
Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Anos 60
Diversidade de aplicações do computador — bancos,
universidades, grandes organizações
Diversidade de linguagens de programação — COBOL,
Lisp, BASIC
As linguagens de programação não favoreciam o
desenvolvimento de um código estruturado.
Os programas eram desenvolvidos por um indivídio
isoladamente, não por uma equipe.
A falta de estrutura dos programas e o desenvolvimento
isolado fazia o código ilegível e de difícil manutenção.
A crise do software foi discutida seriamente em uma
conferência em Gamisch, na Alemanha, no final dos anos
60.
Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe
Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Anos 60
Diversidade de aplicações do computador — bancos,
universidades, grandes organizações
Diversidade de linguagens de programação — COBOL,
Lisp, BASIC
As linguagens de programação não favoreciam o
desenvolvimento de um código estruturado.
Os programas eram desenvolvidos por um indivídio
isoladamente, não por uma equipe.
A falta de estrutura dos programas e o desenvolvimento
isolado fazia o código ilegível e de difícil manutenção.
A crise do software foi discutida seriamente em uma
conferência em Gamisch, na Alemanha, no final dos anos
60.
Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe
Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Continuação

Do encontro em Gamisch foram estabelecidos os pilares


da programação estruturada.
A programação estruturada foi uma tentativa de
estabelecer regras para geração de código fácil de
escrever e livre de erros
Contribuia colateralmente para eliminar a figura do dono
do sistema, isto é, o indivíduo que respondia unicamente
pela manutenção do sistema.

Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe


Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Continuação

Do encontro em Gamisch foram estabelecidos os pilares


da programação estruturada.
A programação estruturada foi uma tentativa de
estabelecer regras para geração de código fácil de
escrever e livre de erros
Contribuia colateralmente para eliminar a figura do dono
do sistema, isto é, o indivíduo que respondia unicamente
pela manutenção do sistema.

Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe


Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Continuação

Do encontro em Gamisch foram estabelecidos os pilares


da programação estruturada.
A programação estruturada foi uma tentativa de
estabelecer regras para geração de código fácil de
escrever e livre de erros
Contribuia colateralmente para eliminar a figura do dono
do sistema, isto é, o indivíduo que respondia unicamente
pela manutenção do sistema.

Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe


Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Continuação

Algumas das principais prerrogativas em que se baseiam


a programação estruturada são:
Utilização de desvios através de estruturas de controle
Empacotamento de código em unidades sintáticas
denominadas sub-rotinas.

Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe


Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Continuação

Algumas das principais prerrogativas em que se baseiam


a programação estruturada são:
Utilização de desvios através de estruturas de controle
Empacotamento de código em unidades sintáticas
denominadas sub-rotinas.

Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe


Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Continuação

Algumas das principais prerrogativas em que se baseiam


a programação estruturada são:
Utilização de desvios através de estruturas de controle
Empacotamento de código em unidades sintáticas
denominadas sub-rotinas.

Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe


Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Anos 70

Surgimento da linguagem Pascal, em 1970, consolidando


as idéias postuladas na conferência de Gamisch.
Surgimento da linguagem de programção C, ainda no
início da década, que alinhava os propósitos de ser tanto
estruturada quanto apropriada para escrita de programas
de baixo nível. A linguagem C foi usada para escrever o
sistema operacional UNIX.
Surgimento das linguagens Ada e Modula-2 que
implementavam tipos abstratos de dados.

Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe


Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Anos 70

Surgimento da linguagem Pascal, em 1970, consolidando


as idéias postuladas na conferência de Gamisch.
Surgimento da linguagem de programção C, ainda no
início da década, que alinhava os propósitos de ser tanto
estruturada quanto apropriada para escrita de programas
de baixo nível. A linguagem C foi usada para escrever o
sistema operacional UNIX.
Surgimento das linguagens Ada e Modula-2 que
implementavam tipos abstratos de dados.

Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe


Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Anos 70

Surgimento da linguagem Pascal, em 1970, consolidando


as idéias postuladas na conferência de Gamisch.
Surgimento da linguagem de programção C, ainda no
início da década, que alinhava os propósitos de ser tanto
estruturada quanto apropriada para escrita de programas
de baixo nível. A linguagem C foi usada para escrever o
sistema operacional UNIX.
Surgimento das linguagens Ada e Modula-2 que
implementavam tipos abstratos de dados.

Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe


Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Programação baseada em objetos

A redução no custo do hardware tornou o computador


acessível a um público maior, o que originou novas
demandas por software.
A programação estruturada ainda era insuficiente para o
desenvolvimento de grandes sistemas, desenvolvidos por
muitos programadores.
Em grandes sistemas cada programador torna-se
responsável pelo desenvolvimento de um módulo ou
etapa. A implementação de seu módulo, por sua vez, não
precisa ser conhecida pelos outros desenvolvedores.
Apenas a interface de seu módulo deve ser conhecida
pelos demais.

Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe


Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Programação baseada em objetos

A redução no custo do hardware tornou o computador


acessível a um público maior, o que originou novas
demandas por software.
A programação estruturada ainda era insuficiente para o
desenvolvimento de grandes sistemas, desenvolvidos por
muitos programadores.
Em grandes sistemas cada programador torna-se
responsável pelo desenvolvimento de um módulo ou
etapa. A implementação de seu módulo, por sua vez, não
precisa ser conhecida pelos outros desenvolvedores.
Apenas a interface de seu módulo deve ser conhecida
pelos demais.

Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe


Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Programação baseada em objetos

A redução no custo do hardware tornou o computador


acessível a um público maior, o que originou novas
demandas por software.
A programação estruturada ainda era insuficiente para o
desenvolvimento de grandes sistemas, desenvolvidos por
muitos programadores.
Em grandes sistemas cada programador torna-se
responsável pelo desenvolvimento de um módulo ou
etapa. A implementação de seu módulo, por sua vez, não
precisa ser conhecida pelos outros desenvolvedores.
Apenas a interface de seu módulo deve ser conhecida
pelos demais.

Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe


Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Programação baseada em objetos

Havia uma fragilidade na especificação dos módulos de


programa ou sub-rotinas nas linguagens da época.
É desejável que os módulos possuam baixo acoplamento
e elevada coesão. Estas características não eram
alcançadas com os módulos existentes em linguagens
como C ou Pascal.

Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe


Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Programação baseada em objetos

Havia uma fragilidade na especificação dos módulos de


programa ou sub-rotinas nas linguagens da época.
É desejável que os módulos possuam baixo acoplamento
e elevada coesão. Estas características não eram
alcançadas com os módulos existentes em linguagens
como C ou Pascal.

Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe


Sintaxe básica da linguagem Java
POO numa perspectiva histórica

continuação ...

A PBO surgiu como uma extensão da PE, introduzindo


duas importantes propriedades que permitia construir
módulos mais coesos e menos acoplados:
encapsulamento de informação e ocultamento de
informação.
A PBO implementa tipos abstratos de dados, que são tipos
em que os dados e as rotinas que operam sobre eles são
agrupados (encapsulados) em uma mesma unidade
sintática.

Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe


Sintaxe básica da linguagem Java
POO numa perspectiva histórica

continuação ...

O conteúdo de um módulo possui visibilidade controlada


(ocultamento de informação). Isso favorece o
desenvolvimento de módulos em que o cliente (utilizador)
não tem acesso à implementação.
Ada e Modula-2 são exemplos de linguagens baseadas
nesse paradigma.

Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe


Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Programação orientada a objetos

A solução mais duradoura para o problema de


desenvolvimento de software ainda não tinha sido alcançada.
Embora a PBO viabilizasse a construção de módulos de
programa mais adequados, ela não estabelecia mecanismos
que permitissem a reusabilidade de código apropriada.
A demanda por software mantinha-se crescente à medida
que o computador ampliava sua penetração nos diversos
domínios da atividade humana.

Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe


Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Programação orientada a objetos

Novos tipos de hardware foram se disseminando a partir


do início dos anos 80, como redes locais, estações
gráficas e microcomputadores. Este novo hardware
demandava o desenvolvimento de mais software.
O atendimento à essa demanda requeria uma boa dose
de aproveitamento de código existente.
Esse aproveitamento, reusabilidade, significa usar um
código existente realizando pequenas alterações
adaptando-o para um uso particular ou extendendo sua
funcionalidade.
Isto é, não basta usar, tem que poder alterar
controladamente.

Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe


Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Programação orientada a objetos

Novos tipos de hardware foram se disseminando a partir


do início dos anos 80, como redes locais, estações
gráficas e microcomputadores. Este novo hardware
demandava o desenvolvimento de mais software.
O atendimento à essa demanda requeria uma boa dose
de aproveitamento de código existente.
Esse aproveitamento, reusabilidade, significa usar um
código existente realizando pequenas alterações
adaptando-o para um uso particular ou extendendo sua
funcionalidade.
Isto é, não basta usar, tem que poder alterar
controladamente.

Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe


Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Programação orientada a objetos

Novos tipos de hardware foram se disseminando a partir


do início dos anos 80, como redes locais, estações
gráficas e microcomputadores. Este novo hardware
demandava o desenvolvimento de mais software.
O atendimento à essa demanda requeria uma boa dose
de aproveitamento de código existente.
Esse aproveitamento, reusabilidade, significa usar um
código existente realizando pequenas alterações
adaptando-o para um uso particular ou extendendo sua
funcionalidade.
Isto é, não basta usar, tem que poder alterar
controladamente.

Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe


Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Programação orientada a objetos

Novos tipos de hardware foram se disseminando a partir


do início dos anos 80, como redes locais, estações
gráficas e microcomputadores. Este novo hardware
demandava o desenvolvimento de mais software.
O atendimento à essa demanda requeria uma boa dose
de aproveitamento de código existente.
Esse aproveitamento, reusabilidade, significa usar um
código existente realizando pequenas alterações
adaptando-o para um uso particular ou extendendo sua
funcionalidade.
Isto é, não basta usar, tem que poder alterar
controladamente.

Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe


Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Programação orientada a objetos

Dentre as várias características da POO que contribuem


fortemente para o desenvolvimento eficiente de sistemas
complexos, duas são especialmente importante:
Herança — permite que um código já existente possa ser
aproveitado ou herdado para composição de um novo. Em
outras palavras, as características de um módulo podem
ser herdadas na criação de um outro. Por exemplo, as
janelas de uma GUI são geralmente herdadas de alguma
API já existente (Java AWT, Qt, VCL).

Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe


Sintaxe básica da linguagem Java
POO numa perspectiva histórica

Programação orientada a objetos

Polimorfismo — permite que o comportamento de um


dado “método” possa ser particularizado em um dado nível
da estrutura hieráriquica que o mecanismo de herança
produz. Uma janela da GUI pode ser programada para
responder diferentemente ao evento associado ao
deslisamento do mouse, enquanto que os demais eventos
são programados por default

Prof. Dsc. Leonardo Nogueira Matos Universidade Federal de Sergipe


Sintaxe básica da linguagem Java

Vous aimerez peut-être aussi