JAVA , C# ou Python ? Ainda prefiro o C !
- #C#
- #Java
- #Python
Olá pessoal, tudo bem ?
Galera hoje eu vim falar um pouco sobre as linguagens de programação ai no mercado.
No dia a dia vejo muitas pessoas com certa facilidade em algumas linguagens. Isso de certa forma é bom, se você tem facilidade em usar Java ou C# significa que você não tem dificuldade em utilizar um C ou Go, mas pode ter dificuldades em Python e JavaScript.
Esse comportamento é muito comum no pessoal do Back-end indo para o Front-End ou vice versa.
Então vamos começar por ele, que alguns dizem estar na UTI, outros dizem que nunca vai morrer, o JAVA.
O Java é um carinha velho no mercado, ele tem muito mais afinidade com Linux o que faz com que o pessoal do Windows tenha uma certa dificuldade para utilizar, mas não é tudo isso, tem tecnologias mais difíceis como Ruby. Entretanto, o Java tem uma curva muito alta de aprendizado o que faz com que seja maçante para um iniciante ter que consumir todo aquele conteúdo.
Hoje em dia o Java é muito utilizado, mesmo que o C# com .NET 5 esteja crescendo astronomicamente, muitas empresas utilizam ele. O profissional de Java hoje atua tanto no desenvolvimento de novos sistemas como na manutenção de sistemas legados com Java 7 e 8.
O Java hoje é utilizado em:
- Desenvolvimento mobile nativo
- Desenvolvimento de sistemas para servidores
- Desenvolvimento de sistemas web
- Desenvolvimento de microsserviços
A Leo, mas e Jogos e análise de dados ?
Com relação a analise de dados, eu até concordo que é possível desenvolver sistemas de analise e inteligência artificial com Java, porém não é a linguagem mais aconselhável para isso. Para esses trabalhos, utilizaria o Python e o R!
Quanto a Jogos, eu ja falei e repito. Não, não usaria e não recomendo. Tem pessoas que se aventuram com o Java nos jogos, mas nem mesmo a própria indústria utiliza. Não é compátivel, é lento, não tem uma conversa muito rápida com sistema operacional e o processador em ambientes tridimensionais e de manipulação de malha. Antigamente, muitos jogos utilizavam o Java, naquela época do V3 ou do Nókia, mas hoje os arquivos mobiles .Jar não são mais uma realidade.
O próximo cara para a gente bater, é o C# ou C sharp ou C Hashtag.
Bom galera eu sou um Dev .NET e sim tem muita coisa para falar. Hoje em dia o Java tem um espaço muito grande no mercado porque lá trás a Microsoft achou que o HTML não ia dar em nada e não quis criar uma linguagem server side, ai veio o JAVA.
O C# não se difere em algumas coisas do JAVA, ele tem uma curva alta de aprendizado também, mas diferente do Java essa curva não é tão demorada, ela e mais dinâmica. Um outro fator é que o C# tem algumas funcionalidades nativas diferente do Java que tem que ser feito um import, muitas vezes externos.
Hoje em dia, o C# é utilizado para muitas coisas. Muitos sistemas novos estão sendo criados com .NET 5 ou 3.1, mas nem sempre foi assim. Durante muito tempo o mercado cresceu para o lado do Java e os profissionais de C# .NET eram requisitados apenas para manutenção de sistemas legados. Entretanto achar um cara .NET pleno e Senior para recrutadores era um sufoco, isso porque eles são caros.
O C# hoje é utilizado em :
- Desenvolvimento de Sistemas
- Desenvolvimento web
- Desenvolvimento de microsserviços
- Desenvolvimento de ferramentas Desktops
- Desenvolvimento mobile
- Desenvolvimento de Jogos
Hoje é possível fazer quase tudo em C# !
Ok Leo, mas onde você não utilizaria C# ?
Olha, eu não utilizaria C# em desenvolvimentos Mobiles, para isso eu deixo o Java que é nativo para o Android e o JavaScript. Não utilizaria o C# em desenvolvimento de analises de dados e nem em inteligência artificial. Assim como Java, esse processo é muito lento.
Entretanto, diferente do Java, o C# é bom para o desenvolvimento de games e pega nativamente no windows. Isso quer dizer que eu posso fazer tudo no sistema operacional Windows sem utilizar nenhuma outra ferramenta além do Visual Studio.
Se me perguntasse, qual linguagem você escolheria para utilizar pelo resto da vida ? Eu responderia Python em primeiro lugar!
O Python é uma linguagem de fácil entrada, super utilizada na análise de dados e no desenvolvimento de inteligência artificial. Se você tem um Linux, o Python 2 já vem nativo na sua máquina basta usar ! No Windows o Python também funciona e muito bem !
Podemos utilizar ele no Terminal, no VScode, no Sublime, no Bloco de notas, online e em outros lugares.
O Python também tem outras vantagens como seu framework WEB o Django. Gente, o Django é leve, rápido são apenas algumas pastas formando um MVC e você não precisa instalar um Pycharme da vida para isso, só entender como funciona e subir seu sistema web.
A curva de aprendizado do Python é muito rápida e olha eu eu sou um Dev .NET, mas Python tem um lugar no core! Tem pessoas que aprendem Python básico e orientado a objetos em 1 a 2 meses. Isso é equivalente a curva de aprendizado de linguagens como JavaScript, GO e C. É uma linguagem muito boa para iniciantes!
Hoje o Python é utilizado em projetos com ETL, Inteligência artificial, analise de dados, Web Scraping e outros.
Ok Leo, mas onde você não utilizaria Python ?
Vamos lá, o Python é fácil, mas não não é maravilhoso. Eu não utilizaria Python para desenvolvimento de microsserviços complexos, talvez eu crie um microsserviço em um container de Django, mas seria algo isolado, isso porque nesse sentido o Python não é performático. Para tarefas robustas como essa eu recomendo o JAVA e o C#.
Outra coisa, tem gente que consegue criar Jogos com Python e aplicações Mobile utilizando códigos semelhantes ao PySimpleGui e o Kyvi. Isso é muito legal para testar o mesmo vale para as outras linguagens, porém eu não recomendo, hoje temos linguagens e ferramentas dedicadas para isso. O Java ou o Js utilizaria para Mobile e o C# ou C++ para Jogos.
Entretanto, o Python conversa muito bem com o sistema operacional igual o C. Isso faz com que o Desenvolvimento de Engines ou plataformas de modelagens 3D como blender seja possível, mas isso não quer dizer que a programação do Jogo é feita em Python, apenas a ferramenta.
Hora dele, o Pai de todas as linguagens, o C!
O C foi uma das primeiras linguagens empregadas no mercado e que a partir dele todas as outras surgiram. JAVA, C#, PYTHON, GO, JAVASCRIPT ......... e vai a lista. Todas surgiram a partir do C.
Saber C de forma mais profunda te da a vantagem de saber como a linguagem conversa com o sistema operacional, além de entender como funciona a alocação de memória e o garbage collector do C# e do JAVA, já que aqui você tem que fazer ele na mão.
Mas não se engane, o C é poderoso, mesmo não sendo tão utilizado hoje, ele continua sendo um carinha teimoso. Diferente do Java o C não lida muito bem com os sistema de concorrência dos processadores, por isso criaram GO. O C ele não fala se seu código está errado, ele só pergunta se tem certeza que deseja rodar o código e trava seu banco de dados caso esteja errado. Isso força o DEV a fazer certo kkk. Porém o C e o C++ são utilizado no desenvolvimento de Engines de games como Unreal e Unity, existem pessoas que criam sistemas de Raytracing com C ou C++ puro no terminal do Windows ou Linux de tão potente que ele é!
O que podemos tirar disso :
Não ame a linguagem.
Cada linguagem se adequa a um tipo de situação, claro , você deve se especializar em algo, mas não fique fissurado. Geralmente quem gosta de Java não toca em C# , ou que usa Js não toca em Python e vice versa. Porém se seu cliente utiliza uma outra linguagem, você vai deixar de aprender algo novo e ganhar um dinheiro a mais só porque você não gosta de linguagem X ?
Então galera, não tenha uma linguagem de estimação. Cada linguagem resolve um problema diferente e não deve haver uma briga para ver quem é melhor.
Bom galera é isso, fiquem com Deus e até o próximo artigo.