Hoje eu postei uma pergunta perguntando sobre qual linguagem C # ou Java seria melhor para eu estudar. Eu tive ótimas respostas. Uma coisa que surgiu foi que talvez o Java agora esteja bastante atrasado do C # com novos recursos. Eu vi alguns links da Web e a maioria apontou o que o C # tinha e o que o java não tinha.
Então, minha pergunta para todos vocês é que o Java vai recuperar o c # novamente? E se você adivinhar qual seria a situação daqui a 5 anos. Teria tudo o que talvez esteja faltando agora? E o Java 7?
)
's, muito obrigado.Respostas:
Os recursos de linguagem são uma parte muito pequena do que faz com que Java e C # funcionem. Em última análise, essas são partes de ecossistemas J2EE e .NET maiores.
Ambos têm suas próprias forças e devem crescer mais nos próximos 5 anos.
fonte
Eu teria dito que sim até a Oracle entrar em cena. O que é triste, porque eu realmente gostei do avanço dos recursos que Java e C # tiveram nos últimos seis anos.
fonte
Como linguagem, não expiro o Java para adicionar inovação a uma taxa significativa, principalmente porque os membros da comunidade de código aberto que estão na vanguarda têm maior probabilidade de se concentrar nas linguagens mais recentes da JVM, como Scala, Clojure, Groovy, JRuby e JPython.
Além disso, o compromisso do Java com a compatibilidade com versões anteriores significa que a adição de recursos da linguagem é inerentemente mais difícil do que nos dias anteriores da linguagem.
fonte
O grande ponto de interrogação aqui é Oracle. A Sun realmente desacelerou as coisas para Java nas últimas meia década. A esperança de muitos na comunidade Java era que a Sun desligasse o Java ou o vendesse para alguém que colocasse muitos recursos e esforços. Embora a Oracle certamente possa fazer isso, é uma grande empresa com muitos grupos com seus próprios interesses. Meu palpite, e é apenas isso, um palpite, é que a Oracle deixará o Java estagnar e o utilizará principalmente como uma ferramenta para processos de patentes.
Talvez eles o vendam para o Google por uma grande quantia de dinheiro e todos ficarão felizes. Está nas mãos de salas de reuniões e advogados, em vez de engenheiros e designers de software.
No lado bom das coisas, mesmo sem melhorias, o Java é uma boa linguagem e possui um bom ecossistema. Enquanto eu pessoalmente prefiro C # e o mundo .net, Java ainda é uma ótima opção. No futuro, o tempo dirá, mas a partir de agora o Java não é nada ruim. (Bibliotecas de data e hora excluídas ... uau, são aquelas sempre feias e bagunçadas)
fonte
Não há nada para acompanhar, então a questão não faz sentido.
Só porque o Java não replica exatamente o C # não significa que seja "inferior" de alguma forma, é apenas diferente. É melhor perguntar quando o C # "alcançará" Cobol.
fonte
A questão de saber se o C # ou o Java está à frente do outro está em debate, mas, em vez de focar nos recursos da linguagem de um ou de outro, prefiro focar no que está envolvido na evolução de uma linguagem. Esse é um fato que eu acho que ninguém discutirá: Java é mais antigo que C #.
Problemas na alteração de como um idioma funciona:
Então, o C # tem mais recursos de linguagem que o Java? Acho que sim. Eles são úteis? Acho que sim. Isso significa que o C # é melhor ou mais maduro que o Java? Que eu discordo. Eles são diferentes, claros e simples. Java nunca terá todos os recursos do C #, como C # nunca terá todos os recursos do Java.
Um dos recursos do Java, a capacidade de escrever um programa no Windows e implantá-lo no Unix ou Mac, nunca acontecerá diretamente pelo suporte da Microsoft. Porque você pergunta? Não é porque a Microsoft é má (se é verdade ou não, eu realmente não me importo). É porque eles aprenderam uma lição que a Sun nunca aprendeu: escrever uma vez, executado em qualquer lugar, comodifica os sistemas operacionais e o hardware. Se você se preocupa em ganhar dinheiro com as vendas do seu sistema operacional, não deseja tornar trivial a troca e ainda assim ter um aplicativo funcionando. Se você fez isso, não poderá lucrar com o sistema operacional, porque sempre há opções mais baratas.
fonte
Java realmente não precisa de novos "recursos", assim como C ou C ++. É uma linguagem bem projetada para o desenvolvimento orientado a objetos. As adições que podem ser feitas estão na criação de bibliotecas para executar uma ampla variedade de tarefas. O mesmo vale para o C # - a maioria dos recursos está sendo adicionada para fazer o idioma fazer mais coisas. Pessoalmente, acho que a maioria desses recursos não é necessária - os ponteiros no OO são realmente muito leves, a menos que você esteja trabalhando no nível do hardware (nesse ponto, provavelmente é melhor usar algo como C). Além disso, a execução em uma VM deve dificultar o acesso direto ao hardware, se não impossível.
O Unix iniciou a tendência de criar módulos que fazem uma coisa muito bem. Eu acho que ambos Java e C # estão ficando um pouco fora de mão na fluência característica. É melhor criar um núcleo facilmente extensível do que uma "linguagem" multifuncional gigante, mais parecida com uma estrutura. Para mim , o Java se ajusta melhor a esse requisito que o C #.
fonte
Não há nada de errado com muitos dos recursos que o C # está adicionando, mas, dada a taxa na qual eles estão mudando o idioma, eles estão conscientemente dificultando, se não impossível, o Mono acompanhar. Nesse caso, digo que estamos esperando o C # recuperar o Java em termos da variedade de sistemas nos quais ele pode implantar. Não é suficiente apenas executar no Windows.
fonte
Não vou iniciar um fórum de discussão, mas acho que o Java estava aqui muito antes do C # e, nesse caso, o C # parece mais uma replicação do que um java.
Quanto ao answareing de sua pergunta: Java e C # são linguagens diferentes, portanto, você não pode compará-los apenas por seus recursos. O que você pode fazer em Java, você não pode em C # e vice-versa.
Então, finalmente, isso é como iniciar um tópico Windows vs Linux.
fonte