C# ou Java? - ME AJUDEM NESSA PLS!

Boa noite a todos, decidi aprender uma nova linguagem e estou em dúvida entre Java OO e C# por serem linguagens bem parecidas, mas afinal qual a diferença entre elas? qual afinidade de cada? e qual é a melhor para aprender?

C#.

Te ajudou? Eu espero que sim. Mas eu acho que você deveria usar um critério melhor para decidir. Sempre terá alguém que vai aprender alguma coisa para te convencer o que ela deseja que você faça, não o que é bom para você. Por isso não vou investir muito nisso, se quer escolher de forma tão frágil, pra mim tanto faz o que escolher.

Eu dei uma resposta mais completa: https://pt.stackoverflow.com/q/110142/101.


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).

No começo podem ser parecidas, pois foram influenciadas pelo C++, mas são bem diferentes na medida que se especializa.

Para dizer sobre, em vez de refazer algo que já foi bem feito, prefiro linkar aqui videos ótimos para melhor construir a visão sobre, do canal Codigo Fonte TV:

Java: https://www.youtube.com/watch?v=sZAxLRMxEUo

C#: https://www.youtube.com/watch?v=NXVQasys0B8

Ser influenciadas pelo C++ é um pouco exagerado, especialmente Java não foi, mesmo que eles falem que foi. QUalquer pessoa que programe em C++ dá risada dessa afirmação que a Sun inventou e a internet "abraçou". Claro que elas lembram em sintaxe, parte do que é C. Mas PHP e JS também. Ninguém acha que teve inspiraçaõ aí.

Eu sou suspeito para falar pois sou Javeiro. C++ e Java são tão bons que estragam, são tantas frameworks, ferramentas, etc. que acaba surgindo muitos "dialetos" por assim dizer, trocar experiência está ficando cada vez mais difícil. O bom do C# é que todo mundo fala a mesma língua, MS tem expertise em criar softwares fáceis de usar, tem o VS Code, copilot, etc. galera do mundo C# tem foco, é como um raio laser de alta intensidade, pode ver o Windows e o Linux, galera do Linux é muito desfocada sempre discutindo qual distro é melhor, troca troca de distro, galera do Windows não perde muito tempo discutindo isso. Já trabalhei com C# e é bem tranquilo e "fácil". Java está mais de boa, mas as empresas estão presas na versão 8 e agora que estão migrando para a 11, e isso é uma dor de cabeça.

Na versão mais atual dá para escrever

void main(){
}

E tem muitas outras funcionalidades, como: Melhor concorrência entre as threads, melhor escopo das variáveis, melhor mecanismos de encapsulamento, adeus ao suporte 32-bits, melhor desempenho, amadurecimento de record (chega de um monte de get e set), etc.

Muito obrigado pelo seu texto man, lendo ele, vi que ambas são boas linguagens =D

Eu sou do time C# e sinceramente tanto faz. Tente não depender das opinioes de terceiros para decidir isso, e se for só por diversão faz o mesmo sistema nas duas linaugens e ve qual vc gostou mais. Dito isso, os motivos de eu gostar de c#: Poucas ferramentas mas muito bem adotadas pela comunidade (EntityFramework, Visual Studio, FluentValidations, MassTransit, entre outras). No mundo .net eu tenho a sensaçào que em qualquer projeto que eu trabalho estao sendo usadas as mesmas libs, e todas resolvem oque devem resolver de forma muito certeira. No mundo java existem várias otimas ferramentas, mas muitas repetidas e que me passam a impressao de que cada um gosta da sua. Por isso acredito que C# seja mais facil para iniciar.

Obrigado Pedro, vendo alguns comentários e vídeos decidi aprender as duas(o básico) e depois ver qual linguagem eu me identifiquei melhor e avançar nela, hehe vlw!