Entendendo POO (História e conceitos)
Sabemos que Java, C++ e Object Pascal são linguagens Orientadas a Objetos, mas sabemos o que isso significa? Entenda de uma forma dinâmica e objetiva os conceitos e as características dessa poderosa ferramenta.
Parte 3: História / Benefícios
Se eu pudesse dar um chute, diria que o desejo da reutilização de código foi o
principal impulsionador para a criação da Programação Orientada a Objetos. A capacidade
de otimizar a produtividade do programador depende diretamente de como o software
disponibiliza a reutilização do código gerado.
"A POO é um conceito desenvolvido para facilitar o uso de códigos de desenvolvimento em interfaces gráficas!" (Curto e grosso né?). Sendo a Borland uma das primeiras empresas a entrarem neste novo conceito, possui suas principais linguagens de programação (tais como Object Pascal e C++) voltadas para esse novo tipo de programação.
A POO atraiu muitos adeptos, principalmente pelo pouco uso de códigos que o projeto (diferente de sistema) carrega no programa fonte, ao contrário das linguagens mais antigas como o Clipper'87, muito utilizado no final da década de 80 e início da década de 90. O resultado desta "limpeza" no código resulta que a manutenção do projeto torna-se muito mais simples.
E sabe o que eu acabei descobrindo? A Orientação a Objetos já tem 20 anos, apesar de ter surgido fortemente apenas nos últimos 7 anos.
Surgiu mesmo na área acadêmica.
Certo, mas o único objetivo é deixar o código mais enxuto? Até parece... A exatidão também é uma das características. No desenvolvimento POO, devido ao fato deste ser feito de maneira quase que interativa com o usuário, os riscos do programa não atender perfeitamente as exigências às quais foi destinado é significativamente diminuído. A pouca quantidade de código programável também reduz os problemas inerentes às mudanças das especificações durante o desenvolvimento do projeto.
Além da potencialidade, lembrando que definimos por potencialidade a forma como o programa reage aos erros imprevistos (como uma falha na impressora, ou a um disco cheio), quanto maior esta for, maior será a capacidade do programa em causar o menor estrago possível aos dados e evitar uma saída drástica do sistema.
"A POO é um conceito desenvolvido para facilitar o uso de códigos de desenvolvimento em interfaces gráficas!" (Curto e grosso né?). Sendo a Borland uma das primeiras empresas a entrarem neste novo conceito, possui suas principais linguagens de programação (tais como Object Pascal e C++) voltadas para esse novo tipo de programação.
A POO atraiu muitos adeptos, principalmente pelo pouco uso de códigos que o projeto (diferente de sistema) carrega no programa fonte, ao contrário das linguagens mais antigas como o Clipper'87, muito utilizado no final da década de 80 e início da década de 90. O resultado desta "limpeza" no código resulta que a manutenção do projeto torna-se muito mais simples.
E sabe o que eu acabei descobrindo? A Orientação a Objetos já tem 20 anos, apesar de ter surgido fortemente apenas nos últimos 7 anos.
Surgiu mesmo na área acadêmica.
- 1967 - Simula (Noruega);
- 1980 - Small Talk (Xerox) com objetivos comerciais e acadêmicos. Sendo a autora Adele Goldberg;
- 1980's Objective C(Cox), C++ (Stroustrup), Eifell (Meyer).
Benefícios
Certo, mas o único objetivo é deixar o código mais enxuto? Até parece... A exatidão também é uma das características. No desenvolvimento POO, devido ao fato deste ser feito de maneira quase que interativa com o usuário, os riscos do programa não atender perfeitamente as exigências às quais foi destinado é significativamente diminuído. A pouca quantidade de código programável também reduz os problemas inerentes às mudanças das especificações durante o desenvolvimento do projeto.
Além da potencialidade, lembrando que definimos por potencialidade a forma como o programa reage aos erros imprevistos (como uma falha na impressora, ou a um disco cheio), quanto maior esta for, maior será a capacidade do programa em causar o menor estrago possível aos dados e evitar uma saída drástica do sistema.