Escolar Documentos
Profissional Documentos
Cultura Documentos
Linguagens de
Programação
Fundamentos para Computação
Programação em computadores
• Programar não era muito simples
• Necessário diversos conhecimentos,
linguagem não era natural
• Sistema de numeração não natural
• Poucas pessoas aptas a operar
• Linguagem escrita para programar
• Utilizar mnemônicos como visto na
máquina de Von Neumann
• Computador entende apenas bits
Montadores
• Interpretam texto escrito em código de máquina
• Cada instrução é associada a um código binário
• Simples, porém ainda pouco acessível para os seres humanos
http://www.sandroalex.info 1
Fundamentos para Computação Linguagens de Programação
Compilador
• Analisa sintática e semanticamente o código escrito
• Gera um código intermediário chamado de código objeto
• Programador escreve código na sintaxe da linguagem
• Link editor
• Associa instruções do código objeto a instruções de bibliotecas
• Montador gera código executável que a máquina entende
Interpretador
• Outra forma de converter programa no código de máquina
• Converte em linguagem de máquina cada linha sendo executado
• Processo é mais lento, porém mais fácil de depurar
Linguagem
Alto nível Interpretador de máquina /
Execução
Linguagem
Alto nível Compilador Execução
de máquina
Linguagem
Baixo nível Montador Execução
de máquina
http://www.sandroalex.info 2
Fundamentos para Computação Linguagens de Programação
Alto nível
Baixo nível
Linguagens de Programação
• Definição
• Conjunto de instruções e regras de composição e encadeamento
(sintaxe), por meio do qual se expressam ações executáveis por um
computador, seja diretamente, seja por meio de processos de
compilação, interpretação ou montagem
• Tipos
• Linguagem de máquina
• Linguagem procedural
• Linguagem orientada a eventos
• Linguagem orientada a objeto
• Linguagem orientada a aspecto
• Classificação
• Objetivos gerais X específicos
• Orientada para negócios X científica
• Orientada para procedimentos x problemas
• Processamento batch X processamento em tempo real
http://www.sandroalex.info 3
Fundamentos para Computação Linguagens de Programação
Tradutores
• Tradutor de linguagem
• Converte uma instrução de uma linguagem de programação de
alto nível em linguagem de máquina
• Interpretador
• Tradutor de linguagem que converte cada instrução de um
programa em linguagem de máquina (tempo de execução)
• Compilador
• Tradutor de linguagem que traduz um programa completo para um
programa completo em linguagem de máquina.
• Montador
• Programa que converte em linguagem de máquina as instruções
escritas em mnemônicos (símbolos) da linguagem Assembly
Linguagens de Programação www.sandroalex.info 10
http://www.sandroalex.info 4
Fundamentos para Computação Linguagens de Programação
• Linguagem Pascal
• Desenvolvida por Niklaus Wirth (Inst. Fed. de Tec., Suiça, 68)
• Excelente para aprendizado de técnicas de programação
• Linguagem C
• Desenvolvida por Dennis Ritchie (Lab.Bell, 70)
• Permite amplo acesso a atividades internas do processador
• Multiplataforma, excelente para escrever softwares básicos
• Partes pré-fabricadas
• Como construir um prédio usando módulos ou partes pré-fabricadas
(podem ser utilizados inúmeras vezes)
• Maior produtividade
• Reutilização de códigos para construir novos aplicativos
• Maior confiabilidade
• Aplicativos desenvolvidos em objetos testados pelo tempo
• Objetos têm propriedades de polimorfismo e hereditariedade
• Segundo Steve Jobs permite às empresas de software “construir um
software literalmente 5 a 10 vezes mais rápido, muito mais confiável,
muito mais fácil de se manter e muito mais poderoso”
Java, C++, C#, PHP, etc
Linguagens de Programação www.sandroalex.info 14
http://www.sandroalex.info 5
Fundamentos para Computação Linguagens de Programação
Fluxo Java
Top Languages
• https://www.tiobe.com/tiobe-index
• https://spectrum.ieee.org/static/interactive-the-top-
programming-languages-2017
• http://redmonk.com/sogrady/2017/06/08/language-
rankings-6-17
Fortran
Fatorial
PHP
Cobol
http://www.sandroalex.info 6
Fundamentos para Computação Linguagens de Programação
Checklist
• Tradutores
• Montadores, Compiladores, Interpretadores
• Link Editor
• Linguagem de alto nível X linguagem de baixo nível
• Linguagem de máquina, procedural, orientada a eventos, orientada a objeto,
orientada a aspecto
• Classificação
• objetivo geral ou específico, orientada a negócio ou científica, orientada para
procedimentos ou problemas, processamento em batch ou tempo real
• Gerações
• 1ª geração linguagem de máquina, 2ª geração assembly, 3ª geração alto nível, 4ª
geração interrogativas, 5ª geração naturais
• Exemplos
• Fortran, Cobol, Basic, Pascal, C, Orientadas para Objetos, Visuais e Máquina Virtual
• Top 10
• Exemplos de códigos
http://www.sandroalex.info 7