A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução a Linguagens de Programação

Apresentações semelhantes


Apresentação em tema: "Introdução a Linguagens de Programação"— Transcrição da apresentação:

1 Introdução a Linguagens de Programação
Profº. Johni Douglas Marangon lp.johnidouglas.com.br

2 Histórico Década de 1940 surge os primeiros computadores programados em linguagem de máquina – zeros e uns. Década de 1950 surgem as linguagem simbólicas/assembly. As instruções de máquina eram representadas por mnemônicos. Logo após surgem os “macros” que abreviavam uma sequencia de mnemônicos. Na segunda metade da década de 1950 começam a surgir as linguagem de alto nível. Fortran – computação cientifica. Cobol – processamento de dados comerciais. Lisp – Computação simbólica.

3 O grande beneficio dessa linguagens era a possibilidade de escrever código com mais facilidade.
Nesse momento temos o surgimento da era das “linguagens de ordem mais alta” que distingue as linguagens de programação de alto nível e independente de máquina. Centenas de linguagem forma surgindo com o tempo. Algumas tiveram um grande sucesso e outras influenciaram projetos de novas linguagens.

4

5 Existem varias formas de classificar as linguagem de programação.
Classificação das linguagem de programação quanto a sua geração. Primeira geração: Linguagem de máquina. Segunda geração: Linguagem de simbólica/assembly. Terceira geração: Linguagem de alto nível voltada para programadores. Quarta geração: Linguagem cridas para aplicações especificas. Quinta geração: Linguagem baseadas em lógica. Classificação quanto a forma. Linguagem imperativas: determina “COMO” o processo deve ser feito. É baseada em estados definidos em variáveis e ações. Ex: Java, C. Linguagem declarativas: O próprio programa determina “O QUE” deve ser realizado. Ex: HTML, SQL.

6 Fundamentos Para se tronar um bom usuário de linguagem de programação é importante conhecer suas características, pontos fortes e fracos. Três princípios de linguagem de programação (TUCKER, 2008). Sintaxe: É como o programa está estruturalmente correto. Conjunto básico de palavras e símbolos. Nomes e tipos: Vocabulário da linguagem de programação, regras de nomes de entidades, escopo de visibilidade, tipos de dados. Semântica: Efeito que cada comandos tem sobre os valores de identificadores, como exemplo temos o efeito de um comando de atribuição a uma variável, conversão de tipos de dados.

7 Benefícios estudo Linguagem de Programação
Capacidade aumentada para expressar ideias: Reduz as limitações ao desenvolver um software e aumentada. Embasamento para escolher linguagens adequadas: Saber escolher a linguagem que melhor se adapte ao seu problema. Habilidade aumenta em aprender novas linguagens: O desenvolvimento de software é uma profissão de aprendizagem continuo, conhecer os conceitos de programação torna esse processo mais fácil. Melhor entendimento da importância da implementação: Ao estender os aspectos de uma linguagem de programação nos leva usar de maneira mais inteligente uma forma de programação.

8 Melhor uso de linguagens já conhecidas: Estudar os recursos desconhecidos das linguagens de programação a fim de obter melhores resultados. Avanço geral da computação: Novas linguagens de programação e recursos surgem a todo o momento entender as novidade nos auxiliam a tomar melhores decisões.

9 Aplicação de linguagens de programação
Aplicações cientificas: Aplicação dos primeiros computadores digitais, se caracteriza por operações com pontos flutuantes e estrutura de vetores e matrizes. Aplicações empresariais: Inicio na década de 1950 com o Cobol e se caracteriza pela facilidade de gerar relatório e armazenar e recuperar dados. Inteligência artificial: Uso de computação simbólica nos quais símbolos são manipuladores, primeira linguagem desenvolvida foi o LISP.

10 Programação de sistemas: ferramentas que dão suporte ao desenvolvimento de software. IDE e compiladores. Software para web: possui uma infinidade de linguagens sendo utilizadas que vão desde linguagem de marcação até linguagens de programação.

11 Critérios avaliação linguagens de programação
Um dos objetivos do estudo de linguagem de programação é avaliar os recursos e impactos que as linguagens de programação tem no desenvolvimento e manutenção de software. Legibilidade: facilidade de escrita e entendimento aplicados ao contexto do domínio do programa. Simplicidade geral: Linguagem com muitas construções básicas é de difícil aprendizado, uma linguagem com muitos recursos também tem complicadores. Ortogonalidade: Conjunto de instruções que permitem um número pequeno de maneiras de construir estrutura de controle, combinação de conceitos. Possibilidade de passar parâmetros por valor e referencia. Passar uma função como parâmetro. Fazer operações com tipos de dados diferentes.

12 Tipos de dados: Mecanismos para definir tipos de dados e estrutura de dados de forma legível e eficiente. Projetos de sintaxe: Forma como os identificadores são declarados e a expressividade das palavras. Facilidade de escrita: Facilidade de escrita de uma linguagem para um determinado problema. Simplicidade de ortogonalidade: Se uma linguagem possui um conjunto muito grande de possiblidade de construções ele pode levar ao uso incorreto de alguns deles. Suporte a abstração: Definir estruturas onde determinados detalhes pode ser omitidos ou ignorados. Exemplo uso de subprogramas. Expressividade: Meio de construir objetos de forma direta e objetiva. Um exemplo e o uso de count++ ao invés de count = count + 1.

13 Confiabilidade: Fator muito importante na escolha da linguagem de programação.
Verificação de tipos: Etapa normalmente executada pelo compilador. Usada para evitar erros de tipos em tempo de execução. Tratamento de exceções: Habilidade do programa de interceptar erros e tomar medidas corretivas. Uso de apelidos: Definição de diversos apelidos a nomes envolvidos na escrita de um código. Legibilidade de facilidade de escrita: Meios naturais de expressar algoritmos.

14 Projetos de linguagens de programação
Os projetistas de linguagem de programação devem criar meios para permitir aos programadores resolver seus problemas. Os seguintes elementos impõem restrições a um projeto de linguagem de programação. Arquitetura: Permite definir a melhor utilidade de um computador a um domínio de aplicação. Podem surgir necessidade de uma linguagem ser projetada para uma arquitetura especifica. Configuração técnica: As linguagens de programação deve satisfazer imposições técnicas nas quais elas forma utilizadas. Ex: sistemas operacionais, IDE, redes.

15 Padrões: esforço para definir padrões ao qual os programadores deve aderir, o processo de padronização muitas vezes é lento e burocrático. É acompanhado por diversos profissionais envolvidos. A ISO e ANSI são duas das maiores organizações que supervisiona e mante padrões. Sistemas legados: São software antigos mantidos pela equipe de desenvolvimento. As novas versões da linguagem de programação deve dar suporte ao código mais antigo sem prejudicar a sua integridade.

16 Paradigmas de linguagem de programação
Paradigma é um padrão, norma, exemplo. Na programação é um padrão para a solução de problemas racionados a um determinado gênero de programas e linguagens. Algumas linguagens de programação suportam mais de um paradigma de programação. Programação orientada a objetos: O programa é uma coleção de objetos que interagem entre si passando mensagens que transformam o seu estado. Programação Funcional: Um problema é tratado com uma coleção de funções matemáticas. As funções interagem entre si usando composição funcional, condições e recursão.

17 Programação lógica: Modela um problema declarando qual resultado deve obter e não como ele deve ser obtido. Programação orientada a eventos: Definimos também como manipulação de eventos e ocorre de forma espontânea, esta acoplado a programação orientada a objetos. Exemplo: ações em tela, clique de mouse, pressionamento de teclas. Programação imperativa: O programa e as suas variáveis estão armazenadas juntas e o programa possui uma serie de cálculos para atribuir valores a variáveis, obter entradas, produzir saídas ou direcionar para outros pontos. Programação orientada a aspectos: Separa o código de acordo com a sua importância. Estende a programação orientada a eventos.

18 Programação concorrente: Acoplada a programação orientada a objetos, funcional, lógica e imperativa e se caracteriza pelo acesso a elementos que compartilham a mesma informação. Programação reflexiva: capacidade de um programa de se auto modificar em tempo de execução. Também é conhecido como meta programação. Ex: Criar um função em tempo de execução.

19 Ambiente de desenvolvimento
É uma coleção de ferramentas usadas no processo de desenvolvimento de um software. Normalmente é composta por uma IDE e um compilador. Pode incluir um conjunto muito grande de ferramentas e tem como objetivo otimizar as fazes de desenvolvimento de um software. O ALM - Application Lifecycle Management – reúne um conjunto de ferramentas e processos envolvidos em todo o ciclo de vida de uma aplicação. É importante destacar que os processos deve ser automatizados para evitar falhas, diminuir o tempo de resposta e evitar desperdício de tempo.

20 Processo envolvidos em um ALM.
Gerencia de requisitos. Gerencia de configuração, mudanças e build. Gerencia de testes. As ferramentas devem promover a integração e comunicação entre membros da equipe. Sistemas de controle de versão. IDE. Sistemas de gerenciamento de bugs. Sistemas de gerenciamento de projetos.


Carregar ppt "Introdução a Linguagens de Programação"

Apresentações semelhantes


Anúncios Google