Você está na página 1de 4

C# - Estudo sobre essa Linguagem de Programao:

C, tambm escrito como C# ou C Sharp (em portugus l-se "c charp"), uma linguagem de programao orientada a objetos, fortemente tipada, desenvolvida pela Microsoft como parte da plataforma .NET. A sua sintaxe orientada a objetos foi baseada no C++ mas inclui muitas influncias de outras linguagens de programao, como Object Pascal e Java. Histria Durante o desenvolvimento da plataforma .NET, as bibliotecas foram escritas originalmente numa linguagem chamada Simple Managed C (SMC), que tinha um compilador prprio. 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 criao da linguagem chamada Cool. Um pouco mais tarde, em 2000, o projeto .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. Em Dezembro de 2001 a associao liberou a especificao ECMA-334 Especificao da Linguagem

C#. Em 2003 tornou-se um padro ISO (ISO/IEC 23270). H algumas implementaes em desenvolvimento, destacando-se a Mono, implementao open source da Novell, o dotGNU e o Portable.NET, implementaes da Free Software Foundation, e o BDS 2008, implementao da CodeGear. A Microsoft anunciou planos de adicionar o suporte a tipos parciais, generics e outras caractersticas. A padronizao pela ECMA/ISO destas caractersticas foi solicitada, mas ainda no so parte da verso padro da linguagem. Etimologia Pensava-se que o nome C# viria duma sobreposio de quatro smbolos +, dando a impresso de ++++, uma aluso continuao do C++. Entretanto, o # de C# se refere ao sinal musical sustenido (), pronunciado sharp em ingls, que aumenta em meio tom uma nota musical.[4] Porm, devido a limitaes tcnicas (fontes padres, navegadores, etc) e o fato do smbolo do sustenido () no estar presente nos teclados, o cerquilha (#) foi escolhido para ser usado no nome escrito.[5] Essa conveno refletida no ECMA-334 C# Language Specification, a especificao tcnica da linguagem.[6] Entretanto, em determinados lugares, como em propagandas e capas de livros, usado o smbolo sustenido.[7] Caractersticas

A linguagem suporta ponteiros atravs da palavra reservada unsafe (cdigo noseguro), que obrigatrio. Seu uso no aconselhvel, e blocos de cdigos que o usam geralmente requisitam permisses mais altas de segurana para poderem ser executados. As operaes aritmticas so verificadas contra transbordamento de dados. C# tambm suporta as operaes aritmticas bsicas como adio, subtraco, multiplicao e diviso. Esses smbolos so chamados operadores, e "operam" os valores das variveis. Um coletor de lixo tambm suportado, um processo usado para a manuteno de memria. Com este recurso, possvel recuperar a zona de memria que um programa j no utiliza. Quando isto no ocorre pode acontecer a chamada perda de memria, um erro comum que pode levar ao trmino no desejado do programa em execuo por esgotamento da memria livre. Em C# no existe herana mltipla, ou seja, cada classe s pode herdar apenas uma outra classe e no mais do que uma, no entanto possvel simular herana mltipla utilizando interfaces. Atravs da herana reduz-se o cdigo atravs da sua reutilizao. Os gabaritos no so suportados, mas a linguagem possui um suporte abrangente a generics. Nela podem se usar tipos genricos para a maximizao da reutilizao de cdigo, segurana de tipo, e desempenho. A utilizao mais frequente para a criao de classes. Pode criar as suas prprias interfaces genricas, mtodos, classes, eventos e delegates. As classes genricas podem ser utilizadas para permitir acesso

aos mtodos usando tipos de dados especficos. Informaes sobre os tipos usados em um tipo de dados genrico podem ser obtidas em tempo de execuo por meio de reflexo. Passagem de parmetros H trs tipos de passagem de parmetros em C#, por valor, por referncia e por sada. Na passagem por valor feita uma cpia do argumento da chamada do mtodo para o parmetro do mesmo. Isso significa que as alteraes que ocorrem nas variveis passadas por cpia dentro do mtodo no se refletem fora dele. Na passagem por referncia toda alterao feita na varivel passada por referncia dentro do mtodo alterar tambm seu valor fora dele. Por padro todo objeto e vetor so passados por referncia e toda estrutura e variveis primitivas so passadas por valor. Para se forar a passagem por referncia, tanto a chamada do mtodo como a declarao dele devem estar com os argumentos e parmetros precedidos pelas palavras reservadas ou ref ou out. A primeira usada para se manipular um parmetro j inicializado antes da chamada do mtodo, de forma a somente edit-lo. A segunda usada para se inicializar um parmetro durante a execuo do mtodo, retornando o resultado para o mtodo que o chamou. Exemplos de cdigo Segue, abaixo, o programa teste Ol Mundo, que exibe a frase "Ol, Mundo!": using System; namespace Teste { class OlaMundo { static void Main() { Console.WriteLine("Ol, Mundo!"); } } } Bibliotecas Ao contrrio das outras linguagens de programao, nenhuma implementao de C# actualmente inclui qualquer conjunto de bibliotecas de classes ou funes. Mesmo assim, esta linguagem est muito vinculada plataforma .NET, da qual obtm as suas classes ou funes de execuo. O cdigo organizado num conjunto de espaos de nomes que agrupam as classes com funes semelhantes. Por exemplo, System.Windows.Forms contm o sistema Windows Forms; System.Console usado para entrada/sada de dados. Um nvel de organizao superior fornecido pelo conceito de montador, que pode ser um simples arquivo ou mltiplos arquivos ligados juntos que podem conter muitos

espaos de nomes ou objetos. Programas que precisam de classes para realizar uma funo 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 implementao da Microsoft). Poltica Muitos dos produtos e iniciativas da Microsoft geram polmica no campo poltico e a criao e desenho da C# no foi exceo. Devido natureza fechada do C# com uma instituio comercial, a discusso poltica continua em relao legitimidade da sua normalizao, as suas semelhanas com Java, o seu futuro como uma linguagem de uso geral e outros assuntos. Alguns peritos em segurana se encontram cpticos em relao eficcia do mecanismo de segurana do CLR e criticam a sua complexidade. Ao contrrio de linguagens proprietrias tal como a Visual Basic, a Microsoft optou por submeter a C# a um processo de normalizao. No entanto, a empresa continua a ser a principal fora a induzir mudanas e inovao na linguagem. Alm disso, a Microsoft tornou bem claro que a C#, tal como outras linguagens .NET, uma parte importante da sua estratgia de software, tanto para uso interno e para consumo externo. A Microsoft leva a cabo um papel activo em publicitar a linguagem como uma componente da sua estratgia global de negcios.