Anders Hejlsberg, que fora escolhido pela Microsoft para desenvolver a linguagem. D se incio criao da linguagem chamada Cool. Um pouco mais tarde, em 2. NET era apresentado ao pblico na Professional Developers Conference PDC, e a linguagem Cool fora renomeada e apresentada como C. A criao da linguagem, embora tenha sido feita por vrios programadores, atribuda principalmente a Anders, hoje um Distinguished Engineer na Microsoft. Ele fora o arquiteto de alguns compiladores da Borland, e entre suas criaes mais conhecidas esto o Turbo Pascal e o Delphi. A Microsoft submeteu o C ECMA para uma padronizao formal. Design aims. The differences between the programming languages C and Java can be traced to their heritage, as they have different design goals. Em Dezembro de 2. ECMA 3. 34 Especificao da Linguagem C. Em 2. 00. 3 tornou se um padro ISO ISOIEC 2. H algumas implementaes em desenvolvimento, destacando se a Mono, implementao open source da Novell, o dot. GNU e o Portable. NET, implementaes da Free Software Foundation, e o BDS 2. Code. Gear. Pensava se que o nome C viria duma sobreposio de quatro smbolos, dando a impresso de, uma aluso continuao do C. Entretanto, a cerquilha de C se refere ao sinal musical sustenido, em ingls sharp, que aumenta em meio tom uma nota musical. Porm, devido a limitaes tcnicas fontes padres, navegadores, etc e o fato do smbolo no estar presente nos teclados, o cerquilha foi escolhido para ser usado no nome escrito. Essa conveno refletida no ECMA 3. C Language Specification, a especificao tcnica da linguagem. Entretanto, em determinados lugares, como em propagandas e capas de livros, usado o smbolo de sustenido. C 1. Alia o poder de C com a simplicidade do Visual Basic. Cdigo gerenciado com a noo de assemblies carregando o bytecode com segurana embutida e controle de verses. Orientao a objeto. Tudo deriva de Object. Os tipos so Estruturas, Enumeraes, Classes, Interfaces, Delegados e Ponteiros s em contexto unsafeTipagem esttica. Eventos. Interoperabilidade com cdigo no gerenciado atravs de DLL nativa e componentes COMColetor de lixo de memria baseado em geraes. Compilador Just in time. Facilidades de integrao com ferramentas e IDESintaxe para documentao. Sistema de exceo uniforme. Mecanismo de metadados. Extensiva biblioteca padro. Tipos e mtodos genricos. Tipos Parciais. Mtodos annimos. Iteradores. Tipos anulveis. Acessibilidade separada para Gettersetter. Converses de grupo de mtodos para delegados. Co e Contravarincia para delegados. Classes estticas. Inferncia de delegado. Variveis locais implicitamente tipadas. Inicializadores de objetos e colees. Propriedades auto implementadas. Tipos annimos. Mtodos de extenso. Expresses de consulta. Expresses Lambdarvores de expresso. Mtodos parciais. Vinculao dinmica. Argumentos nomeados e opcionais. Co e contravarincia genrica. Tipos embutidos de interoperabilidade No. PIA4. 0Mtodos assncronos. Atributos de informao do chamador. Compilador como servio RoslynImportao de membros de tipos estticos no espao de nomes. Filtros de exceo. Await em blocos catchfinally. Inicializadores de propriedades automticas. Valores padres para propriedades apenas getter. Membros com corpos como expresso. Propagador de Null operador condicional de null, checagem de null sucinta4. Interpolao de string. Operador nameof. Inicializador de dicionrio. Caractersticas em processo de desenvolvimento. Literais binrios. Separadores de dgitos. Funes locais. Switch para tipos. Retorno de referncias. Tuplas. Declarao Out Out var ou Out tipoPattern Matching. Returno de async arbitrrio. Registros RecordO C uma linguagem de programao visual dirigida por eventos e totalmente orientada a objetos. Permite um novo grau de intercmbio entre linguagens componentes de software de diferentes linguagens podem interagir. Os desenvolvedores podem empacotar at software antigo, para trabalhar com novos programas C. Alm disso, os aplicativos C podem interagir pela Internet usando padres do setor, como SOAP protocolo de acesso a objetos simples e XML linguagem de marcao extensvel. O C tem razes em C, C e Java, adaptando os melhores recursos de cada linguagem e acrescentando novas capacidades prprias.