Engenharia De Software - Paradigmas
Artigos Científicos: Engenharia De Software - Paradigmas. Pesquise 862.000+ trabalhos acadêmicosPor: Aniobinho • 4/4/2013 • 551 Palavras (3 Páginas) • 1.029 Visualizações
Inicialmente, os computadores eram programados através de código binário, que representava as sequências de controle alimentadas à CPU. Tal processo era difícil e propenso a erros; os programas estavam em código de máquina, que é um paradigma de programação de muito baixo nível.
Para facilitar a programação foram desenvolvidas linguagens de montagem. Elas substituíam as funções do código de máquina por mnemônicos, endereços de memória absolutos por identificadores. A linguagem de montagem ainda é considerada de baixo nível, ainda que seja um paradigma da "segunda geração" das linguagens. Mesmo linguagens de montagem da década de 1960 suportavam gerações condicionais de macros bastante sofisticadas. Também suportavam recursos de programação modular tais como CALL (para suportar subrotinas), variáveis externas e seções comuns (globais); isso permitia o reuso de código e o isolamento de características específicas do hardware, através do uso de operadores lógicos como READ, WRITE, GET e PUT. A linguagem de montagem foi e ainda é usada para sistemas críticos, e frequentemente usada em sistemas embarcados.
O próximo avanço foi o desenvolvimento das linguagens procedurais. As primeiras a serem descritas como de alto nível, essas linguagens da terceira geração usam um vocabulário relativo ao problema sendo resolvido. Por exemplo, COBOL usa termos como file (para identificar arquivos), move (para mover arquivos) e copy (para copiar arquivos). Tanto FORTRAN quanto ALGOL usam terminologia matemática, tendo sido desenvolvidas principalmente para problemas comerciais ou científicos. Tais linguagens procedurais descrevem, passo a passo, o procedimento a ser seguido para resolver certo problema. A eficácia e a eficiência de cada solução é subjetiva e altamente dependente da experiência, habilidade e criatividade do programador.
Posteriormente, linguagens orientadas a objeto foram criadas. Nelas, os dados e as rotinas para manipulá-los são mantidos numa unidade chamada objeto. O utilizador só pode acessar os dados através das subrotinas disponíveis, chamadas métodos, o que permite alterar o funcionamento interno do objeto sem afetar o código que o consome. Ainda há controvérsia por programadores notáveis como Alexander Stepanov, Richard Stallman[1] entre outros, questionando a eficácia desse paradigma em comparação do paradigma procedural. A necessidade de cada objeto de ter métodos associados tornaria os programas muito maiores. o conceito de polimorfismo foi desenvolvido como tentativa de solucionar tal dilema. Tendo em vista que a orientação a objeto é um paradigma e não uma linguagem, é possível criar até mesmo uma linguagem de montagem orientada a objeto, como o High Level Assembly.
Independente do ramo das linguagens imperativas, baseadas nas linguagens procedurais, paradigmas de programação declarativa também foram desenvolvidos. Nessa linguagens se descreve o problema ao computador, não como resolvê-lo. O programa é estruturado como uma coleção de propriedades para encontrar o resultado esperado, e não um procedimento a se seguir. Dado um banco de dados ou um conjunto de regras, o computador tenta encontrar a solução ao casar todas as propriedades desejadas. Um exemplo é o SQL, assim como a família das linguagens funcionais e lógicas.
Programas escritos em programação funcional usam funções, blocos
...