O Que é C#?
A linguagem C# (lê-se “cêsharp”) foi criada juntamente com a arquitetura da plataforma .NET da Microsoft. Construída do zero, sem se preocupar com compatibilidade de código legado, e a maioria das classes do framework .NET foram escritas com essa linguagem. Vários desenvolvedores participaram do projeto de criação da linguagem, mas o principal envolvido no projeto foi o engenheiro Anders Hejlsberg, que além do C# foi criador do Turbo Pascal e do Delphi.
O nome C# fez com que muitas pessoas pensassem que a cerquilha (#) seria uma sobreposição de quatro símbolos de adição, dando assim a entender que poderia ser um C++++, mas na verdade o símbolo # se refere ao sinal musical de sustenido (#), que indica meio tom acima de uma determinada nota musical. Possui uma sintaxe expressiva, elegante e é totalmente orientada a objetos.
Origem do C#
Durante muito tempo, a Microsoft utilizou a linguagem Java, que possui, inclusive, as mesmas funcionalidades que o C#. Entretanto, havia o problema de não ser compatível com bibliotecas de código nativo. O que, para a empresa, prejudicava os trabalhos.
Para solucionar a questão, ela desenvolveu uma implementação própria do Java, o chamado J++. Porém, novamente, os problemas começaram a surgir. Isso porque ele somente era executado no ambiente Microsoft – o que violava o licenciamento feito pela SUN, empresa desenvolvedora do Java.
Após processos e multas milionárias que este empecilho gerou, a empresa teve que se reinventar. Foi aí que ela criou uma plataforma que seria a base de todas as suas soluções: o “.net”.
Com o “.net” se firmando – o que não demorou muito para ocorrer -, a Microsoft voltou os seus esforços para a criação de uma nova linguagem de programação que fosse democrática e fácil de ser utilizada.
Foi aí que surgiu o C-Sharp. Sua linguagem é baseada em outras versões do mercado que também são bastante utilizadas pelos desenvolvedores web, como C++, C, VB e o próprio Java.
Através dele, é possível criar aplicativos robustos e seguros. Além disso, possibilitar que uma mesma aplicação possa ser executada em diversos dispositivos – sejam PCs ou dispositivos móveis.
Características do C#
Assim como o Java, o C-Sharp utiliza o conceito de máquina virtual. Trata-se do CLR (Common Language Runtime), que é uma espécie de computador virtual que gerencia a execução de programas que utilizam a plataforma “.net”.
Como o CLR é um ambiente de execução de todas as linguagens da plataforma, ele executa o código em uma linguagem intermediária, conhecido como CIL (Common Intermediate Language). Desta forma, oferece mais segurança e desempenho para o processo.
Veja um exemplo para entender melhor esse funcionamento:
- Um código gerado pelo C-Sharp é transmitido por um compilador de linguagem que o transforma em uma linguagem intermediária;
- Em seguida, o CRL captura esse código e, utilizando o compilador JIT (Just in Time), o converte em código de máquina;
- Somente após isso é que o código é efetivamente executado.
Apesar de, aparentemente, transparecer ser um processo grande, burocrático e demorado, o desempenho da execução do código escrito em C-Sharp é excelente, além de seguro e eficiente.
A ideia mais utilizada para desenvolvimento em C-Sharp é o Visual Studio. Para executar uma aplicação em C-Sharp, é necessária uma máquina virtual de linguagem, além das bibliotecas do “.net".
Mas fique tranquilo que tudo isso já vem junto com a instalação do Visual Studio. Ele inclui, por exemplo:
- Compiladores;
- Intelligence;
- Designers gráficos.
É possível utilizar o Visual Studio em versões gratuitas, que são muito úteis para quem está começando e aprendendo sobre suas funcionalidades, ou nas suas edições pagas e mais completas – ideais para profissionais e empresas.
Funcionalidades do C#
Com ele, é possível criar, por exemplo:
- Aplicativos cliente-servidor;
- Serviços web XML;
- Componentes distribuídos;
- Aplicativos de banco de dados.
Alguns recursos do C-Sharp auxiliam na construção de aplicativos duráveis e robustos, como:
- Coleta de lixo: Recupera a memória ocupada por arquivos não-utilizados e inacessíveis de forma automática;
- Tratamento de exceção: Fornece uma abordagem extensiva e estruturada, a fim de detectar e recuperar erros;
- Design tipado: Impossibilita a realização da leitura de variáveis não-inicializadas e a indexação de matrizes além dos seus limites. Evita, ainda, que sejam executadas conversões de tipos não-verificadas.
Ele conta com outros recursos muito úteis para os desenvolvedores, incluindo:
- Tipo de valor anulável;
- Enumerações;
- Delegates;
- Expressões lambda;
- Acesso direto à memória.
Conclusão
C# é uma linguagem de programação versátil e poderosa usada em uma ampla variedade de aplicações. Este artigo forneceu uma visão geral básica, e há muito mais a aprender sobre a linguagem, como recursos avançados de programação orientada a objetos, desenvolvimento de aplicativos Windows, aplicativos para a Web e muito mais. Se você está interessado em programação, C# é uma excelente linguagem para se aprofundar.
Lembre-se de que a prática é fundamental para se tornar um desenvolvedor proficiente em C#, por isso separamos uma seção ao lado desse texto chamada "Sites de Aprendizado", onde você encontra algumas opções de cursos para iniciar ou aperfeiçoar seu conhecimento em C#.