Paradigmas de Programação

Linguagens de Programação, compiladores e interpretadores.

Da criação à execução do programa

Última ocorrência: Não ocorreu

Posts Relacionados

O que vamos ver nessa disciplina?

Como avaliar uma linguagem de programação?

Não existem critérios amplamente aceitos para avaliar linguagens de programação.

No entanto, alguns critérios acabam por se destacar ao fazer com que algumas linguagens tenham seu uso mais difundido que outras. Lembre-se que por não existir uma aceitação universal, esses critérios também são controversos, e possuem uma (forte) tendência pessoal.

Legibilidade

Programas, em geral, não são escritos e esquecidos. Programas devem ser revistos, mantidos, corrigidos, e, talvez, melhorados. Em geral, no ciclo de vida de um software, o maior tempo (e custo) de um programa é o seu período de manutenção.

A legibilidade também afeta, diretamente, a facilidade de se desenvolver um código com uma equipe.

Facilidade de escrita

Confiabilidade

Um programa é confiável na medida que executa de acordo com a sua especificação, em todas as condições.

A facilidade de escrita e leitura de uma linguagem impacta diretamente na confiabilidade, pois permite que seja mais fácil traduzir conceitos, talvez escritos em linguagem natural, para a linguagem de programação.

Outro aspecto que ajuda na confiabilidade é a capacidade do compilador de encontrar erros no processo de tradução do código fonte para o código alvo. Por exemplo, erros de acesso a memória (como em Rust) ou erros de gerenciamento de recursos.

Linguagens com tipagem forte e verificação de tipos permitem uma série de análises do código durante o processo de compilação reduzindo os erros em tempo de execução. É muito mais barato corrigir problemas de compilação do que problemas de execução de um programa.

Custo

Compilação, Interpretação e Bytecode

Etapas de um compilador/interpretador

Processo de compilação

Sintaxe e Semântica

Uma linguagem, natural ou artificial, possui um conjunto de palavras que são formadas utilizando um alfabeto específico. Lexemas (ou tokens) são descrições de cada uma das palavras ou símbolos dessa linguagem, que carregam informações sobre a palavra em si.

Sentenças na linguagem são formadas por conjuntos de palavras da linguagem. A sintaxe da linguagem estabele regras de como as palavras podem ser organizadas para criar uma sentença válida na linguagem. O conjunto de regras que descreve a sintaxe de uma linguagem é chamado de gramática.

A semântica de uma linguagem nos permite entender o signifcado de sentenças da linguagem, analisadas de acordo com a sua gramática.

Questões

  1. Cite alguns dos recursos de linguagens de programação específicas que você conhece, cujo objetivo seja um mistério para você.
  2. Por que jamais teremos “a linguagem de programação definitiva”?
  3. Quais são os elementos que você gostaria que existisse em uma linguagem de programação?
  4. Quais elementos você acredita que atrapalham mais do que ajudam em uma linguagem de programação?
  5. Em quantas linguagens de programação você consegue programar? Elas são realmente diferentes?
  6. Qual é a próxima linguagem de programação que você deseja aprender?

Para a próxima aula

Recursos para essa aula

Bibliografia

  1. “SEBESTA, Robert. Conceitos de Linguagens de Programação. 11a. Ed. Bookman.Porto Alegre, 2018.
    • Capítulos 1 a 3