Partilhar via


Introdução

Esta especificação é baseada em um envio da Hewlett-Packard, Intel e Microsoft, que descreveu uma linguagem chamada C#, que foi desenvolvida dentro da Microsoft. Os principais inventores desta língua foram Anders Hejlsberg, Scott Wiltamuth e Peter Golde. A primeira implementação amplamente distribuída do C# foi lançada pela Microsoft em julho de 2000, como parte de sua iniciativa .NET Framework.

O Ecma Technical Committee 39 (TC39) [mais tarde renomeado para TC49] Task Group 2 (TG2) foi formado em setembro de 2000, para produzir um padrão para C#. Outro Grupo de Tarefas, o TG3, também foi formado na época para produzir um padrão para uma biblioteca e um ambiente de execução chamado Common Language Infrastructure (CLI). (A CLI é baseada em um subconjunto do .NET Framework.) Embora a implementação do C# pela Microsoft dependa da CLI para suporte à biblioteca e ao tempo de execução, outras implementações do C# não precisam, desde que suportem os recursos e a API exigidos por esse padrão C# (consulte o Anexo C).

À medida que a definição de C# evoluiu, os objetivos utilizados em seu design foram os seguintes:

  • C# destina-se a ser uma linguagem de programação simples, moderna, de uso geral e orientada a objetos.
  • A linguagem e suas implementações devem fornecer suporte para princípios de engenharia de software, como verificação de tipo forte, verificação de limites de matriz, deteção de tentativas de uso de variáveis não inicializadas e coleta automática de lixo. A robustez, a durabilidade e a produtividade do programador são importantes.
  • A linguagem destina-se ao uso no desenvolvimento de componentes de software adequados para implantação em ambientes distribuídos.
  • A portabilidade do código-fonte é muito importante, assim como a portabilidade do programador, especialmente para aqueles programadores já familiarizados com C e C++.
  • O apoio à internacionalização é muito importante.
  • O C# destina-se a ser adequado para escrever aplicações para sistemas hospedados e embarcados, desde os muito grandes que usam sistemas operacionais sofisticados, até os muito pequenos com funções dedicadas.
  • Embora os aplicativos C# se destinem a ser econômicos em relação aos requisitos de memória e poder de processamento, a linguagem não foi projetada para competir diretamente em desempenho e tamanho com a linguagem C ou assembly.

O nome C# é pronunciado "C Sharp".

O nome C# é escrito como a LETRA MAIÚSCULA LATINA C (U+0043) seguida pelo SINAL DE NÚMERO # (U+0023).