TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

O Paradigmas das linguagens de programação

Por:   •  30/10/2017  •  Artigo  •  1.113 Palavras (5 Páginas)  •  272 Visualizações

Página 1 de 5

4 Introdução aos paradigmas das linguagens de

programação

Da mesma forma que o hardware proposto para o computador sofreu diversas

mudanças ao longo dos anos, também a forma de programar sofreu alterações, de

acordo com a visão de cada linguagem projetada, criando assim vários paradigmas da

programação.

O termo paradigma significa modelo, isto é, a definição de um padrão a ser

seguido. Esse conceito, que nasceu em 1900 e relacionava-se inicialmente somente à

linguagem e comunicação humana, passou mais tarde a ser adotado também na

Computação.

Um paradigma de programação, assim, determina forma como o programador

deve estruturar as instruções em uma dada linguagem a fim de gerar um programa capaz

de executar uma determinada tarefa.

Dois são os principais paradigmas da programação atualmente, a programação

imperativa e a programação declarativa, cada qual sendo subdividida em novos

paradigmas, como veremos a seguir.

4.1 Programação imperativa

No paradigma imperativo, há uma grande preocupação quanto ao detalhamento

do funcionamento do programa.

O programa é visto como um conjunto de rotinas e subrotinas (daí ser também

conhecida como procedural ou procedimental) e enfatizam-se as mudanças de estado do

programa (registrada por meio de suas variáveis globais e locais).

Nesta forma de programação, há um foco maior em “como um programa deve

executar uma tarefa”, em vez de focar em “o que o programa deve fazer”.

Neste paradigma, podemos encontrar alguns dos subparadigmas mais

empregados atualmente: a programação estruturada, a programação orientada a objetos

e a programação concorrente.

4.1.1 Programação estruturada

Na programação estruturada, o programador deve descrever todo o seu programa

por meio de instruções, estruturas de dados e subrotinas e qualquer programa pode ser

reduzido a três tipos de estruturas: sequência, decisão e interação.

Algumas das linguagens de programação consideradas estruturadas são: Pascal,

C, COBOL e Fortran.

Vantagens: geralmente são linguagens mais fáceis de aprender, uma vez que

envolve um menor número de conceitos distintos do que aqueles apresentados por

outros paradigmas, como a programação orientada a objetos; permitem a

modularização, isto é, a criação de módulos independentes lógica e fisicamente,

facilitando assim o desenvolvimento e manutenção de sistemas; e são úteis na resolução

de problemas mais simples.

Desvantagens: apresentam maiores dificuldades na representação de soluções

para certos “problemas do mundo real”, que geralmente são mais complexos; além

disso, apresentam baixa manutenibilidade quando empregadas em problemas mais

complexos, geralmente problemas onde conceitos como herança e polimorfismo

poderiam ajudar a abstrair certas partes dos mesmos.

4.1.2 Programação orientada a objetos

Na programação orientada a objetos, compreende-se a necessidade de

compreender o problema por meio da relação existente entre as diversas entidades que

participam do mesmo, sendo assim, a solução para o problema deve ser implementada

levando-se em consideração os objetos e suas interações que sejam pertinentes ao

universo do problema.

Alguns exemplos de linguagens orientadas a objetos são C++, Object Pascal e

Java.

Vantagens: graças aos novos conceitos introduzidos por meio da orientação a

objetos, conseguiu-se uma melhor organização do código, geralmente separado em

classes e bibliotecas; outra vantagem é um melhor reaproveitamento do código, por

meio de conceitos como herança.

Desvantagem: a programação orientada a objetos apresenta um maior número

de conceitos e abstrações necessárias, quando comparada à programação estruturada, o

que pode tornar seu aprendizado um pouco mais complexo.

4.1.3 Programação concorrente

Com o desenvolvimento da tecnologia, surgiu um novo conceito: o paralelismo,

isto é, a possibilidade de executar-se mais de uma tarefa paralelamente, seja por meio de

vários núcleos processadores, seja por meio de um só, executando-se assim um

paralelismo emulado.

A programação concorrente visa estudar e propor como melhor desenvolver

programas visando esse cenário, onde processos executam simultaneamente e

concorrem por recursos, como a memória e o próprio processamento.

Várias linguagens oferecem suporte à programação concorrente, como Java, C#,

C++, C e Object Pascal. Como se pode perceber, uma mesma linguagem pode oferecer

suporte a mais de um subparadigma.

Vantagens: aumento do desempenho, na medida em que melhor se utiliza de

todos os recursos computacionais disponíveis; possibilidade de melhor modelagem dos

programas, pois determinados problemas computacionais são concorrentes por natureza.

Desvantagens: programação mais complexa, com possíveis erros decorrentes da

própria concorrência; difícil depuração devido ao aspecto não-determinístico que a

solução pode tomar.

4.2 Programação declarativa

A programação declarativa trata-se de uma abordagem focada em descrever o

que o programa deve fazer e menos em como seus procedimentos devem funcionar.

Sendo assim, apresenta-se como um paradigma oposto ao paradigma imperativo, uma

vez que se preocupa com “o que deve fazer”, em vez de preocupar-se com “como deve

ser feito”.

Na programação declarativa, não há a ideia de estado do programa, como ocorre

na programação imperativa.

Dentro do paradigma declarativo, podemos identificar a programação funcional,

...

Baixar como (para membros premium)  txt (8.7 Kb)   pdf (145.2 Kb)   docx (12.8 Kb)  
Continuar por mais 4 páginas »
Disponível apenas no TrabalhosGratuitos.com