Python me preparou, e agora o C# que se cuide!
Aprender uma nova linguagem de programação é sempre um desafio, especialmente quando você já está confortável com outra, que é o meu caso. Hoje, quero compartilhar um pouco com vocês de como vem sendo a minha jornada como uma pessoa Desenvolvedora Python que resolveu mergulhar no universo do C#. Espero que minha experiência possa ajudar quem também está aprendendo ou pensando em aprender uma nova linguagem, especialmente se você está acostumado com Python.
Quando comecei a aprender C# (faz mais ou menos 1 mês, sim isso é muito recente), uma das primeiras coisas que notei foi a diferença e que bateu um pequeno desespero foi na sintaxe e verbosidade. O meu queridinho Python é conhecido por ser mais simples de codar, é como se a linguagem fosse feita para tirar o "ruído" do código e deixar apenas o essencial. Já o C# é beemm mais detalhado, mais "verbal". Onde em Python você escreve poucas linhas para resolver um problema, em C# Você precisa ser mais explícita. Um exemplo simples seria a declaração de variáveis e o uso de tipos: enquanto Python te permite declarar algo como x = 10 sem pensar duas vezes, em C# Você precisa dizer claramente que int x = 10;. Essa diferença, no início, parece uma burocracia, mas também traz uma sensação de clareza e segurança que confesso que ainda estou me acostumando.
Outro aspecto interessante foi a tipagem. Python é dinamicamente tipado, o que significa que você pode mudar o tipo de uma variável sem maiores preocupações no futuro (pelo menos é essa a ideia haha). Isso sempre me deu uma sensação de liberdade para programar, mas também já me causou alguns bugs difíceis de detectar. Em C#, a tipagem é estática, e isso vem sendo uma mudança bem marcante para mim. No começo, parecia que eu estava sendo constantemente "freada" pelo compilador, mas depois percebi que essa rigidez toda na verdade ajuda. Saber que o compilador está verificando tudo me trouxe mais confiança no que eu estou fazendo, e me fez pensar melhor sobre o que cada variável deveria representar, venho até achando mais fácil implementar o famoso clean code.
Em questão de IDEs, eu não senti tanta diferença assim pois para codar usando Python eu utilizo o Pycharm, agora aprendendo C# eu uso o Rider que também faz parte do ecossistema da Jetbrains (isso não é uma publi hahaha, mas eu curto muito as IDEs feitas por eles).
Falando agora em paradigmas, Python sempre me pareceu uma linguagem que diz "faça do seu jeito e seja feliz". Você pode escrever código imperativo, funcional ou orientado a objetos, e eu sempre achei isso um máximo. Agora em C# Senti que a orientação a objetos é muito mais centralizada. O uso de classes, interfaces e a estruturação do código em torno desses conceitos são esperados, e isso me levou a organizar melhor minhas ideias e abstrações. E acredito que com o tempo, essa mudança na forma de pensar vai me ajudar ainda mais a melhorar sobre a importância de um design bem estruturado, algo que agora estou tentando aplicar também nos meus projetos Python.
Recomendados pelo LinkedIn
Sobre bibliotecas e frameworks, uma coisa que percebi é que, enquanto Python tem uma vasta quantidade de bibliotecas para praticamente qualquer coisa (muitas delas criadas e sustentadas pela comunidade), C# Parece ter um ecossistema mais padronizado, com muitas funcionalidades já disponíveis na própria linguagem ou nos pacotes oficiais da Microsoft. Isso tem suas vantagens, pois facilita encontrar o que você precisa sem ficar perdida em diversas alternativas, mas também me deu saudades da variedade e do dinamismo da comunidade Python que também é incrível.
Gerenciamento de memória foi outro ponto interessante. Em Python, o garbage collector faz um ótimo trabalho, e raramente precisei pensar sobre como a memória estava sendo usada. Já em C#, os conceitos como IDisposable e a necessidade de liberar recursos de forma explícita estão aparecendo logo no início. Isso me fez refletir mais sobre o uso eficiente de recursos, algo que eu normalmente não considerava tanto em Python.
E claro, não posso deixar de falar também sobre performance e compilação. Em Python, o ciclo de "escrever e rodar" é muito rápido, o que me dá uma certa sensação de agilidade. Já em C#, o processo de compilação inicialmente estava parecendo uma barreira, mas percebi que ele atua como uma rede de segurança. Quando algo compilar em C#, eu sinto uma confiança maior de que o código vai funcionar como esperado (mesmo que demore hahaha). No fim das contas, cada abordagem tem seus prós e contras, certo? e estou aprendendo a apreciar os benefícios de ambos os mundinhos.
Bom, aprender C# Vem sendo uma forma de sair da minha zona de conforto totalmente, mas também de entender que existem várias formas de se chegar ao mesmo objetivo. Cada linguagem traz suas próprias filosofias e ferramentas, e aprender algo novo me faz perceber como Python e C# têm suas forças complementares. Com o C# venho tendo uma nova apreciação pela clareza, estrutura e até mesmo segurança, e trago para meus projetos em Python um pouco mais de disciplina e planejamento.
Espero que compartilhar essas pequenas ou grandes diferenças tenha sido útil! Se você está pensando em aprender uma nova linguagem, recomendo se jogar de cabeça – as recompensas vão muito além do código que você escreve!
Backend Developer | Docker | GIT | Golang | Java | Python | Spring
2 mAmei o artigo!! Eu passei por uma experiência parecida, eu sou Main Java ☕ , fui alocado em um projeto em python 🐍 e tive que me adaptar com POO em python (Nunca tinha nem visto). A coisa mais difícil pra mim foi tentar não programar em Java dentro do Python hahaha
Cientista de Dados em ascensão | Engenharia de Software (React, Node.js, Python, Java)
2 mParabéns nesta nova caminhada Ana
Application Support Engineer at Cubic Telecom | C# | Python | Mikrotik | SysAdm
2 mAs "outras" você aprende mais fácil, mas para ganhar dinheiro é com C# , principalmente na gringa - que piadinha horrível a minha rsrs.
Site Reliability Engineer II
2 mExcelente artigo, Aninha!
Assistente de TI | Estudante de Data Analytics | Python | Power BI | SQL | SQLite | BI
2 mExcelente leitura Ana , adorei ! E parabéns pela iniciativa de aprender uma nova linguagem 👏🏻👏🏻👏🏻