C# e sua teoria
C é uma linguagem de programação orientada a estruturas, fundamental para diversos programas internos de um sistema operacional, por exemplo. Não dá pra fazer uma interface gráfica legal com ela. Outra linguagem orientada a estruturas é o pascal.
C++ é uma linguagem de programação orientada a objetos, fundamental para diversos sistemas operacionais e programas usados por nós, com interface gráfica. Outras linguagens orientadas a objetos são C#, Java, JavaScript, Ruby on Rails, ASP, .NET, entre muitas outras.
C# (C sharp) é uma linguagem de programação orientada à objetos de propósitos gerais e fortemente tipada.
Foi criada pela Microsoft e faz parte do framework .NET
.NET Framework é um conjunto de ferramentas criado pela Microsoft que permite uma 'comunicação' entre várias linguagens, graças a um poderoso conjunto de bibliotecas que fazem com que os programas .NET rodem em um ambientechamado CLR(Common Language Runtime), ao invés de rodar diretamente no hardware, como em C, C++ ou Assembly.
Ou seja, existe uma infraestrutura comum entre as linguagens da .NET. Isso se chama CLI - Common Language Infrastructure -, que, sem dúvida, é o grande diferencial da tecnologia .NET.
A framework fornece um conjunto de ferramentas que geram códigos e funcionalidades de baixo nível automaticamente, permitindo que o programador foque seu tempo na lógica e desenvolvimento do programa, ao invés de se preocupar com alguns detalhes do programa/sistema, como o gerenciamento de memória e garbage collector, aumentando a eficiência do programador.
Assim como muitas outras, é multi-paradigma. Porém, uma das características do C# é portabilidade, como por exemplo, para sistemas embarcados
DIFERENCIAL DA LINGUAGEM C#
O 'C' de C#, assim como o 'C' de C++, e de Objective-C não são por acaso. A sintaxe é inspirada na linguagem C.
Orientação a objetos, gerenciamento automático