Linguagem C# para um desenvolvedor efetivo

29/9/2011 18:21:08 - Fábio Ferreira de Souza

Histórico do C# e recursos disponíveis:

2002 - Versão 1

Inicio do C# baseado basicamente em C++ e Java

2005 - Versão 2

  • Generics
    Reuso de código mas perde-se performance
  • Iterators
  • Partial (Classes Parceiais)
    Organização dos códigos
  • Tipos Anuláveis (null)
  • Métodos Anônimos
  • Classes estáticas (static)
  • tipo de acessores diferentes para GET/SET

2007 - Versão 3

  • LINQ
    • var (supersintaxe: variável não tipada, mas compilado com um tipo deduzido)
    • Métodos de extensão
    • Expressões lambdas
    • Iniciadores de Objetos
    • Tipos anônimos
  • Arvore de Expressão
  • Propriedades Automáticas
  • Métodos Parciais
  • Iniciadores de coleções

2010 - Versão 4

  • Método com parâmetros/argumentos opcionais (default)
  • Interoperabilidade com COM
  • Objetos com Tipagem dinâmica (dynamic)
  • Covariância e contravariância:

2012 - Versão 5

  • TAP – Task-based – execução assíncrona (Task)
    • async e await

? - Versão 6

  • Projeto Roslyn
    • Compiler as a Service (CaaS)
    • API de compilador
      • Arvore de sintaxe
      • Simbolos
      • Binding
      • Emit API

Caramba… muito coisa que o C# faz…