Questionário Paradigmas
R: Quando usada por uma pessoa, expressa um processo através do qual um computador pode resolver um problema
(2) O que faz uma determinada linguagem pertencer a um paradigma específico em detrimento de outro?
R: É uma consequência de decisões de projeto que impactam radicalmente a forma na qual uma aplicação real é modelada do ponto de vista computacional
(3) Descreva e justifique pelo menos 3 critérios (ou questões) importantes que devem ser considerados no momento da escolha de qual LP será utilizada. Apresente exemplos para cada critério extraído de alguma LP de seu conhecimento.
R: Legibilidade: facilidade com a qual os programas podem ser lidos e entendidos. Exemplo: Palavras especiais na Linguagem C: Int, float, register, typedef, char, extern e return.
Escritabilidade: facilidade com a qual uma linguagem pode ser usada para criar programas para um dado domínio. Exemplo: Suporte a abstração (Java): Em Orientação a Objetos um objeto é uma abstração de dados
Confiabilidade: conformidade com as especificações, executa de acordo com suas especificações sob quaisquer circunstâncias . Exemplo: Tratamento de exceções em Java : try { objeto.metodoQuePodeLancarIOeSQLException(); } catch (IOException e) { // ..
} catch (SQLException e){
// .. }
(4) Identifique situações nas quais a busca por eficiência computacional compromete a portabilidade de LPs e vice-versa.
R: Por exemplo no Java, alguns recursos essa linguagem dão suporte a portabilidade prejudicam eficiência. Como, para facilitar a portabilidade, Java é normalmente compilada para bytecodes, ao invés de código de máquina, é necessário interpretar os bytecodes durante a execução, com impacto negativo em performance.
(5) Por que é útil para um programador ter alguma experiência no projeto de linguagens, mesmo que ele nunca projete uma linguagem de programação?
R: Para que ele esteja preparado para usar várias linguagens, e extrair o máximo