Desenvolvimento - ASP. NET

.NET Iniciante: Introdução ao C#

Este artigo é dedicado a todos aqueles que estão iniciando seus estudos sobre a plataforma .NET em especial a linguagem C#.

por Marcelo Varela



Características do C#

A Microsoft desenvolveu a linguagem C# em conjunto com a arquitetura .NET, sendo assim uma linguagem de programação especialmente desenvolvida para esta plataforma. Todos sabemos que a plataforma .NET suporta uma gama de linguagens de programação como C# (claro), VB.NET, J#, C++, Delphi for .NET entre outras, o que torna essa arquitetura produtiva e independente de linguagem, ou seja, o desenvolvedor pode escolher, dentre as linguagens disponíveis, a que mais o agrada. Essa liberdade de escolha da linguagem de programação também aumenta a produtividade de um time de desenvolvimento, pois enquanto parte dos desenvolvedores estão construindo a interface gráfica em VB .NET um outro grupo pode estar desenvolvendo as classes de negócio com C#, por exemplo. Depois é só integrar as duas partes do projeto.

Você deve estar se perguntando então, se posso usar qualquer uma dessas linguagens citadas acima porque vou escolher logo C#? Bem a resposta não é nenhuma máxima absoluta, pois acredito que linguagem é como um sapato, devemos usar um que nos deixa confortáveis e mais é adequado para ocasião, ou seja, não basta apenas gostarmos da linguagem, precisamos perceber qual a linguagem ou tecnologia mais se encaixa ao nosso projeto ou cliente. Acredito que não há uma linguagem que seja melhor para todo tipo de projeto, até porque, toda linguagem ou tecnologia é criada para um determinado segmento, mesmo que seja um segmento bem amplo, como é o caso da plataforma .NET.

C# sofre influência de várias linguagens, mais notadamente do Delphi, C++ e Java. A linguagem C# na verdade é a reunião das principais vantagens dessas linguagens, corrigindo seus defeitos e/ou limitações e acrescentando alguns outros recursos, o que faz do C# uma linguagem muito poderosa e atrativa aos desenvolvedores que desejam migrar para a plataforma Microsoft .NET, pois é fácil de assimilar pelos novatos no mundo do desenvolvimento de softwares e proporciona uma baixa curva de aprendizagem para os mais experientes. É comum escutarmos falar que o C# é tão poderosa quanto C++ e tão organizada, flexível e fácil de programar quanto o Delphi.

Vejamos então algumas das características do C#, que é nossa linguagem foco nessa coluna:

  • Como já citei antes, C# foi feita a partir do zero para funcionar especialmente na plataforma .NET, sem a necessidade de compatibilidade com código já existente;
  • A maior parte das classes do .NET Framework foram desenvolvidos em C#;
  • Primeira linguagem "orientada à componentes" da família C/C++;
  • Segue os padrões de POO, onde tudo deriva de um ancestral comum, no caso System.Object, não existem atributos e métodos stand-alone, tudo é declarado dentro do escopo da classe, contudo é possível declarar tipos struct e enum fora do escopo de classes;
  • Fortemente tipada, o que ajuda a evitar erros oriundos de uma manipulação imprópria de tipo e/ou atribuições;
  • Suporte à COM, COM+ ou outras DLLs escritas por linguagens que geram código não gerenciado;
  • É case-sensitive, ou seja, faz diferenciação entre maiúsculas e minúsculas, por exemplo, rnet é completamente diferente de RNET;
  • Os programas escritos em C# rodam sob um ambiente gerenciável, o que significa que todo o controle de memória é feito pelo .NET Framework e não diretamente pelo programador, reduzindo assim falhas na programação enquanto a alocação e liberação de um objeto na memória.

IDE"s para desenvolver softwares em C#

Por ser uma linguagem padronizada, a linguagem C# não se limita a ter apenas um fornecedor de IDE"s. Várias empresas já estão distribuindo suas IDE"s para C#, algumas de forma comercial, outras como OpenSouce ou simplesmente gratuitas. É possível inclusive desenvolver aplicações em C# apenas usando o bloco de notas e as ferramentas de linha de comando do Microsoft .NET Framework SDK v1.1. Algumas das mais conhecidas são:

  • Microsoft Visual Studio .NET 2003;
  • Borland Delphi 2005;
  • ASP .NET WebMatrix;
  • #develop (SharpDevelop);
  • Eclipse for C#.

Nosso primeiro programa em C#

Agora que já sabemos um pouco sobre a linguagem Vamos então fazer nosso primeiro programa em C#, o famoso "Hello World". Logo após comentaremos seu código.

using System;

class HelloWorld{
   public static void Main(string[] args){
      Console.WriteLine("Hello World! Bem vindo ao RNET");
      Console.ReadLine();
   }
}
Comentando o código do nosso primeiro programa em C#.

Na primeira linha temos o carregamento do namespace System que contém a classe Console que estamos utilizando no nosso programa. Em C# usamos a diretiva using seguida do nome do pacote que queremos utilizar.

NameSpace no .NET tem a função de organizar as classes, para que não se misturem com outras classes de mesmo nome. São equivalentes aos pacotes do Java.

Logo a seguir temos a declaração da nossa classe, neste caso HelloWorld. Se você ainda não está familiarizado com o conceito de classes não se preocupe, falaremos sobre esse assunto nas próximas colunas, onde discutiremos POO, UML e Engenharia de Software. Por enquanto vamos nos limitar a entender a estrutura do código e que, de forma sucinta, classes são tipos de dados abstratos usados para modelar e representar objetos do mundo real em nossas aplicações.

Neste nosso exemplo só temos um método, o Main(). Todo programa C# deve ter uma classe que implemente o método Main(), que deve ser declarado com o modificador estático (static), que sinaliza que este é um método que opera sobre a classe e não sobre uma instância dessa classe (objeto). Sendo então, o método Main() o ponto de entrada de execução do programa.

O método Main() pode ter algumas variantes com a seguir:

Ex. 01: Retornando um vazio

  • public static void Main()

    Ex. 02: Retornando um inteiro

  • public static int Main()

    Ex. 03: Recebe argumentos por meio de um array de string e retornando um vazio

  • public static void Main(string[] args)

    Ex. 04: Recebe argumentos por meio de um array de string e retornando um inteiro

  • public static int Main(string[] args)

    Conclusão

    Neste nosso primeiro contato com C# percebemos que é uma linguagem promissora e que oferece uma séria de benefícios para o desenvolvimento na Plataforma .NET, seja para aplicações Windows Forms, Class Library, ASP .NET Web Application, Web Services, Smart Application entra outras. Não percam as próximas colunas, onde estaremos falando um pouco mais sobre essa linguagem do .NET.

    Bibliografia e referências

    Livro
    C# E .NET - Guia do Desenvolvedor - 2001 - Editora Campus
    Edwin Lima, Eugênio Reis

    Artigo
    C#: A nova linguagem da arquitetura .NET - Por Mauro Sant"Anna
    http://www.mas.com.br/Artigos/CSharp_Nova%20Ling.htm

    Outras referências
    MSDN Brasil
    http://www.microsoft.com/brasil/msdn/
    http://www.microsoft.com/brasil/msdn/Tecnologias/visualc/Default.mspx

    Abraço a todos e fiquem com Deus.

    Marcelo Varela

  • Marcelo Varela

    Marcelo Varela - Bacharel em Sistemas de Informação, pós-graduando em Desenvolvimento OO para Web, instrutor C#, ASP.NET e SQL Server 2000.
    Diretor - Lógica Treinamentos (
    www.logicatreinamentos.com.br)
    Líder da Comunidade RNet - Comunidade .NET do Rio Grande do Norte.