Pessoal, estou enfrentando uma grande dúvida atualmente em relação à escolha de uma linguagem de programação. Eu sei que o mais importante é a lógica e não a ferramenta em si, mas em termos financeiros, estou tendo dificuldade para adquirir um novo notebook. Meu notebook atual é um i3, com 4GB de RAM e um HD de 290GB.
Estou indeciso entre as linguagens Java e C#, pois ambas são bastante similares. Após uma pesquisa aprofundada, descobri que a linguagem C# depende completamente das IDEs JetBrains Rider ou Visual Studio. Infelizmente, meu notebook não consegue executar nenhuma dessas IDEs devido às suas limitações de hardware. A única opção viável para mim seria o Visual Studio Code, que, embora não seja uma IDE completa, é um editor de código. No entanto, em C#, muitas tarefas precisam ser realizadas manualmente com o Visual Studio Code.
Por outro lado, o Java possui uma IDE, o Eclipse, que pode ser executada no meu notebook, embora com um desempenho não tão bom, consumindo cerca de 40% da RAM. O Eclipse oferece recursos de depuração e suporte completo para Java.
Minha indecisão se dá porque o Java é mais fácil de aprender novas tecnologias e frameworks (como o Spring, que iniciou a inversão de controle nos frameworks). Além disso, a maioria das vagas de emprego na área pede conhecimento em Java. No entanto, tenho algumas objeções em relação ao Java, como o fato de ser propriedade da Oracle e suas limitações em termos de recursos e inovações na linguagem.
Por outro lado, o C# é uma linguagem muito semelhante ao Java, com algumas melhorias. Uma das vantagens é o compromisso da Microsoft em relação ao ecossistema .NET e seu apoio ao open-source, o que me atrai. A Microsoft conquistou minha confiança nesse sentido.
Enfim, estou em dúvida sobre qual linguagem escolher, levando em consideração a produtividade. Atualmente, estou estudando Java por causa da faculdade, mas tenho minhas reservas em relação a essa linguagem.
Eu entendo que muitos dizem que você deve escolher uma linguagem e se aprofundar nela, mas não quero ficar pulando de linguagem em linguagem. Quero aprender e me aprofundar em um ecossistema específico.