Neste artigo tentarei fornecer a introdução mais suave possível à linguagem de programação C#, tentarei responder à maioria das perguntas dos iniciantes e dissipar vários mitos.

Primeiro, um pouco sobre mim: sou um desenvolvedor backend com 5 anos de experiência, minha linguagem é principalmente C#, escolhi essa linguagem porque é simples de entender, lógica e concisa.
Comecei minha jornada como muitos outros. Ele trabalhava como vendedor em uma loja e à noite trabalhava meio período em todos os tipos de assuntos obscuros. Eu precisava de software, mas não queria pagar por ele (e na verdade não tinha nada). A única coisa que eu sabia era que " C# é legal e mais fácil que C++ ". Desde que tudo isso começou.
Inicialmente negligenciei a teoria e tentei fazer tudo pelo método científico, no qual cometi muitos erros e perdi tempo, e agora estou pronto para compartilhar minha experiência com vocês para que sua introdução seja mais fácil que a minha.

Respostas às perguntas mais frequentes:

P: C# é uma linguagem complexa?
Oh não. C# é uma linguagem muito simples. Essencialmente, tudo está dividido em classes e métodos (para generalizar). As aulas são caixas (mesmo as de papelão, como você quiser imaginar), e os métodos são algo armazenado nessas caixas. E para voltar ao método, você precisa pegar a caixa desejada, vasculhá-la e conseguir o que precisa. Essa constatação me ajudou muito enquanto estudava. Tudo isso é exagerado, mas em essência é verdade.

P: Por que C# e não Python?
R: Pessoalmente, não gosto da sintaxe do Python, mas isso é uma questão de gosto. Além disso, tentei entender Python depois de C# e é difícil para mim neste momento, as pessoas que mudaram de ASM para linguagens de alto nível provavelmente me entenderão;
Qualquer idioma é apenas uma ferramenta, então a ferramenta escolhida depende de você para atender às suas necessidades.

P: Quanto tempo leva para aprender C# antes de conseguir um emprego?
R: Esta é talvez a pergunta mais comum entre iniciantes e provavelmente a resposta esperada é “todos os dias durante 8 horas”, mas isso está fundamentalmente errado . O máximo que você conseguirá é o esgotamento. Em algum momento você começará a perceber que não entende nada, pensamentos começarão a surgir em sua cabeça como “eu preciso mesmo disso?” Nesse momento, o principal é parar e esperar até começar a sentir sintomas de abstinência ao aprender um novo aspecto do idioma (testado, ajuda).

P: Como aprender C# corretamente?
R: Eu recomendo interromper seu estudo. Se forem videoaulas, divida-as por vídeo; se forem livros, depois por capítulo; Um erro comum é ativar um vídeo em segundo plano e cuidar de seus negócios ou ler de 150 a 200 páginas por dia. Lembre-se: não funciona assim. Estabelecemos uma meta para nós mesmos - assistir 1 vídeo por dia, mas para fazê-lo extremamente bem, tente escrever algo você mesmo, estude materiais adicionais. Se preferir ler, então 1 capítulo por dia é suficiente e não importa se são 10 ou 20 páginas. Via de regra, o capítulo 1 é um tópico, e sua tarefa não é ler o máximo de cartas possível, mas tentar entender o que está escrito. Assim que você sentir que não entende, pare e pesquise no Google até conhecer o assunto como “Pai Nosso”. Se você terminou um capítulo, mas ainda tem muita força, passe para o segundo, mas lembre-se da regra de ouro - “NÃO DESISTA DA MEIO”. Comecei a ler/assistir - termine até o fim. Até o último minuto ou página. Se você não fizer isso, te dou 100% de garantia que amanhã você nem vai se lembrar do que leu, e há 2 opções, ou você termina de ler e seus pensamentos não vão se alinhar, então você venceu' Se você não entender o assunto, ou começará de novo, e qual é esse o ponto?

P: Onde posso obter motivação?
R: Esta também é uma pergunta bastante comum. Primeiro, pense por que você precisa aprender programação? Se o seu objetivo é aprender rapidamente o material e ganhar 300 mil por segundo, você nem precisa começar, isso não é para você, e o mercado está cheio desses novatos. Se você está realmente interessado nisso, nos anos escolares você se interessou por Pascal e pela informática em geral, ou percebe que não é um processo rápido, mas ainda quer mudar sua vida para melhor, então seja bem-vindo ao clube companheiro. O desejo sincero é a melhor motivação.

P: Vale a pena pagar por cursos de programação?
R: Uma vez eu quis me inscrever em cursos pagos, pelo fato de não ter entendido nada, depois de um tempo posso afirmar com firmeza que todos os cursos da Skillfactory e similares são uma porcaria completa. Eles vão te tirar, dificilmente vão te ensinar alguma coisa, mas vão te inspirar esperança, então você vai ficar só com o bigode, nu, mas feliz. Portanto, aconselho você a estudar sozinho. Abaixo, fornecerei alguns materiais muito bons para estudar ponto por ponto. Se todo o seu aprendizado segue uma espiral do tipo “Ah, entendo, agora posso ir trabalhar -> Não, não sei de nada -> Agora sei que todo o trabalho está esperando por mim -> Como você pode ser assim estúpido”, então você está no caminho certo. Se você pensa que não sabe nada, você sempre sabe um pouco mais do que ontem. O principal é não desistir.

Recomendado para estudo:
Todos os links são para fins informativos e como tenho preguiça de procurar uma foto

vou classificar os livros em ordem crescente de dificuldade. Recomendo lê-los em ordem.

Mikhail Flenov. Edição da Bíblia C# 6:
OZON
Este livro é o mais barato e curto possível; se você o ler, terá uma compreensão superficial da linguagem e de seu uso. Ele contém muitos exemplos e problemas. Eu pessoalmente li a 4ª edição. Escrito, simples e claro. Porém, uma das desvantagens: para pessoas menos experientes será o mais inútil possível, todas as informações são apresentadas superficialmente, mas novamente isso é uma vantagem, não sobrecarregaria os iniciantes com estruturas complexas e assim por diante.
Como alternativa, você pode tentar fazer cursos gratuitos , dos quais existem vários na Internet, bem como...

Simple Code
YouTube
Talvez esta seja a melhor coisa que encontrei para estudar. Todos os tópicos são curtos e há tarefas de casa. Os vídeos são todos gratuitos. Novamente, devido ao fato dos tópicos serem curtos, é necessário procurar fontes adicionais. Mas este é um item obrigatório para um jogador iniciante. Eu recomendo a todos.

Marcar preço. C# 10 e .NET 6.
OZON
Não é mal escrito. O livro descreve a sintaxe básica e como trabalhar com um banco de dados e diversas bibliotecas. Acontece que o livro cobre várias necessidades ao mesmo tempo, mas também tem suas desvantagens: é muito grande e a encadernação é suave. não é confortável de ler. Muitos tópicos foram escritos por “idiotas sobre a Europa”; você quer obter mais informações, mas não, o autor não pensa assim, então você ficará satisfeito com o que tem. A tradução é razoável, então se você sabe inglês, é melhor ler a versão em inglês.

Jeffrey Richter. CLR via C#
OZON
Muitas pessoas o chamam de “Bíblia do C#” (e esta não é a Bíblia mencionada no primeiro parágrafo). Este livro explica como o C# funciona nos bastidores, por que isso acontece dessa maneira e não de outra forma e em que seu código se transforma após a compilação. Qualquer Sharpista que se preze já o leu pelo menos uma vez. No entanto, este será um livro muito difícil para um iniciante, mas sim “para quem sabe”. Não adianta conhecer um idioma se você não sabe como ele funciona. Verifiquei pessoalmente que os empregadores respeitam quem o lê. E as chances de conseguir um emprego são muito maiores. Porém, este livro é MUITO antigo, mas você deve lê-lo, pois o conhecimento fundamental não muda, apenas novos recursos são adicionados. Não recomendo começar com isso, pois não ficará claro para ninguém e tudo parecerá extremamente complicado.

André Locke. ASP.NET Core em ação.
OZON
Descreve a criação de aplicações web em C#, recomendo estudá-lo junto com o seguinte

John Smith. Entity Framework em ação
OZON
Todo o livro tem como objetivo utilizar a biblioteca ORM de mesmo nome para trabalhar com um banco de dados. Este ORM é usado em muitas organizações, por isso recomendo fortemente estudá-lo.

Onde praticar?

Quero destacar três áreas principais para praticar:

1. Projetos favoritos. Nada motiva melhor do que a necessidade pessoal.
Crie um projeto que corresponda à sua direção, bruto, verificador e assim por diante, e tente escrevê-lo. Meu primeiro projeto foi um impulsionador de visualizações no Twitch, tortas e oblíquas, mas ganhei experiência nisso. Deixe este projeto se arrastar por muito tempo, ninguém está te apressando, o mais importante é que você ganhará um enorme conhecimento, cada vez acrescentando algo novo ao seu projeto ou melhorando desenvolvimentos anteriores.

2. Intercâmbio autônomo. Por mais engraçado que possa parecer, este é um ótimo lugar para ganhar experiência. Como funciona. Você não deve assumir o projeto imediatamente. Leia, entenda o que precisa ser feito e faça, se você conseguiu antes que alguém já interceptasse a tarefa - tente ganhar dinheiro. Esta opção é indicada para quem não sabe o que escrever. E assim você ganha experiência, e tem chance de ganhar não muito dinheiro :)

3. Trabalho oficial. Não pense que após o treinamento inicial irei contratá-lo por 300 mil por segundo na Microsoft como CEO do CEO, mas é bem provável que você consiga um emprego como estagiário. Muitas empresas concordarão em contratá-lo por 30 a 50 mil rublos nominais. para uma vaga de trainee. Eu concordo, o dinheiro não é grande, MAS você se comunica com os mais velhos, obtém um impulso muito poderoso em suas habilidades e, se tudo estiver bem, é provável que em um ano você seja promovido a júnior e receba um aumento em seu salário. E então cabe a você escolher. Atualize para médio ou mude para outra empresa para um novo impulso. Isso não é felicidade? Esse método é o mais eficaz, porém, para conseguir um emprego ainda como estagiário é preciso ter alguns conhecimentos. Então pegue o livro e vá conquistar as montanhas. Qual é o próximo? Depois de estudar a base, você encontrou seu primeiro emprego. Tudo que você precisa fazer é aprimorar suas habilidades. Neste estágio, você é um desenvolvedor bastante independente, pode receber pedidos reais de freelance, escrever e vender software ou conseguir um emprego oficial e ganhar 300 mil por segundo. Se você não começar hoje, nunca mais começará. Ficarei feliz em responder suas perguntas.