08 Ago 2013 às 19:18 0 1259 Programação
C# (C sharp) é uma linguagem de programação orientada à objetos de propósitos gerais e fortemente tipada.
Foi criada pela Microsoft e faz parte do framework .NET
.NET Framework é um conjunto de ferramentas criado pela Microsoft que permite uma `comunicação` entre várias linguagens, graças a um poderoso conjunto de bibliotecas que fazem com que os programas da tecnologia .NET rodem em um ambiente chamado CLR(Common Language Runtime), ao invés de rodar diretamente no hardware, como em C, C++ ou Assembly.
Ou seja, existe uma infraestrutura comum entre as linguagens da tecnologia .NET. Isso se chama CLI - Common Language Infrastructure -, que, sem dúvida, é o grande diferencial da tecnologia .NET.
A framework fornece um conjunto de ferramentas que geram códigos e funcionalidades de baixo nível automaticamente, permitindo que o programador foque seu tempo na lógica e desenvolvimento do programa, ao invés de se preocupar com alguns detalhes do programa/sistema, como o gerenciamento de memória e garbage collector, aumentando a eficiência do programador.
Assim como muitas outras, é multi-paradigma. Porém, uma das características do C# é portabilidade, como por exemplo, para sistemas embarcados
O `C` de C#, assim como o `C` de C++, e de Objective-C não são por acaso. A sintaxe é inspirada na linguagem C.
Orientação a objetos, gerenciamento automático de lixo (garbage collector), CLI/JVM (bytecode), portabilidade...sim, Java!
C# foi bastante baseada em Java.
Qual a diferença, então, entre Java e C#? Como saber qual estudar?
As duas linguagens são de uso genérico, ou seja, podem ser usadas para fazer quase qualquer tipo de aplicação.
A associação que se faz é, sem dúvida:
C# - Microsoft Windows
Java - software livre
Obviamente, não existe melhor nem pior. É uma questão de escolha.
Depende de onde você trabalha, com o que e qual sua área de interesse. Por mas que exista todo o preconceito e `Microsoft` e o `Windows`, é apenas uma cultura adolescente e de desinformação.
Não precisa citar a importância e o quanto os produtos da Microsoft estão presentes no mercado.
Portanto, se desenvolver aplicativos para Windows for seu objetivo, C# é, sem dúvidas, uma excelente opção, além de ser uma excelente porta de entrada para o fantástico .NET framework.
É uma linguagem simples, portável e por ter sido feita depois do Java, há (e houve) um constante prezo pela eficiência e simplicidade.
Java, porém, é uma das linguagens de programação mais famosa e com mais mercado atualmente, além de estar relacionado com o termo `free` e licença GPL.
Se já tiver conhecimento em uma ou outra linguagem, terá facilidades (pois muita coisa é idêntica) mas terá tropeços em detalhes, pois existem pequenas diferenças que podem tornar a migração de uma linguagem para outra um pouco chata.
Para ver os códigos comparativos das duas linguagens, para se fazer a mesma coisa, dentre outras diferenças, veja: nos Links Abaixo:
Link 1
Link 2
Link 3
OK, QUERO SER PROGRAMADOR .NET, MAS POR ONDE COMEÇAR A PROGRAMAR EM C# ?
Pouca gente sabe, mas a Microsoft dá um incrível suporte para as pessoas que querem aprender a usar seus produtos, inclusive `suas` linguagens, como o C#.
Eles tem um portal dedicado exclusivamente ao aprendizado de diversas ferramentas, incluindo de C# e Visual Studio.
Você se cadastra, lê materiais, tem exercícios, resoluções, fóruns etc. Vale a pena conferir: Aqui
Sobre Visual Studio e outras ferramentas .NET: Aqui
O site Oficina da Net também oferece várias apostilas para download: Aqui
Assim como K19: Aqui
O Apostilando tem material sobre .NET: Aqui
Fonte: Programação Progressiva.net