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

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

Linguagens de programação

Apresentações semelhantes


Apresentação em tema: "Linguagens de programação"— Transcrição da apresentação:

1 Linguagens de programação
C#

2 Introdução C# possui melhor balanceamento entre poder e produtividade se comparado com C e C++. Ambiente sincronizado com os padrões Web que proporciona a fácil integração com as aplicações existentes. Possibilidade de codificar em baixo nível quando e se a necessidade aparecer. Linguagem Orientada a Objetos Alto grau de fidelidade com C e C++

3 Visão Geral Produtividade e seguranca
Abraça os padrões de programação Web: framework extensivo Elimina erros de programacao mais comuns em C++ com as seguintes implementacoes: coleta de lixo, variaveis inicializadas automaticamente, variaveis sao type-safe. Reduz os custos de desenvolvimento do dia a dia com suporte pré-construído para versioning

4 Visão Geral Poder, expressividade e seguranca
Melhor mapeamento entre processos abstratos de negocio e a implementacao real do software Interoperabilidade extensiva Suporte nativo para o Component Object Model (COM) e APIs baseadas em Windows®. Uso restrito de ponteiros nativos e premitido.

5 Especificação da Linguagem
Um nome nao pode ser igual a uma palavra-chave da linguagem, com uma unica excecao: podemos usar uma palavra-chave de C# na frente. O nao e parte do identificador, apenas fornece um contexto para interpretar a palavra-chave como interpretador. Os tipos em C# sao tipos de valor e tipos de referencia. Uma constante e uma classe cujo valor pode seratribuido em tempo de compilacao. class Constantes { public const int A = 1; public const int B = A + 1; }

6 Especificação da Linguagem
Arrays: Unidimensionais: int[] arr = new int[5] // Declaracao e construcao Multidimensionais: int[ , , ] a = new int[ , , ] {{1}, {4}, {8}}; // declaracao e construcao de um array de inteiros tridimensional int [][][] j; // array de (array de (array de inteiros))

7 Especificação da Linguagem
Classes: Form Intuitive meaning public Access not limited protected Access limited to the containing class or types derived from the containing class internal Access limited to this program protected internal Access limited to this program or types derived from the containing class private Access limited to the containing type

8 Compilação Os fontes tem extensao “.cs” e sao compilados diretamente para um unico Assembly (“.exe” ou “.dll” no formato PE). Os executaveis possuem informações de versão detalhadas tanto sobre o próprio módulo como os demais módulos referenciados, informações detalhadas de todos os tipos implementados no arquivo e Código MSIL – Microsoft Intermediate Language. Um executável ou DLL pode tanto chamar classes da biblioteca ou de outros executáveis como também criar classes derivadas de classes localizadas em outros executáveis.

9 Compilação Ambiente gerenciado:
O executável não contém código Intel x86 e sim código MSIL com chamadas à biblioteca de classes; O gerenciamento de memória é feito automaticamente com o uso de um coletor de lixo As atribuições têm o tipo validado; Operações que podem comprometer a segurança, como abrir um arquivo, exigem permissões especiais. O compilador pode, em tempo de execução / compilação, verificar e garantir que o programa não faça nenhuma operação que possa comprometer a segurança e integridade do sistema.

10 Compilação Em tempo de execução o código do assembly é finalmente compilado, método a método, para o ambiente final com um “JIT- Just In Time Compiler”. Isto traz as seguintes vantagens: Independência de CPUs e sistema operacional: basta que exista um runtime do “.NET” para o programa rodar. O sistema de runtime pode fazer verificações de segurança impossíveis caso o código fosse realmente executável. Os programas podem rodar em uma espécie de “caixa de areia” e não danificar o sistema hospedeiro. A compilação final traz performance melhor que a obtida em ambientes interpretados.

11 Compilação Verificações em tempo de compilação:
Uso de variáveis não atribuídas; Parâmetro out não atribuído na função de chamada; Parâmetro ref não atribuído na função de chamada; Existência de código inatingível; Possibilidade de uma função não receber o valor de retorno; Switch/Case sem break nas opções; Compilador alternativo gratuito pode ser obtido em:

12 Bibliografia Lippman, Stanley B., C#: um guia pratico, Bookman, 2003.


Carregar ppt "Linguagens de programação"

Apresentações semelhantes


Anúncios Google