Está en la página 1de 22

Linguagem de

Programao C#
C#
Orientada a objetos, fortemente tipada,
desenvolvida pela Microsoft como parte da
plataforma .NET.

Sua sintaxe foi baseada no C++, mas inclui
varias influncias de outras linguagens de
programao, como Object Pascal e Java


Linguagem Smbolo do .NET
Foi criada praticamente do zero para
funcionar na nova plataforma, sem
preocupaes de compatibilidade com
cdigo de legado.
O compilador C# foi o primeiro a ser
desenvolvido.

A maior parte das classes do .NET
Framework foram desenvolvidas em C#.






Surgimento
Durante o desenvolvimento da
plataforma .NET em 1999, uma
equipe de desenvolvimento
formada por Anders Hejlsberb e
outros profissionais, criaram um
linguagem chamada Cool, em
2000 quando o projeto .NET foi
apresentado ao pblico, o nome
passou a ser C#.
Anders Hejsberb
(Desenvolveu tambm o
Turbo Pascal e o Delphi)
Histria do Nome
No principio pensou-se que o
nome C#, era um sobreposio
de quatro smbolo de +, uma
aluso continuao do C++.
Porm, o # se refere ao sinal
musical sustenido, pronunciado
em ingls sharp. Como no
existe no teclado o sustenido,
optou-se pelo uso da
cerquilha(#) na escrita do
nome.


C , C++, C#?!
C - Linguagem estruturada, altamente bem
implementada, a qual foi usada
para desenvolver os SO's mais famosos
existentes, como o Unix, Linux e Windows.
Essa linguagem famosa pois permite
trabalhar diretamente com os endereos de
memria (ponteiros), o que permite que
programadores experientes faam
programas com um timo gerenciamento de
memria.
C++ - Linguagem que permite programao
estruturada e orientada a objetos, uma
evoluo do C. Tem todas as vantagens do
C, mas permite a criao de objetos, graas
ao novo (no to novo assim...) paradigma
OO. Hoje o Windows como outros softwares
da microsoft, feito em C++.
C# - a resposta da microsoft ao Java.
todo OO e linguagem base do
.NET, tecnologia da microsoft que bate de
frente com o Java.
Melhorias em relao ao C e C++
Ponteiros e aritmtica sem checagem s podem ser utilizados em
uma modalidade especial chamada modo inseguro (unsafe mode).
Normalmente os acessos a objetos so realizados atravs de
referncias seguras, as quais no podem ser invalidadas e
normalmente as operaes aritmticas so checadas contra
sobrecarga (overflow).
Objetos no so liberados explicitamente, mas atravs de um
processo de coleta de lixo (garbage collector) quando no h
referncias aos mesmos, previnindo assim referncias invlidas.
Destrutores no existem. O equivalente mais prximo a interface
Disposable, que juntamente com a construo using block permitem
que recursos alocados por um objeto sejam liberados prontamente.
Tambm existem finalizadores, mas como em Java sua execuo
no imediata.
Como no Java, no permitida herana mltipla, mas
uma classe pode implementar vrias interfaces
abstratas. O objetivo principal simplificar a
implementao do ambiente de execuo.
C# mais seguro com tipos que C++. As nicas
converses implcitas por default so converses
seguras, tais como ampliao de inteiros e converses
de um tipo derivado para um tipo base. No existem
converses implcitas entre inteiros e variveis lgicas
ou enumeraes. No existem ponteiros nulos (void
pointers) .E qualquer converso implcita definida pelo
usurio deve ser marcada explicitamente,
diferentemente dos construtores de cpia de C++.
C# X Java
Java no implementa propriedades nem sobrecarga de
operadores.
Java no implementa um modo inseguro que permita a
manipulao de ponteiros e aritmtica sem checagem.
Java possui excees checadas, enquanto excees
em C# so no checadas como em C++.
Java no implementa o goto como estrutura de controle,
mas C# sim.
Java utiliza-se de comentrios Javadoc para gerar
documentao automtica a partir de arquivos fonte. C#
utiliza comentrios baseados em XML para este
propsito.



Detalhamento







Detalhamento







Detalhamento







Detalhamento







Detalhamento







Detalhamento







Concluso
C# um diferencial para o desenvolvedor
que pretende ser competitivo no mercado
Sua utilizao deve ser analisada baseada
no nvel de complexidade do projeto, assim
como outras linguagens de programao.
Evitar precipitaes de julgamento da sua
efetividade baseado em opinies da
polmica Software Livre X Software privado.
Referncias
http://www.portaleducacao.com.br/informatic
a/artigos/6137/historia-e-caracteristicas-da-
linguagem-c
http://pt.wikipedia.org/wiki/C%E2%99%AF
http://www.linhadecodigo.com.br/artigo/1620/j
ava-e-csharpnet-um-breve-e-introdutorio-
estudo-comparativo-de-suas-sintaxes-e-
convencoes.aspx

FIM

También podría gustarte