Você está na página 1de 8

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO

UNIDADE ACADÊMICA DE BELO JARDIM


GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO
DISCIPLINA: PARADIGMAS DE PROGRAMAÇÃO
PERÍODO: 2024.1
PROFESSOR: Waldemar Ferreira

VICTOR EDUARDO NASCIMENTO ALMEIDA

RELATÓRIO

Belo Jardim, 2024


2

SUMÁRIO

1 INTRODUÇÃO.…………………………………………………………….……………… 3
2 C++………………..……………………...………………………………..……... .3
3 PARADIGMAS.…………………………..………………………………….. .4
REFERÊNCIAS…………..…………...……………………………………………………..8
3

1. Introdução

C++ é uma linguagem de programação multi-paradigma, ou seja, ela possui 2 ou mais


paradigmas implementados em seu código fonte, deixando ela assim, capaz de ser utilizada
para resolver e fazer muito mais problemas e coisas. Os paradigmas de programação que essa
linguagem possui são Imperativo, Orientada a Objetos (OO) e genérica. Devido a isso, ela é
uma das linguagens mais populares para uso comercial.

Foto 1 : Logo do C++

2. História

Ela foi criada durante a década de 1980 Bjarne Stroustrup dos Bell Labs com o objetivo de
implementar uma versão distribuída do núcleo Unix. Como o Unix era escrito em C,
deveria-se manter a compatibilidade, ainda que adicionando novos recursos. Alguns dos
desafios incluíam simular a infraestrutura da comunicação entre processos num sistema
distribuído ou de memória compartilhada e escrever drivers para tal sistema. Stroustrup
percebeu que a linguagem Simula 67 possuía características bastante úteis para o
desenvolvimento de software, mas que era muito lenta para uso prático. Por outro lado, a
linguagem BCPL era rápida, mas possuía demasiado baixo nível, dificultando sua utilização
no desenvolvimento de aplicações.

.
Por muito tempo, o C++ foi encarado como um super-conjunto do C Entretanto, em 1999 o novo
padrão ISO para a linguagem C tornou as duas linguagens ainda mais diferentes entre si. Devido
a essas incompatibilidades, muitas empresas que desenvolvem compiladores não oferecem
suporte à versão mais recente da linguagem C.

Pode-se dizer que C++ foi a única linguagem entre tantas outras que obteve sucesso como uma
sucessora à linguagem C, inclusive servindo de inspiração para outras linguagens como Java, a
IDL de CORBA e C#.
4

2.1. Etimologia

Durante sua fase inicial de desenvolvimento, a linguagem era chamada "novo C", "C84" ou
ainda "C com classes". O termo "C++" é creditado a Rick Mascitti, e foi utilizado pela
primeira vez em dezembro de 1983. O termo é uma referência ao operador de incremento ++,
significando um acréscimo (uma evolução) à linguagem C. Em tom humorado,
desenvolvedores de software e especialistas em informática no início da década de 1990
costumava-se relacionar o ++ do nome à grande insistência dos programadores em utilizar o
C++ da mesma forma que a linguagem C, não usufruindo das novas facilidades que a
linguagem poderia fornecer

3. Paradigmas

Os paradigmas de programação são, antes de tudo, um meio de qualificar a linguagem com


base em sua funcionalidade.

Em outras palavras, eles podem ser entendidos como um estilo, modelo ou metodologia de
programação, que apontam para a melhor forma de solucionar problemas usando uma
determinada linguagem.

O que acontece é o seguinte: com tantas linguagens de programação existentes, é importante


que elas sigam algumas regras na hora de serem implementadas. São essas regras, por sua
vez, que ficaram conhecidas como paradigmas.

Da mesma forma, quando uma nova linguagem de programação é desenvolvida, ela tende a se
enquadrar em um paradigma ou até mesmo em mais de um, conforme suas peculiaridades.

Foto 2: Código qualquer


5

3.1 Paradigma Imperativo

Programação imperativa é um paradigma de programação de software que descreve a computação como


ações, enunciados ou comandos que mudam o estado (variáveis) de um programa. Semelhante ao
comportamento imperativo das linguagens naturais que expressam ordens, programas imperativos são uma
sequência de comandos para o computador executar.

O termo é frequentemente usado em contraste com a programação declarativa, que se concentra no que o
programa deve realizar sem especificar todos os detalhes de como o programa deve alcançar o resultado.

Linguagens de programação que se baseiam no modo imperativo são: Ada, ALGOL, Basic, C, PHP,
Java,Cobol, Fortran, Pascal, Python, Lua, Mathematica.

O nome se dá pois o programador diz ao computador: faça isso, depois isso, depois aquilo...
Este paradigma de programação se destaca pela simplicidade, uma vez que todo ser humano,
ao se programar, o faz imperativamente, baseado na ideia de ações e estados, quase como um
programa de computador.

Foto 3: Código Imperativo

Estamos dizendo exatamente os passos que deve ser feito para calcular a média de um Array
6

3.2 Paradigma Orientado a Objetos

Programação orientada a objetos (POO, ou OOP segundo as suas siglas em inglês) é um


paradigma de programação baseado no conceito de "objetos", que podem conter dados na
forma de campos, também conhecidos como atributos, e códigos, na forma de procedimentos,
também conhecidos como métodos. Uma característica de objetos é que um procedimento de
objeto pode acessar, e geralmente modificar, os campos de dados do objeto com o qual eles
estão associados (objetos possuem uma noção de "this" (este) ou "self" (próprio))

Em POO, programas de computadores são projetados por meio da composição de objetos que
interagem uns com os outros. Há uma diversidade significativa de linguagens de POO, mas as
mais populares são aquelas baseadas em classes, significando que objetos são instâncias de
classes, que, normalmente, também determinam seu tipo.

Foto 4: Código com OO


7

3.3 Paradigma Genérico

Programação genérica é um paradigma de programação no qual os algoritmos são escritos


em uma gramática estendida de forma a adaptar-se através da especificação das partes
variáveis que são definidas na instância do algoritmo. Especificamente, a gramática estendida
eleva um elemento não variável ou uma construção implícita na gramática base para uma
variável ou constante, permitindo a utilização do código genérico.
É diferente da forma normal de programação na medida em que evoca de certa forma as
facilidades de metaprogramação da linguagem. Como isso ocorre em uma extensão da
linguagem, novas semânticas são introduzidas e a linguagem é enriquecida no processo. Está
relacionada com a metaprogramação, mas não envolve a geração de código fonte, pelo menos
visivelmente ao programador. É diferente também da programação por macros, já que esta
refere-se somente a busca e substituição de termos, não fazendo parte da gramática da
linguagem, implementada somente na fase de pré-processamento do código.
Para efeitos práticos, o paradigma permite que um parâmetro assuma diferentes tipos de dados
desde que certas regras sejam mantidas, como subtipos e assinaturas. Por exemplo, para criar
uma lista usando programação genérica, uma possível declaração seria List<T>, no qual T é o
tipo de dado. Para instanciar, poderia-se usar List<Inteiro> ou List<Animal>, já que o
conceito de lista independe do tipo utilizado.

Foto 5: Código com o paradigma genérico


8

Referências Bibliográficas

https://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_imperativa

https://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_gen%C3%A9rica

https://www.alura.com.br/artigos/poo-programacao-orientada-a-objetos

https://www.linkedin.com/pulse/paradigma-declarativo-vs-imperativo-henrique-santos/

Você também pode gostar