Paradigma imperativo da programação


 Como você já deve imaginar pelo titulo do poste, hoje iremos aprender um pouco sobre o paradigma imperativo (PI). Na postagem anterior tivemos uma breve introdução do que são paradigmas de programação e as suas diferenças, a partir deste poste irei abordar o assunto de forma mais aprofundada, focando em um determinado paradigma por postagem, então vamos ao nosso primeiro paradigma.
O que é?
  Vamos começar pela aula de historia, o termo “Imperativo” que veio do latim “Imperate” significa comandar, ou seja esse paradigma foca em você comandar o computador passo a passo na realização de uma determinada tarefa. Talvez você não saiba, mas o paradigma imperativo foi o primeiro a surgir na computação, e a partir dele surgiram outros, como o POO (Programação Orientada a Objetos).
  Bom, como surgiu esse paradigma? O paradigma surgiu de maneira natural, através da evolução da computação, lembra que do meu poste sobre níveis de linguagem, lá eu falei que antigamente para podermos nos comunicar com o computador era necessário aprender uma linguagem muito distante da nossa, que era representada por 0s e 1s. Então, com o avanço da ciência da computação e da tecnologia novas linguagens forem surgindo, e nisso se tornando mais próximas da nossa língua (ou do inglês), e para facilitar a nossa vida os cientistas da época desenvolveram novas maneiras de escrever códigos, e a primeira dela foi o paradigma imperativo.



Evolução do paradigma:
  • FORTRAN (1956) → variáveis com nome, subprogramas, expressões complexas
  • ALGOL (1960) → maior facilidade de expressar algoritmos matemáticos
  • COBOL (1960)
  • BASIC (1964) → sintaxe mais próxima do inglês
  • PASCAL (1970)
  • C (1970)
  • ADA (1974-1983)
Características :
  Com o desenvolvimento das novas linguagens novas características foram aparecem ao passar dos anos como :
Declaração de variáveis:
  Atribuição de valores já era algo existente na época do surgimento deste paradigma, porem agora poderíamos manipular os valores de maneira mais flexível, podendo alterá-los durante a execução do programa. As variáveis podem pertencer a 5 grupos pre definidos, sendo estes : Int (valores numéricos inteiros), Float ( valores numéricos de todo o conjunto dos reais.), Bool ( Valores lógicos que só podem ser Verdadeiro ou Falso), Char( caracteres de qualquer tipo desde que estejam representados entre aspas “”) e String (Sequencia de caracteres ou palavras). Essas são as variáveis já pre definidas, porem o desenvolvedor pode criar variáveis customizadas.
Comandos de atribuição:
  Basicamente são comandos que permitem você atribuir valores a uma certa variável, desde que respeite a tipagem definida.
Execução sequencial de procedimentos:
  Agora que as linguagens não eram mais estáticas novas formas de solucionar um problema surgiram, a execução sequencia só pode prosperar por causa de certos comando que as linguagem começaram a usar como : Elos de repetição( uma forma de recursão porem sem necessariamente precisar de uma função), Vetores ( uma “lista” de valores que era melhor armazenada pela maquina na memoria), Matrizes ( outra maneira de armazenamento de valores de melhor performance) .

Vantagens

  • Eficiência (embute o modelo Von Neumann)
  • Paradigma dominante e bem estabelecido
  • Modelagem natural de aplicações do mundo real
  • Possui tipagem fraca e também muito flexível (alguns especialistas consideram isso uma desvantagem)
  • É fácil de se entender, sendo amplamente usada em cursos introdutórios de programação.

Desvantagens

  • Possui difícil legibilidade
  • Descrições demasiadamente profissional focaliza o "como" e não o "quê"
  • Relacionamento indireto com a E/S (indução a erros/estados)
  • Ainda se foca em como a tarefa deve ser feita e não em o que deve ser feito.
  • Tende a gerar códigos confusos, onde tratamento dos dados são misturados com o comportamento do programa



  Isso é tudo que eu posso falar sobre o paradigma imperativo, espero que tenha aprendido bastante com essa postagem e nos veremos na próxima, onde falarei sobre o paradigma funcional.
Fontes:
https://sites.google.com/site/proffernandodesiqueira/disciplinas/paradigmas-de-linguagens-de-programacao/aula-7---paradigma-de-programacao-imperativa
https://digitalfellows.commons.gc.cuny.edu/2018/03/12/an-introduction-to-programming-paradigms/
https://www.geeksforgeeks.org/introduction-of-programming-paradigms/

Comments

  1. Pessoal,

    favor postar vossa apresentação aqui no Blogue, como informado em sala de aula. Para não ficarem com a nota final prejudicada.

    Além disso, o blogue está muito pobre em postagens. Postem mais sobre o que vocês apresentaram em sal de aula.

    Bons caminhos,

    R

    ReplyDelete

Post a Comment

Popular posts from this blog

A Evolução da Web: Parte 1.