C Sharp

C♯, também escrito como C# ou C Sharp (em português lê-se "cê charp"), é uma linguagem de programação orientada a objetos, também podendo ser usada como programação estruturada ou imperativa, ela é fortemente tipada sendo considerada uma das linguagens mais seguras do mercado, desenvolvida pela Microsoft como parte da plataforma .NET. Surgiu em 2001, a sua sintaxe orientada a objetos foi baseada no C++ mas inclui muitas influências de outras linguagens de programação, como Object Pascal e Java.





História


A linguagem C# faz parte do conjunto de ferramentas oferecidas na plataforma .NET e surge como uma linguagem simples, robusta, orientada a objetos, fortemente tipada e altamente escalável a fim de permitir que uma mesma aplicação possa ser executada em diversos dispositivos de hardware, independentemente destes serem PCs, handhelds ou qualquer outro dispositivo móvel.



O avanço das ferramentas de programação e dos dispositivos eletrônicos inteligentes, criou problemas e novas exigências. As novas versões de componentes compartilhados eram incompatíveis com o software antigo. Os desenvolvedores reconheceram a necessidade de software que fosse acessível para qualquer um e disponível por meio de praticamente qualquer tipo de dispositivo. Para tratar dessas necessidades, a Microsoft anunciou sua iniciativa .NET e a linguagem de programação C#.



Durante o desenvolvimento da plataforma .NET, as bibliotecas foram escritas originalmente numa linguagem chamada Simple Managed C (SMC), que tinha um compilador próprio. Mas, em Janeiro de 1999, uma equipe de desenvolvimento foi formada por Anders Hejlsberg, que fora escolhido pela Microsoft para desenvolver a linguagem. Dá-se inicio à criação da linguagem chamada Cool. Um pouco mais tarde, em 2000, o projeto .NET era apresentado ao público na Professional Developers Conference (PDC), e a linguagem Cool fora renomeada e apresentada como C#.



A criação da linguagem, embora tenha sido feita por vários programadores, é atribuída principalmente a Anders, hoje um Distinguished Engineer na Microsoft. Ele fora o arquiteto de alguns compiladores da Borland, e entre suas criações mais conhecidas estão o Turbo Pascal e o Delphi.


A Microsoft submeteu o C# à ECMA para uma padronização formal. Em Dezembro de 2001 a associação liberou a especificação ECMA-334 Especificação da Linguagem C#. Em 2003 tornou-se um padrão ISO (ISO/IEC 23270). Há algumas implementações em desenvolvimento, destacando-se a Mono, implementação open source da Novell, o dotGNU e o Portable.NET, implementações da Free Software Foundation, e o BDS 2008, implementação da CodeGear.


Principais características



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).

Artigos relacionados:

Paradigmas de Programação, clique aqui!


Otimize suas aplicações usando Threads, clique aqui!



Saiba mais sobre Programação em Camadas, clique aqui!



Saiba mais sobre os Tipos de Programadores, clique aqui!



Desenvolvendo um Aplicativo Web em C# .NET, 


Desenvolvendo um Aplicativo Desktop Loja em C# .NET

Tiago Sousa

Sou Desenvolvedor Web Full-Stack com ênfase em Java, atuando no mercado de TI há 15 anos. Ao longo da carreira, adquiri conhecimentos sólidos e abrangentes em diversas tecnologias.