BLACK FRIDAY 2024



Por que utilizar C#?

Neste artigo vamos conhecer o C#, uma linguagem tipada, gerenciada e que está entre as mais populares do mundo, sendo vastamente usada principalmente por grandes empresas.

Por que escolher o C#?

O C# é uma linguagem tipada, compilada e gerenciada, criada por Anders Hejlsberg na Microsoft em meados de 2001.

Maturidade

Dada sua idade, o C# é considerado uma linguagem madura, ou seja, que já passou por vários testes e validações de programadores de todo o mundo.

Este é um importante fator na escolha de uma linguagem, pois ela traz garantias que tudo está estável em seu ambiente.

Tudo que é novo precisa ainda ser testado e amadurecido, podendo oferecer sérias consequências ao desenvolvimento de produtos e negócios.

Mercado

Dada sua maturidade, o C# também tem um ótimo mercado de trabalho, sendo vastamente utilizado em empresas.

Enquanto empresas menores e mais novas usam e abusam de novas tecnologias e linguagens, é comum encontrar um lado mais conservador nas empresas maiores (Enterprise).

Assim como usamos o termo Startup para nos referirmos a empresas mais jovens, usamos o termo Enterprise para definir empresas mais conservadoras ou mercado corporativo.

Este conservadorismo pode ser observado na opção por linguagens mais maduras como o C# para produtos que precisam perdurar.

Sendo assim, existem um mercado aquecido tanto para trabalhar com sistemas já construídos quanto novos sistemas nestas empresas.

Conteúdo e Comunidade

Se há algo que não vai acontecer é você se sentir sozinho utilizando C#, pois sua comunidade é muito grande e acolhedora.

Comunidade é o termo que usamos para definir um grupo de usuários de uma tecnologia ou linguagem.

Os fóruns e grupos estão cheios de materiais e dúvidas sobre a linguagem, o que significa que se você passar por um problema, provavelmente haverá uma solução na internet.

Um dos principais problemas de novas tecnologias e linguagens é que muitas vezes você está sozinho com elas, não tem muito material sobre o assunto na internet.

Optar por algo amplamente usado é trilhar um caminho já conhecido, minimizando os riscos e tempo de desenvolvimento.

Linguagem Completa

O C# talvez seja uma das linguagens mais completas existentes. A cada versão seus recursos são incrementados e ela é utilizada em diversas frentes.

Basicamente podemos utilizar o C# em todo ecossistema Micrososft e dificilmente haverá um recurso a nível de linguagem que não esteja presente.

Um dos seus usos mais comum é dentro do ASP.NET, a plataforma da Microsoft para criação de aplicações Web, mas seu uso não se restringe somente a isto.

Uma linguagem completa também traz grandes complexidades e dificuldade no domínio da mesma. Pode-se levar anos para conhecer bem o C# e pode ser quase impossível conhecer todo ele.

Uma dica é focar na frente que você deseja atuar como desenvolvedor. Por exemplo, se deseja trabalhar com ASP.NET e criar aplicações Web, foque em aprender o conteúdo de C# relacionado a ele primeiro.

Embora haja uma grande variedade nos recursos da linguagem, alguns deles além de avançados tem seu uso focado em outras frentes, como Machine Learning por exemplo.

Orientada à Objetos

O orientação à objetos é um dos pilares deste material e um item obrigatório para qualquer desenvolvedor de qualquer linguagem.

Definimos como orientação à objetos a forma como analisamos e projetamos nosso código baseando-se para isto na vida real.

A programação orientada à objetos (POO em português e OOP em inglês) é a aplicação deste conceito dentro do mundo do desenvolvimento.

Para que estes conceitos sejam aplicados, a linguagem utilizada precisa ser orientada à objetos, como no caso, o C#.

A OOP é um conjunto de fundamentos agnóstico de linguagem que vai te permitir escrever aplicações melhores e mais otimizadas em qualquer cenário.

Sabendo bem OOP com C#, você pode aplicar também este conceito em outras linguagens, podendo ampliar seu mercado e possibilidades.

C# como primeira linguagem

Se compararmos o C# com algumas linguagens mais novas, definitivamente chegaremos a conclusão que ele é mais difícil de se aprender.

Isto deve-se ao fato de novas linguagens serem mais simples em seus recursos e não obrigatoriamente exigirem OOP em seu uso.

Embora isto possa causar uma sensação boa no começo, com o rápido desenvolvimento, a longo prazo isto pode te prejudicar.

Em algum momento da sua carreira você precisará parar e aprender de verdade OOP e outros conceitos que veremos com C# aqui, e o que ocorre em algumas novas linguagens é que estas etapas muitas vezes são puladas.

Em suma, você pode começar com qualquer linguagem da forma correta, desde que policie-se para aprender o básico antes, mas o C# de certa forma já nos força a fazer isto.

Se você aprender bem o C#/OOP, poderá migrar para outras linguagens e aprender coisas novas com uma maior facilidade.

Quanto mais tempo você gastar aprendendo o básico, consolidando seu conhecimento, mais fácil será aprender coisas novas futuramente.

No fim, tudo é questão de tempo, você não será um bom programador com alguns meses de código apenas, assim como não será um profissional sênior aos 20 poucos anos de idade.

No mundo do desenvolvimento é preciso vivenciar as coisas, é preciso codificar e desprender muito tempo aprendendo.

Você pode se dedicar e aprender tudo que precisa agora, ou ir aprendendo sob demanda futuramente. O problema do aprendizado parcelado é que seu tempo vai ficando mais escaço a cada dia.

É comum ver muita gente com anos de desenvolvimento ainda perdidas, precisando de ajuda para resolver problemas básicos, ou seja, falta a base.

Como tudo funciona?

Agora que você já se decidiu sobre o uso e aprendizado do C#, é hora de ver como ele funciona antes de dar nossos primeiros passos escrevendo código.

O que é código Gerenciado?

No começo deste capítulo nos referimos ao C# também como uma linguagem gerenciada, o que significa que sua execução depende de um gerenciador.

Este gerenciador também é conhecido como Runtime e no caso do C# quem faz este gerenciamento é o CLR (Common Language Runtime). O CLR recebe o código gerenciado, compila em código que a máquina entenda e o executa.

Este runtime provê serviços importantes como gestão de memória, segurança entre outros, que nos garante também mais velocidade na escrita de código, visto que não precisamos cuidar de tudo.

Em um código não gerenciado, como C/C++, precisaríamos cuidar de cada detalhes, até mesmo a alocação e desalocação de memória.

Possuir este runtime nos permite não precisar interagir (Ou interagir menos) com código de máquina, visto que temos toda esta abstração a nosso favor.

Compilação e gerenciamento

Além do C# a Microsoft possui outras linguagens, como o VB.Net e até o Cobol.NET, e todas estas linguagens precisam ser mantidas.

As manutenções podem ocorrer desde uma correção de uma sintaxe da linguagem até a alocação de memória de um item pelo runtime.

Ou seja, o responsável pela execução das nossas aplicações em C# também precisa de manutenção, assim como o das outras linguagens que mencionamos.

Desta forma, quando o ecossistema da desenvolvimento da Microsoft, o .NET (Explicado mais adiante) foi criado, ele foi pensado em suportar diferentes linguagens mas com uma manutenção que fosse fácil.

Assim como o C#, o VB.NET também é uma linguagem gerenciada e mantida pela Microsoft, o que torna parte do trabalho de ambas linguagens similares.

O que temos então é a divisão das responsabilidades em duas partes, sendo uma a compilação da linguagem e a outra o gerenciamento da aplicação.

Em suma, temos um compilador para cada linguagem, mas um gerenciador único, afinal a alocação de memória dentre outros recursos de hardware são a mesma.

Sendo assim, o CLR recebe o código em C#, utiliza seu compilador específico (Que só compila código em C#), e como resultado final temos um outro código, em uma linguagem única que o runtime entende, chamada de Intermediate Language ou apenas IL.

Microsoft .NET Core

Intermediate Language

Já aprendemos anteriormente que o C# (Assim como o Java e o VB.NET) é considerado uma linguagem de alto nível.

Embora sejam mantidas pela Microsoft, o C# e VB.NET se diferem em muitas coisas, incluindo na sua sintaxe, que afeta a interpretação.

Isto impossibilita que haja um compilador único para estas linguagens, necessitando um processo intermediário de conversão das mesmas para o IL.

IL é a sigla para Intermediate Language ou linguagem intermediária em português.

Somente após esta conversão o código será de fato compilado para a linguagem de máquina, executado e gerenciado.

Este modelo possibilita por exemplo termos arquivos do VB.NET e C# na mesma aplicação (Mas nunca no mesmo arquivo).

Quando o C# foi criado, o VB.NET era a linguagem principal da Microsoft, e este recurso permitiu a facilidade na migração de diversos sistemas escritos em VB.NET para C#.

Imagina que incrível era poder simplesmente deixar para migrar depois um pedaço do seu sistema, escrito em outra linguagem e ainda assim tudo continuar funcionando.

Além disso, o IL garante que o resultado da execução é sempre o mesmo, afinal o runtime sempre executa tudo da mesma forma. Pode mudar o tradutor, mas a mensagem sempre será executada.

Este processo de conversão do código intermediário (IL) para o código que a máquina entenda, também é chamado de Just In Time ou JIT.

Como funciona?

Sei que falamos muitas coisas neste capítulo, talvez coisas avançadas, mas você não precisa se preocupar em guardar todos os detalhes.

É importante saber como as coisas funcionam por baixo dos panos, para garantir um entendimento das execuções que teremos futuramente.

Para facilitar, esta lista resume o processo todo que descrevemos aqui.

  • Escrevemos nosso código em C# (Alto nível)
  • É gerado um código intermediário (IL)
  • O CLR recebe o IL e transforma em linguagem de máquina
  • O código então é executado e passa a ser gerenciado

Populares

Priority Queue

Priority Queue ou fila prioritária é um tipo de lista inclusa no C# 10 que permite que seus itens...


Implicit Operators no C#

Implicit Operators permitem adicionar comportamentos de conversão a objetos Built In ou complexos...


ASP.NET 5 – Autenticação e Autorização com Bearer e JWT

Este artigo atualmente utiliza a versão 5.0.0-rc.1 do ASP.NET/.NET, o que significa que ainda não...


Clean Code - Guia e Exemplos

Saiba como manter seu código limpo (Clean Code) seguindo algumas práticas sugeridas pelo Robert C...


Git e GitHub - Instalação, Configuração e Primeiros Passos

Git é um sistema de controle de versões distribuídas, enquanto GitHub é uma plataforma que tem o ...


Compartilhe este artigo



Conheça o autor

Me dedico ao desenvolvimento de software desde 2003, sendo minha maior especialidade o Desenvolvimento Web. Durante esta jornada pude trabalhar presencialmente aqui no Brasil e Estados Unidos, atender remotamente times da ?ndia, Inglaterra e Holanda, receber 8x Microsoft MVP e realizar diversas consultorias em empresas e projetos de todos os tamanhos.





2.926

Aulas disponíveis

275

horas de conteúdo

72.003

Alunos matriculados

49.936

Certificados emitidos





Comece de graça agora mesmo!

Temos mais de 20 cursos totalmente de graça e todos com certificado de conclusão.

Começar


Prefere algo mais Premium?

Conheça nossos planos



Premium anual

Compra única, parcelada em até
12x no cartão de crédito


12x R$

84

,78

=R$ 1.017,36
  • 1 ano de acesso
  • Acesso à todo conteúdo
  • Emissão de Certificado
  • Tira Dúvidas Online
  • 61 cursos disponíveis
  • 10 carreiras disponíveis
  • 161 temas de tecnologia
  • Conteúdo novo todo mês
  • Encontros Premium

Começar agora

Política de privacidade



Precisa de ajuda?

Dúvidas frequentes



  • Posso começar de graça?

    Sim! Basta criar sua conta gratuita no balta.io e começar seus estudos. Nós contamos com diversos cursos TOTALMENTE gratuitos e com certificado de conclusão.

  • Vou ter que pagar algo?

    Nós temos cursos gratuitos e pagos, porém você não precisa informar nenhum dado de pagamento para começar seus estudos gratuitamente conosco. Os cursos gratuitos são completos e com certificado de conclusão, você não paga nada por eles.

    Porém, caso queira algo mais Premium , você terá acesso à diversos benefícios que vão te ajudar ainda mais em sua carreira.

  • Por onde devo começar?

    Siga SEMPRE as nossas Carreiras , elas vão te orientar em todos os sentidos. Os cursos já estão organizados em categorias e carreiras para facilitar seu aprendizado.
    Nossa sugestão para aprendizado é começar pelo Backend e seguindo para Frontend e Mobile.

    • Backend
    • Frontend
    • Mobile

  • Os cursos ensinam tudo que preciso?

    Nenhum curso no mundo vai te ensinar tudo, desculpa ser sincero! Os cursos são uma base, eles fornecem por volta de 30% do que você precisa aprender, o resto é com você, com dedicação e MUITA prática.

  • O que eu devo estudar?

    Java ou .NET? Angular ou React? Xamarin ou Flutter? A resposta é simples e direta: "Você já sabe o básico?"

    Se você ainda não sabe BEM o básico, ou seja, os fundamentos, OOP, SOLID, Clean Code, está perdendo tempo estudando Frameworks ou até coisas mais avançadas como Docker. Foque nos seus objetivos primeiro.
    Agora se você está indeciso sobre qual Framework estudar, a boa notícia é que o mercado neste momento está bem aquecido e você tem várias oportunidade. Desta forma o que levaríamos em conta para tomar esta decisão seria:

    • Já sei o básico
    • O Framework/Tecnologia tem mercado onde eu estou (região)
    • O Framework/Tecnologia é utilizado em uma empresa onde quero atual
    • O Framework/Tecnologia resolve meu problema
    • Eu gosto de utilizar o Framework/Tecnologia

  • Estou pronto para estudar no balta.io?

    Com certeza! O primeiro passo é começar e você pode fazer isto agora mesmo!

    Começar de graça

Ainda tem dúvidas?





Assine nosso Newsletter

Receba em primeira mão todas as nossas novidades.

Cadastrar


balta.io