O que é o C# (C Sharp)?

C#Este é o meu primeiro post do site, então resolvi falar sobre este assunto, devido a uma pergunta que me fizeram recentemente, o que é o C# (C Sharp)?.

C Sharp ou C#, é uma linguagem de programação da Microsoft orientada a objetos, fortemente tipada, ela faz parte da plataforma .NET. Sua sintaxe foi baseada no C++.

O C# é uma linguagem de programação visual dirigida por eventos e totalmente orientada a objetos. Os aplicativos C# podem interagir pela Internet usando padrões do setor, como SOAP (protocolo de acesso a objetos simples) e XML (linguagem de marcação extensível).

O C# tem raízes em C, C++ e Java, adaptando os melhores recursos de cada linguagem e acrescentando novas capacidades próprias. Ele fornece os recursos que são mais importantes para os programadores, como programação orientada a objetos, strings, elementos gráficos, componentes de interface com o usuário gráfica (GUI), tratamento de exceções, múltiplas linhas de execução, multimídia (áudio, imagens, animação e vídeo), processamento de arquivos, estruturas de dados pré-empacotadas, processamento de banco de dados, redes cliente/servidor com base na Internet e na World Wide Web e computação distribuída.

Dentre as características essenciais do C# podemos citar:

  • Simplicidade: os projetistas de C# costumam dizer que essa linguagem é tão poderosa quanto o C++ e tão simples quanto o Visual Basic;
  • Completamente orientada a objetos: em C#, qualquer variável tem de fazer parte de uma classe;
  • Fortemente tipada: isso ajudará a evitar erros por manipulação imprópria de tipos e atribuições incorretas;
  • Gera código gerenciado: assim como o ambiente .NET é gerenciado, assim também é o C#;
  • Tudo é um objeto: System.Object é a classe base de todo o sistema de tipos de C#;
  • Controle de versões: cada assembly gerado, seja como EXE ou DLL, tem informação sobre a versão do código, permitindo a coexistência de dois assemblies homônimos, mas de versões diferentes no mesmo ambiente;
  • Suporte a código legado: o C# pode interagir com código legado de objetos COM e DLLs escritas em uma linguagem não-gerenciada;
  • Flexibilidade: se o desenvolvedor precisar usar ponteiros, o C# permite, mas ao custo de desenvolver código não-gerenciado, chamado “unsafe”;
  • Linguagem gerenciada: os programas desenvolvidos em C# executam num ambiente gerenciado, o que significa que todo o gerenciamento de memória é feito pelo runtime via o GC (Garbage Collector).

As desvantagens da utilização da linguagem são:

  • Os programas e componentes antigos devem ser reescritos;
  • Difícil aprendizado para programadores mais ortodoxos;
  • Não é uma linguagem de médio nível.

O C# deve ser compilado e com isso será gerado um arquivo com extensão DLL ou EXE. Para roda-lo, é invocado o runtime do .NET e quando é feita uma solicitação a esse arquivo, é carregado para a memória um código IL que é compilado em tempo de execução para o computador que o solicitou.

Ao contrário das outras linguagens de programação, nenhuma implementação de C# atualmente inclui qualquer conjunto de bibliotecas de classes ou funções. Mesmo assim, esta linguagem está muito vinculada à plataforma .NET, da qual obtém as suas classes ou funções de execução. O código é organizado num conjunto de espaços de nomes que agrupam as classes com funções semelhantes. Por exemplo, System.Windows.Forms contém o sistema Windows Forms; System.Console é usado para entrada/saída de dados.

Um nível de organização superior é fornecido pelo conceito de montador, que pode ser um simples arquivo ou múltiplos arquivos ligados juntos que podem conter muitos espaços de nomes ou objetos. Programas que precisam de classes para realizar uma função em particular podem se referenciar aos montadores como System.Drawing.dll e System.Windows.Forms.dll assim como a biblioteca core (conhecida como mscorlib.dll na implementação da Microsoft).

Hoje a IDE de desenvolvimento mais utilizada é a da própria Microsoft, o Visual Studio, onde possui versões gratuitas e pagas da ferramenta.

Espero ter sido bem claro nesse primeiro artigo, muitos outros virão em breve, um abraço a todos.

Referências:

http://pt.wikipedia.org/wiki/C_Sharp
http://www.geocities.ws/familiacpp/page3.html
http://msdn.microsoft.com/pt-BR/vstudio/aa718325.aspx

Posted in .NET, Blog, C# and tagged , , , , .

One Comment

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *