Linguagem
de programação
- um conjunto de termos (vocábulário) e regras (sintaxe) que
permitem a formulação de instruções a um computador.
Codificação
- a aplicação do vocabulário (repertório de instruções) e
sintaxe próprios de alguma linguagem de programação para
representar as instruções em condições de codificação pelo
computador e conseqüente execução.
Paradigma
de programação
- maneira como o desenvolvedor resolve um problema e determina como
um programa poderá ser executado. Eles são classificados quanto ao
seu conceito base, podendo ser : imperativo, funcional, lógico,
orientado a objetos e estruturado. Uma linguagem de programação
pode combinar dois ou mais paradigmas para potencializar as análises
e soluções, cabendo ao programador escolher o mais apropriado.
-
Programação Procedural
É
um paradigma de programação baseado no conceito de chamadas a
procedimentos, também conhecidos como rotinas, subrotinas, métodos,
ou funções, que 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.
Esse
paradigma ainda é muito usado, por ser mais fácil de compreender e
normalmente programadores aprendem a desenvolver usando esse
paradigma, ele pode ser eficiente para problemas simples e até para
o aprendizado, mas não se prenda a esse tipo de paradigma, existem
outros que são muito melhores do que esse.
Características:
-
Conjunto de instruções organizado em blocos para executar
determinada tarefa(funções).
-
Conjuntos de funções agrupadas por funcionalidades em bibliotecas.
-
Modelagem por meio de fluxograma e grande utilização
de algorítimos.
-
Extremamente técnico.
Algumas
linguagens com esse paradigma:
-
C
-
Pascal
-
Basic
-
C++
-
PHP
-
Python
-
Visual Basic
-
Perl
-
Programação Orientada a Objetos
A
orientação a objetos é o paradigma de programação predominante
atualmente e está, aos poucos, substituindo a programação
procedural, criada no inicio da década de 1960.
Nesse
paradigma o programa é composto por objetos com propriedades
(atributos) e operações (métodos) que podem ser executados por
eles.
Todas
as funcionalidades e atributos de cada entidade do sistema são
armazenados em classe que representam essa entidade.
Normalmente,
utilizamos a Unified Modeling Language (UML) para modelar soluções
orientadas a objetos.
Características:
- Podemos
definir objeto como abstração de um particular aspecto de
interesse, incluindo não somente sua estrutura, como nos métodos
tradicionais, mas também comportamento, regras, conhecimento,
responsabilidades, ciclo de vida, intrínsecos ao aspecto em questão.
Objetos com características comuns são agrupados em classes.
- Uma
característica derivada da forma muito comum de hierarquia "é
um", é a herança. Subclasses herdam estrutura e comportamento
das subclasses às quais estão ligadas, evitando assim redundâncias
e inconsistências. Deve-se observar a possibilidade de herança
múltipla no caso em que uma subclasse pode ter relacionamento "é
um" com mais de uma superclasse.
- Os
objetos existem em convívio com outros objetos, e não isoladamente.
Assim, chama-se comportamento às ações e reações de um objeto,
mudando de estado e trocando mensagens, em contato com os demais
objetos. É sua atividade visível. É representado pelos chamados
métodos, descritos para cada classe de objetos.
- Outras
características bastante interessantes, provenientes da área de
inteligência artificial, são a representação de conhecimento e a
definição de regras sobre objetos ou classes de objetos. É
crescente a colaboração entre as áreas de orientação a objetos e
de inteligência artificial, trazendo grandes contribuições a
ambas.
Algumas
linguagens com esse paradigma:
-
C++
-
C#
-
VB.NET
-
Java
-
Python
-
Ruby
-
Smalltalk
- Programação
Multiparadigma
Uma
linguagem de programação multiparadigma é uma linguagem que
suporta mais de um paradigma de programação. A ideia de uma
linguagem multiparadigma é fornecer um framework no qual o
programador possa trabalhar com vários estilos, misturando
livremente construtores de diferentes paradigmas. O objetivo em se
projetar linguagens deste tipo é reservar aos programadores a melhor
ferramenta para determinado trabalho, admitindo que nenhum paradigma
resolva todos os problemas da maneira mais elegante, ou mesmo
eficiente.
As características da
programação multiparadigma pode ser relaciona com a junção dos
paradigmas de programação que ela reúne, ou seja, ela une
todas as características dos paradigmas de programação
que ela engloba.
Algumas
linguagens com esse paradigma:
-
Scala
-
Oz
-
Programação Estruturada
Não
existe uma definição universalmente aceita para a programação
estruturada; ao
contrário,
existem várias escolas de pensamento que a conceituam.
No
sentido mais restrito, o conceito de programação estruturada diz
respeito à forma do
programa
e do processo de codificação. É um conjunto de convenções que o
programador pode seguir para produzir o código estruturado. As
regras de codificação impõem limitações sobre o uso das
estruturas básicas de controle, estruturas de composição modular e
documentação.
Características:
- Programação
sem GO TO (eliminação completa ou parcial do comando GO TO)
- Programação
com apenas três estruturas básicas de controle: seqüência,
seleção e iteração
- Forma
de um programa estruturado
- Aplicação
de convenções de codificação estruturada a uma linguagem de
programação específica
Algumas
linguagens com esse paradigma:
-
Pascal
-
C
Qual
Paradigma escolher para o meu projeto?
O
universo computacional é complexo. Desta forma, este universo foi
divido em partes, para que a complexidade pudesse ser trabalhada
("dividir para conquistar"). A existência de diversos
paradigmas de programação justifica-se apenas pela existência de
diversas classes de problemas. A escolha de um paradigma depende do
tipo de problema a ser solucionado. Procurar a solução para um
problema consiste em escolher o paradigma que permita a expressão da
solução com o mínimo de esforço. No entanto, certos problemas não
permitem uma solução concisa com a utilização de apenas uma
paradigma, isto é, necessitam de uma forma de expressão mais ampla
para serem solucionados.
Também
é sempre necessário lembrar que o paradigma de programação é
totalmente independente da linguagem de programação, ou seja, a
orientação a objetos é um paradigma criado para a solução de
problemas para desenvolvedores e não tem uma ligação de
necessidade com nenhuma linguagem, quem aborda esses paradigmas são
as linguagens de programação, e também podemos vemos que
varias linguagens de programação abordam vários tipos de paradigma
de programação.