Programação Estruturada e Programação Orientada Objetiva
Linguagem de programação na qual o elemento básico de programação é a procedure (uma sequência de instruções – rotina, sub-rotina ou função – associadas a um nome próprio).
O termo Programação procedural (ou programação procedimental) é às vezes utilizado como sinônimo de Programação imperativa (Paradigma de programação que especifica os passos que um programa deve seguir para alcançar um estado desejado), mas o termo pode se referir (como neste artigo) a um paradigma de programação baseado no conceito de chamadas a procedimento. Procedimentos, também conhecidos como rotinas, subrotinas, métodos, ou funções (que não devem ser confundidas com funções matemáticas, mas são similares àquelas usadas na programação funcional) simplesmente contém um conjunto de passos computacionais a serem executados. Um dado procedimento pode ser chamado a qualquer hora durante a execução de um programa, inclusive por outros procedimentos ou por si mesmo.
A programação procedural é geralmente uma escolha melhor que programação sequencial e não estruturada em muitas situações que envolvem uma complexidade média e requerem facilidade de manutenção.
Vantagens
A habilidade de reutilizar o mesmo código em diferentes lugares no programa sem copiá-lo
Uma forma mais fácil de organizar o fluxo do programa que uma coleção de comandos "goto (programação)" ou "jump" (que podem transformar um programa grande e complicado no assim chamado Código espaguete)
A habilidade de ser fortemente modular e estruturado
Exemplos de Linguagens
Ada, ALGOL, BASIC, C, C++, ColdFusion, COBOL, Component Pascal, D, Delphi, ECMAScript (e.g., ActionScript, DMDScript, JavaScript, JScript), Forth, Fortran, F, Lasso, Linoleum, Lua, Maple, Mathematica, MATLAB, Modula-2, Oberon (Oberon-1 e Oberon-2), occam, M, Pascal, Perl, PHP, PL/C, Python, PL/I, Rapira, VBScript, Visual Basic
Linguagem orientada a objetos
A orientação a objetos é um paradigma de análise, projeto e programação de