Article image
Leonardo Demetrio
Leonardo Demetrio01/08/2021 19:38
Compartilhe

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.

image

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.

image

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.

image

image

image

image

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.

image

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.

image

image

image

image

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!

image

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.

image

image

image

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 é!

image

image

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.

Compartilhe
Comentários (9)
Adriano Santos
Adriano Santos - 01/02/2022 08:30

Parabéns pelo artigo, pois é muito esclarecedor e têm ajudado aqueles que estão entrando no mercado a escolher qual caminho seguir e que se identifica mais.

Isac Leite
Isac Leite - 02/08/2021 15:23

Parabéns pelo artigo Leonardo! Muito bom!

🏂⚡️Eros M.Lima
🏂⚡️Eros M.Lima - 02/08/2021 12:35

Top Leonardo, muito bom!!!

Cleber Correia
Cleber Correia - 02/08/2021 08:05

Legal seu artigo Leonardo, valeu por compartilhar .

Ronni Souza
Ronni Souza - 01/08/2021 21:46

Curti demais o seu artigo Leonardo, a primeira linguagem que eu tive contato e foi a que mais me adaptei(amor a primeira vista kk), foi Csharp, logo atrás javascript, porém faço uns hello world da vida em python e C, kkkkk. Valeu pelo artigo!

José Júnior
José Júnior - 01/08/2021 19:47

Já eu prefiro Rust, por causa da utilização em blockchain.

Carlos Antonio
Carlos Antonio - 01/08/2021 20:14

Que artigo TOP Leonardo, parabéns pela dedicação e empenho. Só gostaria de ressaltar que no quesito que foi mencionado sobre performance lente para análise de dados com Java e C# é lento. Existe soluções no mercado para ambas as linguagens que se mostram até duas x mais veloz que Python e com volume de dados na casa dos petabytes.

Maiara Almeida
Maiara Almeida - 02/08/2021 04:04

Excelente artigo Leonardo.

Eu tive meus contatos iniciais com JavaScript e Python, além de R para alguma estatística.

Dentre os cursos que eu tenho feito para me aprimorar e fazer uma mudança de carreira, tenho um professor muito bom que sempre diz "Ame a solução do problema, não a ferramenta" .

Tenho o mesmo pensamento para linguagens.

Estou nesse mundo para ir aprendendo, talvez ser "poliglota" em tecnologia ;).

Obrigada pela dedicação, adorei o artigo.

Juliano Santos
Juliano Santos - 01/08/2021 20:33

Muito bom seu artigo Leonardo! Embora eu prefira o Python atualmente, também acho que o fato de estar sempre aberto à novas linguagens ajuda com as mudanças que vão ocorrendo ao longo do tempo. Parabéns mano, artigo top!!!