Paradigmas de programação
A programação é um processo criativo realizado por programadores para instruir um computador sobre como fazer uma tarefa. Um programa é um conjunto de instruções que informa a um computador o que fazer para encontrar uma solução para um problema específico. Existem várias abordagens alternativas para o processo de programação, conhecidas como paradigmas de programação . Diferentes paradigmas representam abordagens fundamentalmente diferentes para a construção de soluções para tipos específicos de problemas usando programação. A maioria das linguagens de programação se enquadra em um paradigma, mas algumas linguagens têm elementos de paradigmas múltiplos. Dois dos paradigmas de programação mais importantes são o paradigma procedimental e o paradigma orientado a objetos. Vamos examinar cada um deles com mais detalhes.
Programação Processual
A programação procedural usa uma lista de instruções para dizer ao computador o que fazer passo a passo. A programação procedural se baseia – você adivinhou – procedimentos, também conhecidos como rotinas ou sub-rotinas. Um procedimento contém uma série de etapas computacionais a serem realizadas. A programação de procedimentos também é conhecida como programação imperativa. Linguagens de programação procedurais também são conhecidas como linguagens de cima para baixo.
A programação procedural é intuitiva no sentido de que é muito semelhante a como você esperaria que um programa funcionasse. Se você deseja que um computador faça algo, forneça instruções passo a passo sobre como fazê-lo. Portanto, não é surpresa que a maioria das primeiras linguagens de programação sejam todas procedurais. Exemplos de linguagens procedurais incluem Fortran, COBOL e C, que existem desde os anos 1960 e 1970.
Programação Orientada a Objetos
A programação orientada a objetos , ou OOP , é uma abordagem para a solução de problemas em que todos os cálculos são realizados usando objetos. Um objeto é um componente de um programa que sabe como realizar certas ações e como interagir com outros elementos do programa. Objetos são as unidades básicas da programação orientada a objetos. Um exemplo simples de objeto seria uma pessoa. Logicamente, você esperaria que uma pessoa tivesse um nome. Isso seria considerado uma propriedade da pessoa. Você também esperaria que uma pessoa fosse capaz de fazer algo, como caminhar. Isso seria considerado um método da pessoa.
Um método na programação orientada a objetos é como um procedimento na programação procedural. A principal diferença aqui é que o método faz parte de um objeto. Na programação orientada a objetos, você organiza seu código criando objetos e, em seguida, pode dar propriedades a esses objetos e fazê-los fazer certas coisas.
Um aspecto fundamental da programação orientada a objetos é o uso de classes. Uma classe é um projeto de um objeto. Você pode pensar em uma classe como um conceito e o objeto como a personificação desse conceito. Então, digamos que você queira usar uma pessoa em seu programa. Você quer ser capaz de descrever a pessoa e fazer com que ela faça algo. Uma classe chamada ‘pessoa’ forneceria um plano para a aparência de uma pessoa e o que ela pode fazer. Exemplos de linguagens orientadas a objetos incluem C #, Java, Perl e Python.
Principais diferenças
Uma das características mais importantes da programação procedural é que ela depende de procedimentos que operam em dados – esses são dois conceitos separados. Na programação orientada a objetos, esses dois conceitos são agrupados em objetos. Isso torna possível criar um comportamento mais complicado com menos código. O uso de objetos também possibilita a reutilização de código. Depois de criar um objeto com comportamento mais complexo, você pode usá-lo em qualquer lugar em seu código.
Vejamos um exemplo simples disso. Você deseja escrever um programa que reproduza uma música. Sua banda tocando a música terá quatro membros, e você começa dando um nome a cada um deles:
myband = (‘John,’ ‘Paul,’ ‘George,’ ‘Ringo’)
Agora que você tem sua banda, é hora de escolher a música:
mysong = ‘Submarino Amarelo’
Agora você quer que sua banda toque a música, então você precisa de mais duas coisas. Primeiro, você precisa ter a letra e as notas da música. Em segundo lugar, cada membro da banda precisa saber o que fazer: tocar os vocais, tocar um instrumento específico ou ambos. Vamos apenas considerar o primeiro requisito aqui.
Na programação procedural, você precisará incluir todo o texto e notas no programa para que os membros da banda possam reproduzi-lo. No entanto, você deseja que outra banda toque a música em outro programa. Na programação procedural, você pode copiar e colar o código em outro programa para que não haja necessidade de digitar manualmente o mesmo texto novamente. No entanto, por que não salvar o texto em um arquivo separado e toda vez que sua banda – ou qualquer outra banda – quiser tocar aquela música, você simplesmente acessa o arquivo. Dessa forma, o código da música em si nunca precisa ser duplicado.
Isso é exatamente o que a programação orientada a objetos faz. Em termos técnicos, você usaria uma classe chamada ‘canção’ para criar um objeto, ‘Submarino Amarelo’. Este objeto possui várias propriedades, incluindo letras e notas musicais. A aula descreve como organizar letras e notas musicais para que possam ser lidas pelos membros da banda. Outras canções terão uma organização semelhante, mas com letras e notas musicais diferentes. Ao escrever um programa para a banda tocar uma música, você chamaria o objeto de ‘Submarino Amarelo’ para que os membros da banda tivessem acesso às letras e notas musicais.
Na programação orientada a objetos, você ainda precisa escrever a letra e as notas musicais da música, mas apenas uma vez, e então qualquer banda pode usar a letra e a música a qualquer momento. A partir de agora, qualquer outro programa pode chamar o mesmo objeto e reproduzir a música. E outras músicas serão organizadas de maneira semelhante, de forma que uma banda possa tocar qualquer música sem ter que mudar muito o código.
OOP mais popular
A programação orientada a objetos se tornou o paradigma de programação dominante no desenvolvimento de software atual. A maioria das linguagens de programação mais recentes que foram desenvolvidas nos últimos 10 a 20 anos são orientadas a objetos. No entanto, isso não significa que os outros paradigmas desapareceram, e as linguagens de programação procedural ainda são amplamente utilizadas.
Algumas linguagens combinam elementos de ambos os paradigmas. Por exemplo, a linguagem amplamente usada C ++ foi derivada da linguagem C, que é uma linguagem procedural. Componentes orientados a objetos foram adicionados a C para se tornarem C ++, que é, portanto, uma linguagem procedural e orientada a objetos.
Resumo da lição
Diferentes paradigmas de programação representam abordagens fundamentalmente diferentes para a construção de soluções para tipos específicos de problemas. Dois dos paradigmas de programação mais importantes são a programação procedural e a programação orientada a objetos. A programação procedural usa uma lista muito detalhada de instruções para dizer ao computador o que fazer passo a passo. Na programação orientada a objetos , você organiza seu código criando objetos e, em seguida, pode dar propriedades a esses objetos e fazê-los fazer certas coisas. A programação orientada a objetos se tornou o paradigma de programação dominante no desenvolvimento de software atual, mas as linguagens de programação procedural ainda são amplamente utilizadas.
Dois tipos de paradigmas de programação
![]() |
Programação Processual | Programação Orientada a Objetos |
---|---|
* Lista de instruções que dizem ao computador o que fazer passo a passo * Baseia-se em rotinas e sub-rotinas * A maioria das primeiras linguagens de programação de computador são procedimentais |
* Abordagem para resolução de problemas em que todos os cálculos são realizados usando objetos * O código é organizado criando objetos e, em seguida, dando a esses objetos propriedades e fazendo-os fazer certas coisas |
Resultados de Aprendizagem
Depois de terminar esta lição, você será capaz de:
- Definir paradigmas de programação
- Explicar como a programação procedural e orientada a objetos funcionam
- Discuta as diferenças na programação procedural e na programação orientada a objetos
- Identifique o paradigma de programação mais popular usado hoje