Introdução ao C#

O C# é uma linguagem de programação moderna, orientada a objetos, desenvolvida pela Microsoft como a principal linguagem para a plataforma .NET. Ela foi lançada em 2002 e desde então se tornou uma das linguagens mais populares do mundo, especialmente para desenvolvimento em ambientes Microsoft.

Principais características do C#:

  • Orientação a objetos: permite criar classes, objetos, interfaces e aplicar conceitos como herança, polimorfismo e encapsulamento.
  • Sintaxe simples e moderna: inspirada em linguagens como C, C++ e Java, facilitando a aprendizagem para quem já conhece essas linguagens.
  • Fortemente tipificada: cada variável tem seu tipo definido em tempo de compilação, o que reduz erros e aumenta a segurança do código.
  • Gerenciamento automático de memória: o coletor de lixo (garbage collector) liberta automaticamente a memória de objetos não utilizados.
  • Tratamento de exceções: oferece mecanismos robustos para capturar e tratar erros durante a execução do programa.
  • Multiplataforma: com o .NET moderno, programas em C# podem rodar em Windows, Linux, macOS, dispositivos móveis e até na nuvem.

C# é usada para criar diversos tipos de aplicações:

  • Aplicativos desktop (Windows)
  • Aplicativos web
  • Aplicativos móveis
  • Jogos (com Unity)
  • Serviços de backend, APIs, IoT e muito mais.

.NET Framework

O .NET Framework é uma plataforma de desenvolvimento criada pela Microsoft para facilitar a criação e execução de aplicativos, principalmente no sistema operativoWindows.

Componentes principais:

  • CLR (Common Language Runtime): é o ambiente de execução que gere a execução das aplicações .NET, oferecendo serviços como gestão de memória, coleta de lixo, tratamento de exceções, segurança e interoperabilidade entre linguagens.
  • Biblioteca de Classes do .NET (Framework Class Library – FCL): um conjunto abrangente de APIs e componentes reutilizáveis para tarefas comuns como acesso a dados, manipulação de ficheiros, interface gráfica, comunicação em rede, criptografia, etc.

Características do .NET Framework:

  • Ambiente gerido: as aplicações correm num ambiente controlado, o que aumenta a segurança e a estabilidade.
  • Interoperabilidade entre linguagens: permite que diferentes linguagens (C#, VB.NET, F#, etc.) sejam usadas juntas, compartilhando bibliotecas e componentes.
  • Compilação em duas etapas: o código-fonte é compilado para um código intermediário (CIL), que depois é convertido em código de máquina específico aquando da execução (JIT – Just-In-Time).
  • Foco em Windows: o .NET Framework foi projetado originalmente para executar apenas em Windows, mas versões mais recentes da plataforma .NET (como .NET Core e .NET 5/6/7/8) são multiplataforma.

Evolução

Hoje, o .NET Framework é considerado legado, sendo recomendado o uso das versões mais modernas e multiplataforma do .NET (como .NET 8). No entanto, ele ainda é amplamente utilizado para manter aplicações existentes que dependem de recursos específicos do Windows.

Em resumo, C# é a principal linguagem de programação da plataforma .NET, enquanto o .NET Framework é a implementação original dessa plataforma, fornecendo o ambiente necessário para o desenvolvimento e execução de aplicações, principalmente no Windows.