Skip to content

VILHALVA/CURSO-DE-C-SHARP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CURSO DE C#

👨‍⚖️C# É UMA LINGUAGEM DE PROGRAMAÇÃO.


VISÃO PANORÂMICA:

PERGUNTA RESPOSTA
DATA DE CRIAÇÃO 2000
NOME DO CRIADOR Microsoft Corporation
SIGNIFICADO DO NOME O nome "C#" é derivado do conceito musical "C sharp", que representa a nota musical mais alta que pode ser tocada.
É BASEADA NO C, C++, Java e Delphi
EXTENÇÃO DO ARQUIVO .cs
É MAIS USADA Desenvolver Apps desktop com Windows
  • Data de Criação: C# foi criada no início dos anos 2000, sendo anunciada pela Microsoft em 2000 e lançada oficialmente em 2002 como parte da plataforma .NET Framework.

  • Nome do Criador: C# foi desenvolvida pela Microsoft Corporation, com Anders Hejlsberg liderando a equipe de desenvolvimento.

  • Significado do Nome: O nome "C#" é derivado do conceito musical "C sharp", que representa a nota musical mais alta que pode ser tocada. O nome sugere que C# é uma evolução da linguagem C++ (ou "C plus plus"), uma linguagem de programação anterior.

  • Linguagem Baseada em: C# é fortemente influenciada pelas linguagens de programação C e C++, mas também incorpora conceitos de linguagens como Java e Delphi.

  • Extensão do Arquivo: Os arquivos de código-fonte escritos em C# geralmente têm a extensão ".cs".

  • Usos Mais Comuns: C# é uma linguagem de programação versátil e é usada principalmente para desenvolver aplicativos de desktop com Windows (Windows Forms e WPF), aplicativos web (ASP.NET), aplicativos móveis (com o uso do Xamarin), jogos (Unity), automação de tarefas e desenvolvimento de aplicações empresariais. É uma das linguagens mais populares para o desenvolvimento na plataforma Microsoft e é amplamente utilizada na indústria de software.

EM QUE C# É DIFERENTE DE C++?

  1. Paradigma de Programação:

    • C#: C# é uma linguagem de programação orientada a objetos (POO) de alto nível com suporte a programação imperativa e funcional.
    • C++: C++ é uma linguagem multiparadigma que suporta programação orientada a objetos, programação imperativa e programação genérica. Ela oferece um nível mais baixo de abstração do que C#.
  2. Gerenciamento de Memória:

    • C#: C# possui gerenciamento automático de memória por meio do coletor de lixo (garbage collector), o que ajuda a evitar vazamentos de memória e torna o desenvolvimento mais seguro em relação a ponteiros inválidos.
    • C++: C++ permite o gerenciamento manual de memória, o que significa que os desenvolvedores são responsáveis por alocar e liberar a memória manualmente usando new e delete. Isso pode levar a erros de memória, como vazamentos de memória e corrupção de memória, se não for tratado corretamente.
  3. Sintaxe e Segurança de Tipos:

    • C#: C# possui uma sintaxe mais simplificada e segurança de tipos mais forte em comparação com C++. O sistema de tipos em C# é mais rigoroso, reduzindo o risco de erros de tempo de execução.
    • C++: C++ oferece uma sintaxe mais complexa e menos segurança de tipos em comparação com C#. Os desenvolvedores têm mais flexibilidade, mas também podem cometer erros de tipos e manipulação de memória.
  4. Portabilidade e Plataforma:

    • C#: C# é amplamente associado à plataforma Microsoft e ao ambiente Windows, mas com o .NET Core e o .NET 5 e posteriores, tornou-se mais portátil e pode ser usado em sistemas operacionais não-Windows.
    • C++: C++ é uma linguagem de programação mais portátil e pode ser usada em uma variedade de sistemas operacionais e plataformas. A portabilidade depende, em grande parte, das bibliotecas e recursos específicos da plataforma usados no código.
  5. Tempo de Compilação vs. Tempo de Execução:

    • C#: Muitos erros são detectados em tempo de compilação devido à forte verificação de tipos, o que pode ajudar a reduzir erros de tempo de execução.
    • C++: C++ é uma linguagem mais flexível, mas muitos erros só são detectados em tempo de execução, tornando a depuração potencialmente mais desafiadora.
  6. Bibliotecas e Ecossistema:

    • C#: C# faz parte da plataforma .NET, que possui uma ampla variedade de bibliotecas e recursos para desenvolvimento de software. Ele é frequentemente usado para desenvolvimento de aplicativos Windows, serviços da web e muito mais.
    • C++: C++ possui um ecossistema de bibliotecas rico e diversificado, mas não tem uma plataforma unificada como o .NET. As bibliotecas variam em termos de qualidade e documentação.
  7. Tempo de Desenvolvimento:

    • C#: C# é geralmente associado a tempos de desenvolvimento mais curtos devido à sua sintaxe simplificada e ao gerenciamento automático de memória, o que pode acelerar o desenvolvimento de software.
    • C++: C++ pode exigir mais tempo de desenvolvimento devido à necessidade de gerenciar manualmente a alocação de memória e a complexidade da sintaxe.

CARACTERISTICAS:

POSITIVAS:

  1. Sintaxe Clara e Legível: A sintaxe do C# é semelhante à de outras linguagens de programação populares, como C++ e Java. Isso torna o código fácil de ler e escrever, facilitando a adoção por novos programadores.

  2. Orientação a Objetos: C# é uma linguagem de programação orientada a objetos (POO) de alto nível. Ela suporta conceitos de POO, como classes, objetos, herança, polimorfismo, encapsulamento e abstração, facilitando a criação de código modular e reutilizável.

  3. Integração com a Plataforma .NET: C# é parte integrante da plataforma .NET da Microsoft. Isso permite que os desenvolvedores acessem uma ampla gama de bibliotecas e recursos para criar aplicativos Windows, aplicativos da Web, serviços da web, aplicativos móveis e muito mais.

  4. Gerenciamento Automático de Memória: C# usa o sistema de gerenciamento automático de memória conhecido como "Garbage Collection". Isso ajuda a evitar vazamentos de memória e torna a linguagem mais segura em relação ao uso de ponteiros.

  5. Segurança: C# inclui recursos de segurança robustos, como verificação de tipos em tempo de compilação e controle de acesso a objetos, o que ajuda a prevenir erros de programação comuns e vulnerabilidades de segurança.

  6. Facilidade de Desenvolvimento para Windows: C# é amplamente usado para desenvolver aplicativos para a plataforma Windows. Ele oferece uma integração eficiente com a interface gráfica do usuário (GUI) do Windows, tornando-o uma escolha popular para o desenvolvimento de aplicativos de desktop.

  7. Suporte a Multithreading: C# oferece suporte nativo a programação concorrente por meio de threads e tarefas. Isso permite que os desenvolvedores criem aplicativos que podem tirar proveito de sistemas multiprocessadores e executem tarefas simultaneamente.

  8. Ecossistema Rico: C# possui uma comunidade ativa de desenvolvedores e uma grande quantidade de recursos, incluindo documentação, bibliotecas de terceiros e ferramentas de desenvolvimento, como o Visual Studio.

  9. Ampla Portabilidade: Embora seja amplamente associado ao desenvolvimento Windows, C# também é usado em outras plataformas, graças ao projeto .NET Core e ao .NET 5 e posteriores. Isso permite o desenvolvimento multiplataforma com C#.

  10. Padrões de Design: C# e a plataforma .NET promovem o uso de padrões de design como MVC (Model-View-Controller) e MVVM (Model-View-ViewModel) para criar aplicativos bem organizados e fáceis de manter.

NEGATIVAS:

  1. Plataforma Limitada: C# é fortemente associado à plataforma Microsoft e ao ambiente Windows. Isso pode limitar a portabilidade dos aplicativos desenvolvidos em C# para outras plataformas, embora tenha havido melhorias nessa área com o .NET Core e o .NET 5 e posteriores.

  2. Curva de Aprendizado: Para desenvolvedores que não estão familiarizados com a sintaxe do C# ou a plataforma .NET, pode haver uma curva de aprendizado significativa para se tornar proficientes na linguagem e em suas ferramentas associadas.

  3. Dependência de Ferramentas Microsoft: Embora existam alternativas de código aberto, como o MonoDevelop e o Visual Studio Code, muitos desenvolvedores de C# dependem do Visual Studio, que é uma ferramenta proprietária da Microsoft.

  4. Desempenho em Determinados Cenários: C# e a plataforma .NET podem não ser a melhor escolha em todos os cenários de alto desempenho, especialmente para aplicativos altamente otimizados, como sistemas de tempo real ou de baixa latência.

  5. Tamanho do Tempo de Execução: Os aplicativos C# normalmente têm um tamanho de tempo de execução maior devido às bibliotecas e ao Common Language Runtime (CLR) que são necessários para executá-los. Isso pode afetar o tamanho dos downloads e os requisitos de espaço em disco.

  6. Maturidade em Outras Plataformas: Embora C# seja multiplataforma em teoria, a maturidade do ecossistema fora do ambiente Windows pode variar. Em algumas plataformas, pode haver limitações em relação ao suporte a bibliotecas ou funcionalidades específicas do Windows.

  7. Compatibilidade de Versões: Às vezes, as atualizações do .NET Framework podem introduzir quebras de compatibilidade, o que pode exigir ajustes em aplicativos existentes durante a migração para versões mais recentes da plataforma.

  8. Recursos de Baixo Nível Limitados: C# é uma linguagem de alto nível que não oferece o mesmo nível de controle sobre recursos de baixo nível, como ponteiros, encontrado em linguagens de programação mais próximas do hardware.

  9. Custo de Licenciamento: O Visual Studio, a principal ferramenta de desenvolvimento para C#, pode ter custos de licenciamento significativos para empresas, embora existam edições gratuitas, como o Visual Studio Community, disponíveis para desenvolvedores individuais e pequenas equipes.

  10. Necessidade de Conhecimento em Ecossistema Microsoft: Para aproveitar todo o potencial do C# e da plataforma .NET, os desenvolvedores podem precisar adquirir conhecimento sobre outros produtos e tecnologias da Microsoft, como o SQL Server e o Azure.

SUBSIDIOS:

About

👨‍⚖️C# É UMA LINGUAGEM DE PROGRAMAÇÃO.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages