Introdução

Propaganda
PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO
1 INTRODUÇÃO
1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO
Desde o seu surgimento, o manuseio da computação é baseado em
linguagens de programação. Ela permite que sejam construídos aplicativos para
automatizar e gerenciar processos nas organizações. Ou seja, sem as linguagens de
programação, os computadores não teriam utilidade nenhuma para as pessoas.
Todas as linguagens de programação são formadas por:
Tipos de dados que permitem e definem o uso da memória e das
informações
Um conjunto de instruções, onde cada uma possui uma função bem
definida. O uso em conjunto dessas instruções permite a modelagem e
construção de processos simples e complexos, além de construir novos tipos
de dados;
Uma série de regras para a construção dos programas.
Existem várias linguagens de programação de diferentes composições.
Algumas linguagens possuem aplicações afins, outras possuem aplicações bem
específicas. Elas são divididas em diversas categorias, conforme sua composição,
principalmente às regras que regem o manuseio das mesmas. Estas categorias são
chamadas de paradigmas de linguagens de programação.
O objetivo dessa disciplina é estudo comparado dos diversos paradigmas e
características das linguagens de programação. Assim os alunos vão conhecer os
diversos conceitos e técnicas de programação associados aos principais tipos de
linguagens de programação.
DEFINIÇÃO DE PARADIGMA DE LINGUAGEM DE PROGRAMAÇÃO
Um paradigma de linguagem é a metodologia ou visão de construção de
programas adotada na implementação da linguagem, a qual influencia
diretamente na forma de aprendizado de desenvolvimento de sistemas de
informação.
Apesar de haverem diferentes linguagens de programação, elas são
agrupadas em poucos grupos de paradigmas. Esta característica é bastante
interessante, pois é muito mais simples aprender a programar em linguagens que
pertencem ao mesmo paradigma, além de formar uma base para o aprendizado em
linguagens de outros paradigmas.
WILIAM HIROSHI HISATUGU
PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO
Exemplo:
Se uma pessoa tem conhecimentos de programação básica em linguagem C,
ela terá maior facilidade em aprender a linguagem Pascal, pois elas pertencem ao
mesmo paradigma:
Código em Linguagem C
int funcao(int a)
{
int b, c;
return (a*b/c);
}
Código em Pascal
function funcao(a): integer;
var:
a,b,c: integer;
begin
funcao = a*b/c;
end.
Os paradigmas de linguagem de programação têm origens históricas e de
necessidades específicas. Pelo lado histórico, as linguagens de programação
tiveram sua estrutura modificada para facilitar o manuseio das linguagens,
introduzindo conceitos como, por exemplo, a modularização. Esta evolução
também acompanhou novas necessidades do mercado consumidor de sistemas de
informação como, por exemplo, interface gráfica e acesso à Internet.
Em outros casos foi necessário o desenvolvimento de linguagens específicas
para determinadas aplicações como, por exemplo, sistemas especialistas ou
baseados em conhecimento. Estas linguagens possuem características bem
diferentes das linguagens utilizadas para fins comerciais e industriais, o que
acabou por alterar a própria metodologia de programação.
1.2 OBJETIVOS DA DISCIPLINA
O objetivo principal da disciplina Paradigmas de Linguagem de
Programação é apresentar os principais paradigmas de linguagem existentes e suas
principais características e diferenças.
WILIAM HIROSHI HISATUGU
PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO
Serão apresentados alguns casos de uso e alguns fatores a serem
considerados na escolha de uma linguagem pelas características de paradigmas de
desenvolvimento detectadas.
Também serão apresentadas de forma bastante sucinta algumas linguagens
dos diferentes paradigmas.
Ao final da disciplina, o aluno deverá estar apto a:
1. Associar uma linguagem de programação a um determinado paradigma,
mesmo sem ter conhecimento profundo da mesma;
2. Distinguir as principais formas de classificação das linguagens de
programação;
3. Escolher uma, dentre um conjunto de linguagens apresentadas, para ser
usada em um projeto de Sistemas de Informação, tomando por base as
necessidades e tarefas que devem ser satisfeitas.
1.3 CLASSIFICAÇÕES COMPLEMENTARES
Antes de dar seguimento ao estudo dos paradigmas serão dadas algumas
informações úteis para a melhor compreensão e aproveitamento da disciplina.
Como primeira forma de classificação de linguagem de programação está o seu
modo de execução:
Compilador – é um aplicativo que converte um programa escrito em
alguma linguagem em linguagem de montagem, o qual é um pseudocódigo de máquina. Um compilador deve fazer uma análise sintática do
programa antes de convertê-lo, pois se ele não foi editado conforme as
regras da linguagem, haverá problemas no processo de conversão. Um
ponto importante é que para cada linguagem de programação existe um
compilador. Após a compilação é feita uma tradução para linguagem de
máquina gerando um código executável.
Interpretador – é um aplicativo que interpreta cada instrução ou conjunto
de instruções do programa e o executa sem a conversão para um pseudocódigo e conseqüentemente sem um código de máquina. Apesar disso,
também é feita uma análise sintática e, se for encontrado um erro, o
programa não será executado. Pelo fato de ser interpretado, a execução de
um programa feito em linguagem interpretada é mais lenta que a de um
programa compilado.
Outra maneira de classificar as linguagens de programação está o nível de
facilidade de programação:
WILIAM HIROSHI HISATUGU
PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO
1. Baixo Nível – é a linguagem de máquina e a linguagem Assembler. Ou seja,
a programação feita diretamente no nível de microarquitetura.
2. Alto Nível – algorítmicas, imperativas, prescritivas, procedimentais
(apoiadas sobre processos),
determinísticas e quantitativas. Papel
determinante do cálculo numérico.
3. Altíssimo Nível –
Idealmente são linguagens não algorítmicas,
declarativas, não determinísticas e qualitativas. Criadas para o
processamento simbólico (como cálculo formal, manipulação de fórmulas
algébricas, processamento de língua natural), conduzindo a programas mais
abstratos. O programador descreve o problema em função de relações sobre
objetos. Com uma descrição precisa o computador resolverá o problema
sem qualquer outra intervenção.
4. Nível Médio – alguns autores e pesquisadores consideram a linguagem C
de médio nível e não de alto nível, devido aos seus recursos de uso direto da
máquina e fácil interface com a linguagem de máquina.
Uma forma bastante interessante de classificação das linguagens de
programação é a sua aplicação:
1. Científicas – ARGOL, FORTRAN, MATLAB;
2. Comerciais – Cobol, Dataflex, Forms Developers;
3. Processamento de Listas – LISP;
4. Gerais – Pascal, C, Visual Basic;
5. Inteligência Artificial – PROLOG;
6. Aplicativos para Internet – PHP, Java, HTML;
1.4 PARADIGMAS A SEREM ESTUDADOS
Imperativo – O modelo Imperativo é baseado na perspectiva do
computador: a execução seqüencial de comandos e o uso de dados são
conceitos baseados no modo como os computadores executam programas
no nível de linguagem de máquina. Este modelo é o predominante. As
imperativas são de fácil tradução. Um programa imperativo é equivalente a
uma seqüência de modificações de locações de memória.
Funcional – focaliza o processo de resolução do problema. A visão
funcional resulta num programa que descreve as operações que devem ser
efetuadas para resolver o problema.
WILIAM HIROSHI HISATUGU
PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO
Lógico – está relacionado à perspectiva da pessoa: ele encara o problema de
uma perspectiva lógica. Um programa lógico é equivalente à descrição do
problema expressa de maneira formal, similar à maneira que o ser humano
raciocinaria sobre ele.
Orientado à Objetos – focaliza mais o problema. Um programa OO é
equivalente a objetos que mandam mensagens entre si. Os objetos do
programa equivalem aos objetos da vida real (problema).A abordagem OO
é importante para resolver muitos tipos de problemas através de simulação.
A primeira linguagem OO foi Simula, desenvolvida em 1966 e depois
refinada em Smalltalk. Existem algumas linguagens híbridas: Modelo
Imperativo mais características de Orientação a Objetos (OO).
WILIAM HIROSHI HISATUGU
Download