Linguagens de ProgramaçãoVisão geral
Paradigmas de Linguagens de Programação
Um paradigma de programação é o núcleo de uma família de linguagens: o que o programador escreve e o que conta como execução. A família exige um traço — atribuição, função pura, objeto com herança é-um, ou cláusula com unificação.
Atribuição, pureza, herança é-um e unificação neste tópico — e comandos, encapsulamento e a semântica operacional nos tópicos seguintes — partem desse núcleo.
As páginas se agrupam em quatro blocos. O primeiro recupera a família a partir do traço ou do nome clássico.
O segundo executa: ou reescreve o estado por atribuição, ou substitui a chamada pelo valor.
O terceiro instancia objetos a partir da classe e restringe a herança à relação é-um.
O quarto deposita fatos e regras e deixa o motor unificar a consulta.
Trocar a chamada pelo valor, e recusar parâmetro por referência ou local estática, está em Programação Funcional. A transição σ[x ↦ σ(E)] está em Programação Imperativa.
Decidir se a subclasse pode aparecer onde o tipo pede o supertipo está em Programação Orientada a Objetos. Reconhecer a CLU como tipos abstratos, sem mensagem nem é-um, está em Classificação de Linguagens de Programação.
Unificar parent(john, X) com um fato e encadear cabeça :- corpo está em Programação Lógica. Rotular CLIPS, ou a frase que só descreve o resultado, como declarativo está em Classificação de Linguagens de Programação.
Reduzir a expressão ao valor está em Programação Funcional. Encadear fatos e regras até ligar as variáveis da consulta está em Programação Lógica.
Páginas deste tópico
Classificação de Linguagens de Programação
Alta incidência no POSCOMP12 min de leitura · 9ª mais cobrada em Linguagens de Programação
Mapa paradigma × traço × linguagem (C, LISP, Smalltalk, CLU, CLIPS); estático/dinâmico só como recall.
Abrir páginaProgramação Imperativa
ProAlta incidência no POSCOMP14 min de leitura · 2ª mais cobrada em Linguagens de Programação
Estado mutável e atribuição; comandos sequenciais alteram memória.
Programação Funcional
ProAlta incidência no POSCOMP18 min de leitura · 7ª mais cobrada em Linguagens de Programação
Funções puras: mesmos args ⇒ mesmo resultado; sem ref que muta nem locais estáticas.
Programação Orientada a Objetos
ProAlta incidência no POSCOMP16 min de leitura · 3ª mais cobrada em Linguagens de Programação
Objeto, classe e herança is-a; encapsulamento e polimorfismo só em recall.
Programação Lógica
ProAlta incidência no POSCOMP10 min de leitura · 10ª mais cobrada em Linguagens de Programação
Fatos, regras e consulta com unificação; lógico ⊂ declarativo.