Minicursos - C#

Anders Hejlsberg

A linguagem C# (Cê Sharp) é uma linguagem de programação orientada a objetos desenvolvida pela Microsoft como parte da plataforma .Net. A criação da linguagem, embora tenha sido feita por vários desenvolvedores, é atribuída principalmente a Anders Hejlsberg, que também foi o desenvolvedor de compiladores na Borland, e entre suas criações mais conhecidas estão o Turbo Pascal e o Delphi.

O C# surgiu oficialmente no ano 2000 e dentre suas principais características, podemos destacar:


- É fortemente tipada

- Não aceita herança múltipla, mas isso pode ser facilmente contornado com a utilização de Interfaces

- Sua sintaxe é muito parecida com o C++

- Possui um dos mais eficientes sistemas de Garbage Collector, que é um recurso que limpa e libera a memória que não está mais sendo utilizada pelo programa.

- Aceita passagem de parâmetros para seus métodos por valor ou por referência.

Muitas comparações entre o C# e o Java são feitas e existe quem defenda tanto uma quanto a outra, mas o fato é que ambas são muito poderosas. O que vale destacar é que nas intermináveis discussões sobre qual das duas é melhor, é muito fácil encontrar quem argumente a favor do Java dizendo que com C# se programa apenas para Windows, mas vale destacar que é possível, sim, programar em C# para Linux através da plataforma Mono. Ou seja, se Java tem vantagens sobre C#, programar para Linux não é uma delas.

Visual Studio 2010

De qualquer forma, pensando no potencial de ambas as linguagens, eu diria que são equivalentes. A vantagem que vejo a favor do C# é que sua principal IDE de desenvolvimento, o Visual Studio, está anos-luz à frente de qualquer concorrente para se desenvolver aplicações em Java, por isso acho mais agradável programar em C# do que em qualquer outra linguagem, mas isso é uma preferência pessoal e não uma vantagem técnica da linguagem.

Bem, é isso! Espero que gostem dessa poderosa linguagem tanto quanto eu gosto e que tirem proveito do modesto minicurso que encontrarão aqui.

Sobre o Minicurso...

No menu ao lado é possível ver uma numeração nos links. Ela indica a ordem em que os tópicos devem ser estudados, pois, na minha concepção, estes assuntos possuem naturalmente uma sequência crescente de dificuldade e os itens com numeração mais elevada dependem dos anteriores, portanto, se você é um iniciante em C#, aconselho que siga a ordem. Se já for um usuário intermediário, então pode acessar diretamente o tópico que lhe interessa.


Sobre os códigos do Minicurso...

Assim como em qualquer curso de programação, cada tópico aqui será abordado com exemplos de códigos, quase sempre comentados. O que quero destacar é que, propositalmente não coloquei os códigos em formato texto, mas sim como imagens (existem raríssimas exceções), portanto não é possível copiar e colar! Vou explicar o motivo...

Sempre que você copia e cola um texto, o faz mecânica e automaticamente. Seu cérebro não absorve os detalhes contidos ali. Isso é grave em qualquer contexto, mas em programação muito mais, portanto eu quero que você digite os códigos, para que erre comandos, esqueça aspas, parênteses, parâmetros, enfim, cometa falhas, pois são elas que o farão aprender! A ideia por trás de tudo é fazer com que você, usuário leigo em C#, absorva os conceitos, portanto realmente considerei essa decisão importante.

Sobre a estratégia utilizada...

Eu não tenho a pretensão aqui de explorar profundamente o C# ou o Visual C# e todas as suas ferramentas. O objetivo deste simples minicurso é pegar um usuário completamente leigo nestas duas tecnologias e caminhar com ele por um período, mostrando-lhe os princípios básicos de funcionamento desta incrível linguagem de programação e da IDE Visual C#, de tal maneira que, ao final dos tópicos, ele seja capaz de caminhar sozinho explorando os tópicos que não foram abordados e, dessa forma, solucionar problemas muito mais complexos. Em alguns momentos o caminho escolhido para a solução de um problema não será o mais curto. Vejam a imagem abaixo:



Se nosso problema envolve sair do ponto A e chegar ao ponto D, claro que uma linha reta entre eles seria o caminho mais curto e mais fácil, mas ao longo dos tópicos haverá muitos momentos em que esse caminho não será o escolhido, mas sim o que passa pelos pontos B e C. O motivo? Simples! Os pontos B e C podem ser essenciais para que você resolva diferentes problemas no futuro, portanto é importante conhecê-los.

Vale destacar também que você pode encontrar, ao longo dos textos ou dos comentários nos códigos, trechos levemente repetidos, ou seja, que explicam, de forma sucinta, algo que já foi explicado de forma mais detalhada antes. Se identificar algo assim, saiba que você está diante de algo crucial e que considerei muito imporante, portanto estou retomando sua explicação e, às vezes, enfatizando intensamente. Não despreze estes assuntos!

Bem, é isso! Espero que aproveitem!


Você gostará destes vídeos: