Uma linguagem de programação é um método padronizado para comunicar instruções para um computador. É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador. Permite que um programador especifique precisamente sobre quais dados um computador vai atuar, como estes dados serão armazenados ou transmitidos e quais ações devem ser tomadas sob várias circunstâncias. Linguagens de programação podem ser usadas para expressar algoritmos com precisão.
2. Processo de Desenvolvimento um Software
Projeto da
Identificar Identificar
arquitetura classes e objetos relacionamentos
Refinamento Projeto
detalhado
Teste/integração Implemen-
Teste do de unidades tação
sistema
3. Linguagem de Programação
Para que se possa fazer alguém executar uma ordem é
necessário que esta pessoa fale o mesmo idioma de quem
mandou a ordem ou que haja um interprete para fazer a
tradução.
De maneira semelhante funciona o computador. Para
mandarmos que ele execute uma função ou processamento
ou damos a ordem em linguagem de máquina (binário) ou
utilizamos interpretes para que eles façam a tradução.
4. Linguagem de Programação
As linguagens de programação são softwares destinados a
traduzir comandos, de uma linguagem mais próxima do
programador, para a linguagem binária.
As linguagens de programação são classificadas de acordo
com a geração e o nível de entendimento do programador.
• Linguagem de Máquina → Código Binário
• Linguagem Procedural
• Linguagem Orientada a Objeto
5. Linguagem de Programação - Geração
Linguagem da 1ª geração: Linguagem de máquina ou absoluta;
Linguagem da 2ª geração: Linguagem montadora (assembler) ou de
baixo nível;
Linguagem da 3ª geração: Linguagem de alto nível, orientada para os
procedimentos;
Linguagem da 4ª geração: Linguagem de altíssimo nível, orientada
para um problema específico. Classificam-se em linguagem de
consulta, geradoras de aplicação e outras.
6. Linguagem de Programação Alto Nível
A linguagem de alto nível, teoricamente, independe to tipo de
computador.
O tempo de treinamento para a formação de programadores é,
relativamente, curto.
Baixo custo para a elaboração e manutenção de programas.
Possíveis vantagens da arquitetura interna da máquina não são
adequadamente aproveitadas.
7. Linguagem de Programação Alto Nível
Tempo de compilação e execução do programa é maior.
Ocupa mais memória para armazenar e executar o programa
Linguagens de alto nível → São linguagens próximas da linguagem
do homem. Exemplo: Cobol, Pascal, C.
Linguagem de alto nível de quarta geração → São as linguagens
utilizadas com objetos visuais tais como: Visual Basic, Delphi,
Visual C++, C++.
8. Linguagem de Programação Baixo Nível
O tempo de treinamento para a formação de programadores é bem
mais demorado
Alto custo para a elaboração e manutenção de programas.
Possibilidade de utilizar as vantagens da arquitetura interna da
máquina
9. Linguagem de Programação Baixo Nível
Ocupa menos memória para armazenar e executar o programa
Linguagem de máquina → Código Binário
Tempo de compilação e execução do programa é menor
10. Linguagem de Programação
Forma de Tradução
Interpretadas → São as linguagens que cujo tradutor somente
transforma em linguagem de máquina somente a parte do texto a ser
executada.
– Exemplo: HTML, JavaScript, PERL.
Compiladas → São as linguagens compiladas são aquelas que todo o
código do programa é traduzido criando um novo arquivo em
linguagem de máquina.
– Exemplos: Visual Basic, Delphi, Pascal, C, Cobol.
12. Introdução
• Compilador: software básico de computador
capaz de traduzir uma linguagem de alto
nível (código fonte) em outra mais simples
(código destino ou executável)
Código Código
Compilador
fonte destino
Mensagens
de erro
13. Construção de Compiladores
Os próprios compiladores são escritos em alguma
linguagem de programação e são programas bastante
complexos;
Usualmente precisa-se de alguns homens-ano para se
escrever um.
14. Construção de Compiladores
Assim, é uma boa idéia usar-se o computador como uma
ferramenta para nos ajudar a escrever compiladores.
Geradores de compiladores, como se pode inferir a partir
do nome, são usados com este objetivo (tais geradores são
às vezes denominados compiladores de compiladores).
15. Componentes de um Compilador
O objetivo inicial é verificar se o programa está
sintaticamente correto; por exemplo, em Pascal os
comandos devem ser separados por ponto e vírgula, se isto
não for feito a análise sintática emitirá uma mensagem de
erro e a compilação do programa não terá sucesso.
16. Componentes de um Compilador
A segunda parte do compilador, verifica se o programa
(já sintaticamente correto) está correto do ponto de
vista de contexto e tipos; por exemplo, em Pascal é um
erro somar o número `3´ com o valor booleano `true´,
ou usar a variável `x´ sem uma declararação prévia da
mesma.
17. Componentes de um Compilador
Finalmente, a terceira parte do compilador executa
a tradução do programa-fonte em um programa-
objeto expresso em linguagem de máquina;
geralmente um comando do programa-fonte é
traduzido para vários “comandos” em linguagem
de máquina.
18. Programas Tradutores Compiladores
Os compiladores, dependendo da linguagem e do sistema operacional
utilizado, poderão envolver algumas etapas intermediárias.
Com o uso , por exemplo, de funções matemáticas (que nada mais
são do que pequenas sub-rotinas), o compilador precisará
complementar o seu programa, já traduzido, com estas rotinas.
19. Programas Tradutores Interpretadores
Os interpretadores não exigem a criação de um novo arquivo.
Ele opera à partir do arquivo original (fonte) produzido pelo
programador.
O que o interpretador faz é ler o texto do programa e proceder
conforme um vocabulário de palavras-chave.
Com esta filosofia, o interpretador passa a maior parte do tempo
lendo e traduzindo textos.
Se o programa executa uma certa instrução mais de uma vez, o
interpretador traduz a instrução cada vez que a encontra, tantas vezes
quantas forem necessárias.
20. Compiladores e Interpretadores
O compilador traduz todo o programa para a linguagem de
máquina antes de sua execução pelo computador.
Já o interpretador traduz somente trecho do programa que
será executado em seguida, normalmente uma linha.
Após a execução da linha, ele traduz a próxima que será
executada e assim , sucessivamente, até o final do
programa .
21. Programas Tradutores
Montador
– E programa que converte os códigos da linguagem assembly ou
de baixo nível para a linguagem de máquina.
Compilador
– E o programa que traduz um programa escrito em linguagem de
alto nível para um programa em código de máquina.
Interpretador
– E o programa residente que faz a tradução e a imediata execução
de instrução a instrução de um programa escrito em linguagem de
alto nível.
22. Programas Tradutores
Ling. fonte de Compilador Linguagem
de máquina Execução Resultado
alto nível (compiler)
Interpretador Linguagem
Ling. fonte de de máquina Resultado
alto nível (interpreter)
Execução
Ling. fonte de Montador Linguagem
Execução Resultado
baixo nível (assembler) de máquina
23. Programa Link-Editor
Este programa normalmente é chamado "link-
editor" e deve ser executado após a compilação
inicial para, finalmente, gerar o programa em
Linguagem de Máquina, pronto para ser
executado.
24. Vantagens dos Compiladores
Como o compilador gerar programas prontos para
serem executados pela máquina traz como principal
vantagem a velocidade com a qual estes programas
serão executados no computador, velocidade muito
maior do que os programas interpretados, que são
traduzidos passo a passo.
25. Vantagens dos Interpretadores
Por outro lado, os interpretadores oferecem maior
facilidade no processo de desenvolvimento do
programa, pois o programador pode imediatamente
testar o resultado do que está fazendo
26. Compiladores e Interpretadores
Infelizmente o processo de compilação é muito lento. Por este
motivo, o uso de compiladores para desenvolvimento e testes de
programas é altamente desaconselhável.
Quando o programa estiver pronto (testado e verificado com o
interpretador), é interessante compilá-lo para obter maiores
velocidades de execução.
27. Compiladores e Interpretadores
De modo geral, podemos definir que os interpretadores são mais
indicados para utilização durante o processo de desenvolvimento de
programas.
Os compiladores, por sua vez, devem ser acionados para produzir o
programa executável final, ou seja, o produto acabado, que será
efetivamente executado no computador.
Atualmente, a maior parte das linguagens de programação
encontram-se disponíveis tanto com compiladores, como com
interpretadores.
28. Ciclo de Desenvolvimento de Programas
1º Entrar com todo o programa no computador (Programa Fonte)
2º Compilar o programa, traduzindo para a linguagem de
máquina (Programa Objeto);
3º Executar o programa. Caso ocorra algum erro, deve-se efetuar
as correções correspondentes e voltar ao passo 2, até que não
existam mais alterações a serem feitas
29. Programa Compilador Executável
Programa escrito em Compilador é um Programa que pode ser
linguagem de alto programa específico utilizado em qualquer
nível; é utilizado um para uma determinada equipamento que
editor de textos; linguagem, que lê as atenda as
o arquivo possui uma instruções escritas em especificações de pré-
extensão que alto nível e se não requisitos para
identifica o tipo de houver nenhum erro de utilização, é um
linguagem utilizada; sintaxe ele as arquivo que pode ser
ex. teste.pas (pascal) transcreve para compreendido pela
teste.cob (cobol) instruções similares em máquina.
teste.vbp (visual linguagem de máquina. Um arquivo executável
basic) possui extensão .exe.
30. Software Resumo
Softwares
Específicos
Software Aplicativo
-Assembler de usuários
-C++
-Cobol
Sistema
-Visual Basic
Operacional
Utilitários:
Software de Sistema
Compilador e Monitor
Tradutores
Editor
Hardware
Carregador