Modelos de
Linguagem de
Programação I
Aula 01
Prof. Silvestri
www.eduardosilvestri.com.br
Linguagem de Programação
Uma linguagem de programação é um método
padronizado para expressar instruções para um
computador. É um conjunto de regras sintáticas e
semânticas usadas para definir um programa de
computador.
Uma linguagem 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.
Linguagem de Programação
O conjunto de palavras (tokens), compostos de acordo
com essas regras, constituem o código fonte de um
software.
Esse código fonte é depois traduzido para código de
máquina, que é executado pelo processador.
Linguagem de Programação
Uma das principais metas das linguagens de
programação é permitir que programadores tenham
uma maior produtividade, permitindo expressar suas
intenções mais facilmente do que quando comparado
com a linguagem que um computador entende
nativamente (código de máquina). Assim, linguagens
de programação são projetadas para adotar uma
sintaxe de nível mais alto, que pode ser mais
facilmente entendida por programadores humanos.
Linguagem de Programação
Linguagens de programação são ferramentas
importantes para que programadores e engenheiros
de software possam escrever programas mais
organizados e com maior rapidez.
Linguagem de Programação
Linguagens de programação também tornam os
programas menos dependentes de computadores ou
ambientes computacionais específicos (propriedade
chamada de portabilidade). Isto acontece porque
programas escritos em linguagens de programação
são traduzidos para o código de máquina do
computador no qual será executado em vez de ser
diretamente executado.
Linguagem de Programação
Uma meta ambiciosa do Fortran, uma das primeiras
linguagens de programação, era esta independência
da máquina onde seria executada.
História
A primeira linguagem de programação para
computadores foi provavelmente Plankalkül, criada
por Konrad Zuse na Alemanha Nazista, mas que teve
pouco ou nenhum impacto no futuro das linguagens
de programação.
A primeira linguagem de programação de alto nível
amplamente usada foi Fortran, criada em 1954.
Em 1957 foi criada [B-0], que daria origem a Flow-Matic
(1958), antecessor imediato de COBOL, de 1959. Lisp
e ALGOL foram criadas em 1958.
Interpretação e Compilação.
Uma linguagem de programação pode ser convertida, ou
traduzida, em código de máquina por compilação ou
interpretação, que juntas podem ser chamadas de
tradução.
Interpretação e Compilação.
Se o método utilizado traduz todo o texto do programa
(também chamado de código), para só depois
executar (ou rodar, como se diz no jargão da
computação) o programa, então diz-se que o
programa foi compilado e que o mecanismo utilizado
para a tradução é um compilador (que por sua vez
nada mais é do que um programa). A versão
compilada do programa tipicamente é armazenada, de
forma que o programa pode ser executado um número
indefinido de vezes sem que seja necessária nova
compilação, o que compensa o tempo gasto na
compilação. Isso acontece com linguagens como
Pascal e C.
Interpretação e Compilação.
Se o texto do programa é traduzido à medida em que vai
sendo executado, como em Javascript, Python ou
Perl, num processo de tradução de trechos seguidos
de sua execução imediata, então diz-se que o
programa foi interpretado e que o mecanismo
utilizado para a tradução é um interpretador.
Programas interpretados são geralmente mais lentos
do que os compilados, mas são também geralmente
mais flexíveis, já que podem interagir com o ambiente
mais facilmente (freqüentemente linguagens
interpretadas são chamadas também de script).
Interpretação e Compilação.
Embora haja essa distinção entre linguagens interpretadas
e compiladas, as coisas nem sempre são tão simples.
Há linguagens compiladas para um código de máquina
de uma máquina virtual (sendo esta máquina virtual
apenas mais um software, que emula a máquina virtual
sendo executado em uma máquina real), como o Java e
o Parrot. E também há outras formas de interpretar em
que os códigos-fontes, ao invés de serem interpretados
linha-a-linha, têm blocos "compilados" para a memória,
de acordo com as necessidades, o que aumenta a
performance dos programas quando os mesmos
módulos são chamados várias vezes, técnica esta
conhecida como JIT.
Interpretação e Compilação.
Em Ciência da Computação, JIT é o acrônimo para
compilador just-in-time, que é um tradutor que converte,
em tempo de execução, instruções de um formato para
outro, por exemplo, de bytecode para código de
máquina. Esta técnica é normalmente utilizada para
incrementar o desempenho de programas "executados"
- na verdade, interpretados - em máquinas virtuais.
Interpretação e Compilação.
Como exemplo, podemos citar a linguagem Java. Nela, um
compilador traduz o código java para o código
intermediário (e portável) da JVM. As JVMs originais
interpretavam esse código, de acordo com o código de
máquina do computador hospedeiro, porém atualmente
elas compilam, segundo a técnica JIT o código JVM
para código hospedeiro.
Interpretação e Compilação.
A tradução é tipicamente feita em várias fases, sendo as
mais comuns a Análise léxica, a Análise sintática ou
Parsing, a Geração de código e a Otimização. Em
compiladores também é comum a Geração de código
intermediário. Veja também Compilador.
Interpretação e Compilação.
Análise léxica é o processo de analisar a entrada de linhas
de caracteres (tal como o código-fonte de um programa
de computador) e produzir uma seqüência de símbolos
chamado "símbolos léxicos" (lexical tokens), ou somente
"símbolos" (tokens), que podem ser manipulados mais
facilmente por um parser (leitor de saída).
A Análise Léxica é a forma de verificar determinado alfabeto.
Quando analisamos uma palavra, podemos definir através
da análise léxica se existe ou não algum caracter que não
faz parte do nosso alfabeto, ou um alfabeto inventado por
nós. O analisador léxico é a primeira etapa de um
compilador, logo após virá a análise sintática.
Interpretação e Compilação.
Em ciência da computação e linguística, análise sintática
(também conhecido pelo termo em inglês parsing) é o
processo de analisar uma sequência de entrada (lida de
um arquivo de computador ou do teclado, por exemplo)
para determinar sua estrutura gramatical segundo uma
determinada gramática formal. Essa análise faz parte de
um compilador, junto com a análise léxica e análise
semântica.
Interpretação e Compilação.
A análise sintática transforma um texto na entrada em uma
estrutura de dados, em geral uma árvore, o que é
conveniente para processamento posterior e captura a
hierarquia implícita desta entrada. Através da análise
léxica é obtido um grupo de tokens, para que o analisador
sintático use um conjunto de regras para construir uma
árvore sintática da estrutura.
Dúvidas
www.eduardosilvestri.com.br
Eduardo Silvestri
[email protected]
MAPA CONCEITUAL
Cada pessoa forma uma imagem mental de um
cenário. Quando um indivíduo internaliza uma cena
esta é expressa nos seus próprios termos, de forma
que mais tarde seja capaz de traze-la a sua mente
com maior riqueza de detalhes. Hoje há quase que
um consenso que a motivação para aprender e a
construção estruturada do conhecimento é uma
característica muito pessoal.
MAPA CONCEITUAL
Pode-se elaborar mapas conceituais a partir de
conceitos soltos, por exemplos Informação Sonora
ou um parágrafo de um capitulo de um livro texto. O
Conceito mais geral deve vir no alto da
representação, e os mais específicos ligados a este e
aos demais por linhas/palavras de ligação.
MAPA
CONCEITUAL
Questões
Publicação
1. Mapa conceitual da Aula.
Computador
Denomina-se computador uma máquina capaz de
variados tipos de tratamento automático de
informações ou processamento de dados. O
computador é o elemento fundamental da Ciência da
Computação, também descrita corriqueiramente como
informática. Exemplos de computadores incluem o
ábaco, a calculadora, o computador analógico e o
computador digital.
Computador
Um computador pode prover-se de inúmeros atributos,
dentre eles armazenamento de dados, processamento
de dados, cálculo em grande escala, desenho
industrial, tratamento de imagens gráficas, realidade
virtual, entretenimento e cultura.
No passado, o termo já foi aplicado a pessoas
responsáveis por algum cálculo. Em geral, entende-se
por computador um sistema físico que realiza algum
tipo de computação. Existe ainda o conceito
matemático rigoroso, utilizado na teoria da
computação.
Computador
Assumiu-se que os computadores pessoais e laptops
são ícones da Era da Informação[1]; e isto é o que
muitas pessoas consideram como "computador".
Entretanto, atualmente as formas mais comuns de
computador em uso são os sistemas embarcados,
pequenos dispositivos usados para controlar outros
dispositivos, como robôs, câmeras digitais ou
brinquedos.
Computador
VOLTAR
Programa de Computador
Um programa de computador é uma coleção de
instruções que descrevem uma tarefa a ser
realizada por um computador. O termo pode
ser uma referência ao código fonte, escrito em
alguma linguagem de programação, ou ao
arquivo que contém a forma executável deste
código fonte.
Programa de Computador
VOLTAR
Download

Introdução a Linguagem de Programação