Caracterização e Objetivos das LP - Jorge Paulo O que é CLP? - Conceitos de Linguagens de Programação - Caracterização das linguagens de programação de computadores e seus diferentes paradigmas de programação - Estudo dos conceitos básicos de cada paradigma - Modelos computacionais - Semântica Objetivos - Proporcionar ao aluno uma visão geral dos conceitos envolvidos no projeto e no uso dos diversos paradigmas de linguagens de programação. Por que estudar CLP? - Aumento da capacidade de expressar ideias Por que estudar CLP? - Aumento da capacidade de expressar ideias - Maior embasamento para a escolha de linguagens apropriadas Por que estudar CLP? - Aumento da capacidade de expressar ideias - Maior embasamento para a escolha de linguagens apropriadas - Capacidade aumentada para aprender novas linguagens Por que estudar CLP? - Aumento da capacidade de expressar ideias - Maior embasamento para a escolha de linguagens apropriadas - Capacidade aumentada para aprender novas linguagens - Entender melhor a importância da implementação Por que estudar CLP? - Aumento da capacidade de expressar ideias - Maior embasamento para a escolha de linguagens apropriadas - Capacidade aumentada para aprender novas linguagens - Entender melhor a importância da implementação - Aumento da capacidade de projetar novas linguagens Por que estudar CLP? - Aumento da capacidade de expressar ideias - Maior embasamento para a escolha de linguagens apropriadas - Capacidade aumentada para aprender novas linguagens - Entender melhor a importância da implementação - Aumento da capacidade de projetar novas linguagens - Avanço global da computação Introdução - Comunicação com o computador - A programação de computadores começou na década de 30 com o surgimento dos computadores pré-modernos - Em 1948, surgiu a linguagem Plankalkül, mas logo foi esquecida por não ter muita utilidade na época Introdução - A partir da década de 50 foram criadas as primeiras linguagens modernas, como Cobol e Fortran - Entre as décadas de 70 e 80 foram criadas linguagens que são muito importantes até hoje, como C, Prolog, Pascal e C++, e paradigmas de programação junto com elas - Nos anos 90 surgiram Java e PHP Linguagens mais utilizadas 2013 Domínios de Aplicação Aplicações Científicas - Estão relacionadas com computação de grandes dados. A primeira linguagem para aplicações cientificas foi o FORTRAN - Curiosidade: Até hoje, nenhuma linguagem é significativamente melhor que FORTRAN Domínios de Aplicação Aplicações Comerciais - Softwares para controlar e/ou gerenciar empresas em geral Domínios de Aplicação Inteligência Artificial - É uma área abrangente das aplicações de computador caracterizada pelo uso de computações simbólicas ao invés de numéricas. Domínios de Aplicação Programação de Sistemas - Desenvolvimento de Software básico. A programação de sistemas exige linguagem de execução rápida. Domínios de Aplicação Linguagens de Scripting - As linguagens de script servem para estender a funcionalidade de um programa e/ou controlá-lo e são frequentemente usadas como ferramentas de configuração e instalação em sistemas operacionais. São também frequentemente usadas em jogos, como por exemplo, os jogos Impossible Creatures e Tibia, que usa a linguagem Lua para controlar as ações dos personagens e o ambiente de batalha. Características das LP Writability (Capacidade de Escrita) - Refere-se à facilidade de escrever código fonte para a linguagem de programação. O desenvolvedor deve expressar a sua necessidade de uma forma natural Características das LP Readability (Capacidade de Leitura) - Facilidade de seguir a lógica de um programa e descobrir erros apenas lendo o código fonte. Dividir o programa em módulos usando boas práticas de programação, facilita a leitura do código. Características das LP Simplicity (Simplicidade) - Ajuda a manter o programador confiante com relação ao fonte sendo construído. Pode ser alcançada minimizando os recursos utilizados de uma determinada linguagem. Características das LP Safety (Segurança) - Uma linguagem não deve prover formas de escrever códigos que possam gerar resultados danosos. Ex.: Go to, ponteiros e acesso direto à memória. Características das LP Robustness (Robustez) - Refere-se à facilidade de tratamento de exceções em determinada linguagem. Características das LP Factoring (“Fatoração”) - Refere-se à facilidade de o programador modificar a estrutura de um código sem alterar a forma como o código fonte é utilizado Características das LP Locality (Localidade) - Uma alteração feita em determinada parte do código não deve alterar todo o funcionamento do código. (Uso de funções) Características de C - Writability - Readability - Simplicity - Safety - Robustness - Factoring - Locality Dúvidas????