Java, C#, Metro, Android, TIOBE. Java ou C#? Me de boas razões para escolher Java depois disso

[quote=Zignd]Olá galera depois de fazer varias pesquisas no Google, sobre o desenvolvimento de aplicativos para Windows 8 que virá com sua nova interface, o Metro, só será suportado pelas linguagens da Microsoft, C#, VB .Net …, e Java, quando comecei a estudar Java pensei que seria a melhor opção, por ser multiplataforma e por rodar em muito mais sistemas do que as linguagens .Net da Microsoft que só funcionam no Windows, e também porque gosto bastante do Linux.
[/quote]

CLR é um padrão e Microsoft.NET é uma implementação dele. Mono.NET é outra. O Mono roda no linux (é suportado pela Novell atualmente, que tem muitos interesses nno linux). Portanto, .NET não funciona apenas no windows. O que acontece é que a Microsoft adora adicionar coisas não padrão na lib do .net para fazer vendor lock-in e essas partes, sim, só funcionam em windows.

O C# também é um padrão (assim como o javascript) e o fato de ser mais usado em .NET não significa que não poderia ser usando em outros, apenas não ha vantagem em criar um compilador C# para bytecode da jvm. Se quer uma linguagem cross-platform, aprenda scala , pyton , ruby ou até fantom…

Agora, como plataforma, o Mono está em todo o lado, inclusive no android e no iphone/ipad. Não sei até que ponto o suporte é bom e vale a pena, mas o fato é que está lá.

Só que se vc está fazendo um raciocinio contrário ao que deveria. Vc tem que escolher a plataforma conforme os seus objetivos e depois a linguagem na plataforma, não ao contrário. Se vc apenas sabe java só consegue chegar onde a JVM chega. .NET não funciona em JavaCard, por exemplo, mas isso não é um problema. Se vc quiser mexer com javacard, precisa usar java.

Existem uma tecnologia chamada IKVM que permite rodar java dentro do .NET e compilar libs de bytecode java para CLI. Isto não resolve todos os problemas (Como a interface UI) ,mas resolve bastantes coisas. Por outro lado, a interface UI não é o que define um sistema.

Planos da Oracle para o futuro nos dizem que javafX (a nova tecnologia de ui em java) estará no android e no iphone/ipad. Acho que vamos ter que esperar para ver. Tecnicamente isto sempre foi possivel (afinal existia jvm para o palm que nem sequer tinha muitthread nativo) o ponto é que ainda não é mainstream nem existe uma forma padrão para fazer isto. Quem manja de escovação de bits consegue fazer, mas os comuns mortais não 8) …

Quer fazer aplicações distribuidas ? java. Quer fazer aplicações desktop ? java. Quer fazer android ? use o android SDK em java.
Quer fazer a sua aplicação deskto parecer uma aplicação metro : faça seu look&feel swing (em java)

Cada proposito tem uma tecnologia e mais do que uma é possivel muitas vezes, então, não é uma questão da liguagem que vc quer ou gosta, mas do sistema que vc está tentando criar. Ou então, vc adota o java e se exclui do mundo que não o usa. Não simples assim.

A escolha é sempre sua.

a minha opinião. c# e vb e qualquer coisa .net é pra frango… java sempre resolveu meus problemas ao contrário de .net
obs: trabalho com .net atualmente por solicitação do cliente mas eu sempre tenho que recorrer ao java qdo problemas ocorrem.

Pelo menos TIOBE mede interesse dos desenvolvedores de acordo com ferramentas de busca. E o índice doravan é baseado em que?

É impressão minha ou esse tempo de assunto sempre vem de um usuário novato no post e com os mesmos argumentos de outro usuário que desaparece repentinamente?

Windows RT para tablets não terá suporte a Java, e Windows 8 para desktop vai vir de fabrica configurado para aceitar apenas aplicativos baixados da Metro Store, que não aceita Java.

Alguém tem duvida que a maioria dos usuários vai preferir a experiência integrada da loja de aplicativos?
[/quote]

Eu acho q a primeira coisa que os usuários vão fazer é mudar da interface Metro pra interface tradicional :)[/quote]

Eu tbem… igual aconteceu com o UAC… a primeira coisa que os usuários começaram a fazer foi desligá-lo!!! rs rs rs

[quote=kdoigor]
a minha opinião. c# e vb e qualquer coisa .net é pra frango… java sempre resolveu meus problemas ao contrário de .net
obs: trabalho com .net atualmente por solicitação do cliente mas eu sempre tenho que recorrer ao java qdo problemas ocorrem.[/quote]

De acordo com o indice TIOBE cada vez menos usa-se Java para resolver problemas.

Não se trata de impressão.
São os mesmos trollers e eu fico admirado com a quantidade de pessoas que ainda tentam argumentar com nonsenses iguais a este.
Quanto mais espaço derem a este tipo de coisa, mais regozijados estarão os trolls.
Quando existe um assunto sério, uma dúvida coerente, algo que realmente pode importar, a maioria sequer olha.
Pode pesquisar, veja que a maior parte das threads abertas são respondidas sempre pela mesma meia dúzia de pessoas, salvo raras exceções. Agora, quando um tópico fuel to flamewar é aberto, aí todo mundo manja de java, conhece tecnologias, sabe a superioridade deste ou daquele SO.

Qualquer índice é tendencioso. Ou vocês acreditam nas pesquisas de intenção de votos? Na opinião de jornais da tv? De jornais impressos? De notícias na internet?
Não há verdade unica e absoluta, a verdade é um conceito relativo.

O que eu vejo, Java é bem superior e mais cotado que C, C++, .NET, delphi e PHP, em CURITIBA. Fora daqui? Sinceramente, fod%$%#$#-#$$%$.

E tópicos como este deveriam ser sumariamente bloqueados. Discussão inútil.
O pior é que eu não sei quem é mais desocupado, o troll que abre tópicos assim ou as pessoas que tentam convertê-lo.

E o índice drsmachado é mais confiável que o TIOBE porque…?

Enquanto vocês ficam aí se preocupando com ranking de linguagens e o que é mais utilizado, pessoas realmente inteligentes estão perdendo seu tempo criando coisas bacanas com Java, C#, Objective-C(e consequentemente ganhando dinheiro com isso).

a minha opinião. c# e vb e qualquer coisa .net é pra frango… java sempre resolveu meus problemas ao contrário de .net
obs: trabalho com .net atualmente por solicitação do cliente mas eu sempre tenho que recorrer ao java qdo problemas ocorrem.[/quote]

Frango é achar que Java é a solução para todos os problemas.

Linguagem de Programação é somente uma ferramenta utilizada para implementar uma lógica.

Os melhores programadores são os que sabem a lógica e a linguagem, e não somente a linguagem.

Pode ter certeza que os problemas que você não consegue resolver em C# e VB é por conta de uma deficiência técnica sua e não da linguagem.

Perfeito :D.