Jump to content


l_e@

Member Since 23/03/2007
Offline Last Active 23/03/2007, 09:58
-----

Posts I've Made

In Topic: C#

23/03/2007, 09:55

C# ???

Tava vendo na tc aquele video game que lê ondas cerebrais e e transofa em ações no propio jogo, vi que foi desenvolvido em C#, essa linguagem seria uma nova era ? viria pra substituir o o C ?

houvi falar que ela é matida pela microsoft mas é codígo aberto, verdade ?

Estpui querendo comprar a biblido do C pra estudar, mas se esse C# for promissor como disseram compensa mais, oqu acham ?


A linguagem C# foi criada junto com a arquitetura .NET. Embora existam várias outras linguagens que suportam essa tecnologia (como VB.NET, C++, J#), C# é considerada a linguagem símbolo do .NET pelas seguintes razões:

Foi criada praticamente do zero para funcionar na nova plataforma, sem preocupações de compatibilidade com código de legado.
O compilador C# foi o primeiro a ser desenvolvido.
A maior parte das classes do .NET Framework foram desenvolvidos em C#.
C# (pronuncia-se "cê chárp" em português ou "cí charp" em inglês) é, de certa forma, a linguagem de programação que mais diretamente reflete a plataforma .NET sobre a qual todos os programas .NET executam. C# está de tal forma ligado a esta plataforma que não existe o conceito de código não-gerenciado (unmanaged code) em C#. Suas estruturas de dados primitivas são objetos que correspondem a tipos em .NET. A desalocação automática de memória por garbage colletor além de várias de suas abstrações tais como classes, interfaces, delegados e exceções são nada mais que a exposição explicita recursos do ambiente .NET.

Quando comparada com C e C++, a linguagem é restrita e melhorada de várias formas incluindo:

Ponteiros e aritmética sem checagem só podem ser utilizados em uma modalidade especial chamada modo inseguro (unsafe mode). Normalmente os acessos a objetos é realizada através de referências seguras, as quais não podem ser invalidadas e normalmente as operações aritméticas são checadas contra sobrecarga (overflow).
Objetos não são liberados explicitamente, mas através de um processo de coleta de lixo (garbage collector) quando não há referências aos mesmos, previnindo assim referências inválidas.
Destrutores não existem. O equivalente mais próximo é a interface Disposable, que juntamente com a construção using block permitem que recursos alocados por um objeto sejam liberados prontamente. Também existem finalizadores, mas como em Java sua execução não é imediata.
Como em Java, só é permitida a herança simples, mas uma classe pode implementar várias interfaces abstratas. O objetivo principal é simplificar a implementação do ambiente de execução.
C# é mais seguro com tipos que C++. As únicas conversões implícitas por default são conversões seguras, tais como ampliação de inteiros e conversões de um tipo derivado para um tipo base. Não existem conversões implícitas entre inteiros e variáveis lógicas ou enumerações. Não existem ponteiros nulos (void pointers) (apesar de referências para Object serem parecidas). E qualquer conversão implícita definida pelo usuário deve ser marcada explicitamente, diferentemente dos construtores de cópia de C++.
A sintaxe para a declaração de vetores é diferente ("int[] a = new int[5]" ao invés de "int a[5]").
Membros de enumeração são colocados em seu próprio espaço de nomes (namespace)
C# não possui modelos (templates), mas C# 2.0 possui genéricos (generics).
Propriedades estão disponíveis, as quais permitem que métodos sejam chamados com a mesma sintaxe de acesso a membros de dados.
Recursos de reflexão completos estão disponíveis
Apesar de C# ser freqüentemente tido como similar a Java, existem uma série de diferenças importantes, tais como:

Java não implementa propriedades nem sobrecarga de operadores.
Java não implementa um modo inseguro que permita a manipulação de ponteiros e aritmética sem checagem.
Java possui exceções checadas, enquanto exceções em C# são não checadas como em C++.
Java não implementa o goto como estrutura de controle, mas C# sim.
Java utiliza-se de comentários Javadoc para gerar documentação automática a partir de arquivos fonte. C# utiliza comentários baseados em XML para este propósito.
C# suporta indexadores e delegados.

Acho que realmente compensa !!!
Antes de comprar um livro vá até o site da MSDN e faça o programa de desenvolvedor 5 estrelas(Começe por aqui !!!), estude e tire suas estrelas, depois disso se aprofunde mais.
Mais uma coisa eu tenho a biblia de C# (versão em espanhol),mas deve servir !!!

Falou !!!

IPB Skin By Virteq