Buscar

3 1-Tipos de Linguagem de Programação

Prévia do material em texto

- -1
Tipos de Linguagem
Georgia Maria Ferro Benetti e Ilan Chamovitz
Introdução
A programação de computadores é um campo de saber que pode ser considerado novo e as linguagens de
programação são conhecimentos que estão em constante evolução e se desenvolvendo, por isso demanda
aprendizagem continuada (SEBESTA, 2011). Você já parou para pensar em quantas linguagens de programação
diferentes existem? Já refletiu sobre os modos como elas se estruturam e como se modificaram ao longo do
tempo?
Em vista disso, este tema faz uma iniciação às linguagens de programação, com a finalidade de que você
compreenda os principais conceitos e seus processos, de forma que aprenda a escolhê-las e utilizá-las para
construir sistemas de informação ou em outras situações profissionais em que precisar utilizar esse
conhecimento.
Ao final desta aula, você será capaz de:
• Definir a linguagem de programação, entendendo-a como instrumento para a construção de sistemas de 
informação.
Introdução a linguagem de máquina
Os computadores atuais trabalham com código binário, que é um arranjo de símbolos que compreende um
conjunto discreto. Em relação ao caso do código binário adotado para dispositivos digitais, esse conjunto é
composto de dois valores que costumam ser 0 e 1 (HAYKIN; MOHER, 2011).
•
- -2
Figura 1 - Código binário.
Fonte: Laborant. Shutterstock, 2019.
Mediante ao uso de códigos, um computador armazena dados em estruturas que representam sinais elétricos
que a máquina entende em termos de ligado ou desligado. Por meio dessa tecnologia, é possível criar estruturas
nas quais se formam sequências que representam letras e outros caracteres que conhecemos. Essa linguagem de
máquina é parecida com a representação numérica de dados. Diante disso, o código binário representa bem esse
tipo de estrutura, podendo considerar o zero (0) como desligado e o um (1) como ligado. Assim, o alfabeto em
código binário ficaria como indicado a seguir.
- -3
Figura 2 - Alfabeto em código binário.
Fonte: Elaborada pelos autores.
Agora, imagine que para escrever o seu nome e sobrenome fosse necessário digitar uma sequência de oito (8)
dígitos para cada letra. Assim seria para os comandos de atribuição de valores para variáveis.
Isso torna o trabalho de programar pouco prático, demorado e, devido à semelhança dos símbolos utilizados,
- -4
Isso torna o trabalho de programar pouco prático, demorado e, devido à semelhança dos símbolos utilizados,
sujeito a erros de difícil identificação e correção. Além disso, a programação é feita quase que diretamente na e
para a máquina em questão (RICARTE, 2012).
A partir dessas dificuldades e da necessidade de criar alternativas mais flexíveis e dinâmicas para programar,
criaram-se as linguagens de mais alto nível.
Linguagem de alto nível
As linguagens de programação são componentes importantes da Tecnologia da Informação (O’BRIEN, 2010). As
que utilizamos atualmente, baseiam-se no código binário para estabelecer uma comunicação com os dispositivos
digitais, interligando ações humanas e dos computadores.
Seres humanos e máquinas trabalham e se comunicam com linguagens diferentes. Para que isso ocorra, cada
linguagem deve especificar os princípios que compõem um , como: sintaxe, que indicaprojeto de linguagem
como elaborar a estrutura correta de um programa; nomes e tipos, que é o vocabulário específico da linguagem;
e semântica, que especifica os efeitos de cada comando (TUCKER; NOONAN, 2010).
Posto isso, existem linguagens que estão mais próximas das máquinas e são chamadas de linguagens de baixo
nível, que são formadas por instruções que correspondem, quase que diretamente, ao código que será
processador da máquina para execução.
Por outro lado, linguagens de alto nível estão mais próximas do entendimento e necessidades humanas, por isso,
precisam, geralmente, ser traduzidas por um programa compilador para que a máquina opere com elas.
FIQUE ATENTO
As linguagens de máquina trabalham com endereçamento absoluto. Quer dizer, as instruções
ficam armazenadas em pontos específicos da memória, de modo que uma instrução direciona
para um ponto específico de sequência do programa. Ao inserir outra instrução, impactará as
instruções que fazem referência aos endereços que estão localizados depois da adição.
FIQUE ATENTO
O processador é o componente principal do computador, sendo responsável por executar as
instruções contidas nos programas de computador. Cada tipo de processador congrega dois
conjuntos de instruções específicas: o da linguagem de máquina e o das linguagens simbólicas.
Logo, determinados processadores se comunicam de modo mais eficiente com determinados
programas.
- -5
Figura 3 - Linguagem de programação e linguagem de máquina.
Fonte: Alphaspirit. Shutterstock, 2019.
Os compiladores são programas que atuam como uma espécie de tradutor. Existem diversos compiladores que
podem ser utilizados para cada linguagem. Eles convertem os programas em linguagem de alto nível para
linguagem de baixo nível, que, diferente de uma linguagem interpretada – executada imediatamente –, pode
tomar um tempo considerável do computador.
Isso porque o processo de compilação geralmente ocorre em três passos:
• a) análise do código, que é a verificação da sintaxe e correção de erros que não sejam de lógica;
• b) criação de arquivo com código-objeto que contém comandos em linguagem da máquina;
• c) criação de um arquivo executável, a partir do código-objeto, que pode funcionar independentemente 
do compilador.
O desenvolvimento de linguagens de alto nível foi uma consequência das necessidades de evolução da
computação. Quando os primeiros computadores foram criados, as instruções eram codificadas apenas como
dígitos numéricos. Escrever programas nessa linguagem resultava em muitos erros, com muita dificuldade para
serem localizados e corrigidos.
Por volta de 1940, pesquisadores desenvolveram um sistema pelo qual instruções numéricas poderiam ser
representadas por mnemônicos.
A partir desse sistema, montadores ( em inglês) foram desenvolvidos para converter expressõesassemblers 
mnemônicas em linguagem de máquina.
•
•
•
- -6
A linguagem montadora ficou conhecida como Apesar da maior facilidade em programar e entender osassembly.
códigos, ainda havia a necessidade de serem utilizados muitos comandos para realizar uma única operação.
Assim, alguns comandos precisavam ser compactados em um só, sendo que as linguagens com vários comandos
são conhecidas como linguagens de alto nível.
Linguagens não estruturadas
Conforme estudamos até aqui, ao longo da evolução das linguagens de programação vários paradigmas foram
sendo desenvolvidos. A programação não estruturada organizou-se em torno de listas de instruções sequenciais
que a Unidade Central de Processamento (CPU) deveria executar (COELHO, 2007).
As linguagens não estruturadas são as primeiras chamadas de alto nível, que caracterizam por incluir a
possibilidade de dar comandos como o e , levando para um ponto específico do programa (COELHO,goto jump
2007).
São exemplos desse tipo de linguagem a (BASIC) e o COmmonBeginners All-purpose Symbolic Instruction Code 
Business Oriented Language (COBOL), geralmente utilizados em aplicações comercias, ambos com grande
divulgação na década de 1980 (GUDWIN, 1997).
EXEMPLO
A adoção de mnemônicos simplificou a elaboração de instruções. Para realizar a seguinte
operação que movia valores entre endereços de memória ficaria assim: mova o conteúdo do
registrador 2 para o registrador 4. Já em linguagem de máquina seria expressa com algo
semelhante a 2054. Entretanto, em um sistema mnemônico a instrução ficaria um pouco mais
simples: MOV R4, R2.
SAIBA MAIS
A história da evolução dos paradigmas e linguagens de computação é rica em detalhes. Desde
1940, quando os primeiros computadores digitais surgiram, sucederam diferentes paradigmas
de programação, do qual emergiram dezenas de linguagens com características e aplicações
específicas. Para conhecer essa história em detalhes leia o livro Conceitos de linguagensde
, de Robert Sebesta (2011).programação
- -7
Linguagens procedurais
Depois das linguagens não estruturadas surgem as linguagens procedurais. De acordo com Gudwin (1997, p. 3),
elas caracterizam-se:
[...] pela existência de estruturas de controle, que entre outras coisas promovem o teste de condições
(if-then-else), controlam a repetição de blocos de código (for, while, do), fazem a seleção de
alternativas (switch, case), e dividem o código do programa em módulos chamados de funções ou
procedimentos (GUDWIN, 1997, p. 3).
Como exemplos dessas linguagens, apresentamos o PASCAL – nome em homenagem ao matemático e físico 
–, originada a partir da linguagem ALGOL, no final da década de 1960 e início da década de 1970, e Blaise Pascal
da FORTRAN (IBM ). Em 1972, foi criada a linguagem C, sendo elaMathematical FORmula TRANslating system
compilada, estruturada, imperativa, procedural e padronizada pela Organização Internacional de Normatização
(ISO).
Diante disso, diversas linguagens foram surgindo, como representado no gráfico a seguir.
- -8
Figura 4 - Genealogia das linguagens de alto nível.
Fonte: Sebesta (2011, p. 58).
O Gráfico mostra o surgimento das várias linguagens de programação em uma perspectiva de linha de tempo e
como elas estão conectadas entre si. Embora não estejamos abordando detalhes de cada uma delas, é importante
saber que cada linguagem nova pode introduzir elementos originais que solucionam problemas não resolvidos
pela anterior. Com o desenvolvimento das linguagens de alto nível, chegamos a um ponto em que quase todas as
- -9
pela anterior. Com o desenvolvimento das linguagens de alto nível, chegamos a um ponto em que quase todas as
linguagens podem nos levar ao mesmo resultado, porém, algumas fazem isso de modo mais eficiente do que
outras (COCCIAN, 2004).
Nesse contexto, o fator decisivo em relação à escolha da melhor linguagem para cada caso acaba sendo o tipo de
aplicação com a qual estamos trabalhando. É também importante salientar que as linguagens são desenvolvidas
mediante os que estruturam e detalham as características de cada linguagem e queprojetos de linguagem
estão inseridos em contextos históricos específicos.
Fechamento
A computação é uma tecnologia cujas aplicações na vida humana não param de crescer e de se diversificar.
Computadores são equipamentos que precisam de ações humanas para funcionar e ocorre, entre outras ações,
mediante o fornecimento de instruções que, atualmente, assumem o formato de programas elaborados em
linguagens específicas.
Essa realidade vem aportando novos usos e demandas para as Tecnologias da Informação, o que motiva o
surgimento de diferentes linguagens de programação que foram se desenvolvendo com o passar do tempo.
Problemas e necessidades particulares que emergem da utilização da computação motivam mudanças e
inovações nas linguagens de computação. Isso pode abranger desde a atualização de versão de uma linguagem já
existente, até o surgimento de um paradigma totalmente novo de estruturação de linguagens.
Referências
COCIAN, L. F. E. : dados eletrônicos. Porto Alegre: Editora da ULBRA, 2004.Manual da linguagem C
COELHO, F. C. . Petrópolis, RJ: [S. e.], 2007. Disponível em: <Programação Científica como Python
http://complex.if.uff.br/_media/python_flavio.pdf>. Acesso em: jan. 2019.
GUDWIN, R. R. : notas de aula para a disciplina EA877 mini e microcomputadores:Linguagens de programação
software. Campinas: DCA/FEEC/UNICAMP, 1997. Disponível em: <http://www3.dsi.uminho.pt/iiee/repos
/ling_prog.pdf>. Acesso em: 27 jan. 2019.
HAYKIN, S.; , M. . 5.ed. São Paulo: Bookman, 2011. MOHER Sistemas de Comunicação
O´BRIEN, J. A. . 3. ed. São Paulo: Saraiva,Sistemas de informação e as decisões gerenciais na era da internet
2010.
RICARTE, I. . Rio de Janeiro: Elsevier Brasil, 2012.Introdução à compilação
SEBESTA, R. W. . Tradução de Eduardo Kessler Piveta. 9. ed. PortoConceitos de linguagens de programação
Alegre: Bookman, 2011.
TUCKER, A.; NOONAN, R. princípios e paradigmas. Porto Alegre: AMGH, 2010.Linguagens de Programação: 
http://complex.if.uff.br/_media/python_flavio.pdf>
http://www3.dsi.uminho.pt/iiee/repos/ling_prog.pdf
http://www3.dsi.uminho.pt/iiee/repos/ling_prog.pdf
	Introdução
	Introdução a linguagem de máquina
	Código binário.
	Alfabeto em código binário.
	Linguagem de alto nível
	Linguagem de programação e linguagem de máquina.
	Linguagens não estruturadas
	Linguagens procedurais
	Genealogia das linguagens de alto nível.
	Fechamento
	Referências

Continue navegando

Outros materiais