Os recursos de encerramento do .NET são populares entre muitos desenvolvedores e Java parece implementá-los em breve. É claro que este é um recurso de linguagem, não um recurso de tempo de execução. Acho que qual dos dois você escolhe se resume à preferência pessoal e às oportunidades de carreira locais. Os recursos de encerramento do .NET são populares entre muitos desenvolvedores e Java parece implementá-los em breve. É claro que este é um recurso de linguagem, não um recurso de tempo de execução. Acho que qual dos dois você escolhe se resume à preferência pessoal e às oportunidades de carreira locais.
1.O que acontecerá quando o Java SE 7 encontrar o .NET CLR?
Como você pode ver na lista de recursos do Java SE 7, ele melhorou bastante em comparação com as versões anteriores. Então, é uma virada de jogo? Nos últimos anos, houve inúmeras melhorias na JVM e no .NET CLR. Muitas coisas que no passado só poderiam ser realizadas por programadores muito qualificados estão agora ao alcance dos programadores comuns, graças às melhorias na JVM; e o .NET CLR obtém.
Embora a JVM e o .NET CLR não tenham implementado a mesma ideia ao mesmo tempo, se uma boa ideia aparecer de um lado, o outro lado irá acompanhá-la rapidamente. Por exemplo, para Java, depois que o projeto Hibernate alcançou grande sucesso, o .NET também lançou rapidamente o NHibernate. As funções de encerramento do .NET são muito populares entre muitos desenvolvedores e Java parece implementá-las em breve. É claro que este é um recurso de linguagem, não um recurso de tempo de execução.
Os fechamentos do .NET são um sucesso e o Java logo seguirá o exemplo
2. Um tempo de execução derrotará completamente o outro em um futuro próximo?
Embora a JVM e o .NET CLR sejam muito semelhantes no nível técnico, cada uma delas tem seu próprio mercado e nenhuma delas é muito flexível. Se alguém criou sua infraestrutura em torno do servidor .NET e do IIS, não há como acordar no dia seguinte e migrar tudo isso para Java e vice-versa. Mesmo que uma empresa decida mudar sua plataforma de desenvolvimento, pode ser necessário substituir toda a sua equipe de desenvolvimento ou treiná-la do zero. Mesmo após a conclusão do treinamento, ainda existem sérias deficiências de habilidades, afinal, é impossível para um desenvolvedor .NET sênior se tornar repentinamente um desenvolvedor Java sênior após 3 meses de treinamento;
Além disso, a empresa precisa reter o pessoal técnico existente para manter o código existente. Você acha que esses funcionários vão ficar sentados e ver seus cargos serem eliminados ou suas habilidades se tornarem inúteis ou desvalorizadas. Claro que não? Para uma empresa, mudar completamente de Java para .NET ou mudar completamente de .NET para Java é um ato de suicídio. No máximo, os funcionários serão reeducados por meio de um projeto plurianual. A migração do VB6 para o .NET levou 8 anos desde que o .NET foi lançado.
A transformação de programadores e projetos leva tempo
3. O custo do desenvolvimento Java é mais econômico do que o desenvolvimento .NET? Em caso afirmativo, as pessoas recorrerão ao Java para economizar investimento?
Se você está apenas olhando as ferramentas, minha resposta é "certa e errada". Na verdade, você pode executar o Java em um pacote de código totalmente aberto, se desejar. Você pode usar uma combinação Linux/Tomcat/MySQL/Java ou usar uma combinação SpringSource no lado do servidor e Eclipse ou NetBeans no computador do desenvolvedor. Mas é importante ressaltar que você não será um grande fã de alternativas de código aberto por qualquer motivo, e não estou dizendo que as alternativas sejam ruins, se for esse o caso, o preço das ferramentas Java comparado ao; Ferramentas .NET Bastantes e, em muitos casos, ainda mais caras. E olhando para o que empresas como a Oracle e a IBM estão fazendo, fica claro que muitas empresas sentem a necessidade de pagar por ferramentas Java proprietárias. Em termos de preço, a Microsoft é quase sempre o fornecedor empresarial com o preço mais baixo em qualquer segmento de mercado.
Além disso, você deve considerar quanto dinheiro a empresa economizaria se não houvesse custos de mudança. O custo de uma cópia do Visual Studio é muito menor do que o salário semanal e o prêmio de seguro de um desenvolvedor de renda moderada. Além disso, o tempo que leva para o mesmo desenvolvedor aprender Java e atingir o nível em que é bom em .NET é muito superior a uma semana.
Para ser justo, esta análise também se aplica à mudança de Java para .NET. Comparado com a dor da mudança de plataforma, o custo das ferramentas de desenvolvimento é realmente insignificante. Claro que existem duas exceções. A primeira situação é construir uma nova empresa, para que não haja problema de custo de migração. Nesse caso, Java ainda não tem vantagem de custo, pois a Microsoft também lançou uma versão gratuita do Visual Studio (versão Express), e se sua empresa for nova, você pode obtê-lo gratuitamente por três anos através do BizSpark plano MSDN e licenciado pela Microsoft, eles não são ruins. Outra exceção são empresas com uma proporção muito alta de servidor para desenvolvedor, como Google ou Yahoo. Essas empresas podem ter muitos desenvolvedores trabalhando em um aplicativo executado em milhares de servidores. Nesse caso, as ferramentas do desenvolvedor não são o principal fator para a economia de custos, mas o espaço do servidor é. Para as empresas que enfrentam esta situação, o Java (e outras tecnologias de código aberto) pode ter uma vantagem de custo decisiva.
4. Quanta linguagem de script um desenvolvedor Java precisa saber para obter eficiência no .NET?
Primeiro, você está trabalhando em desenvolvimento web. Em caso afirmativo, você pode querer conhecer um pouco de JavaScript e se familiarizar com os frameworks correspondentes. Para trabalho de back-end, conhecer uma linguagem dinâmica ou de script não é obrigatório ou obrigatório. No entanto, existem muitas boas opções para esse propósito no espaço Java. Para alguém que atualmente não é desenvolvedor Java, não tenho nenhuma experiência real nesta área, mas ouvi muitas críticas boas sobre Groovy e Scala. Se você quiser escolher algumas das tecnologias mais convencionais, JRuby e Jython são boas escolhas.
Existem várias maneiras de melhorar o desempenho de aplicativos Java
Nos últimos anos, a JVM começou a oferecer suporte a linguagens não Java em grande número, e os desenvolvedores agora têm muitas opções. Aprender um deles certamente o ajudará a se tornar um desenvolvedor melhor (mesmo que você não os use em projetos de produção reais) e pode fornecer uma direção alternativa quando seu projeto travar.
O Java substituirá o .NET. É muito cedo para dizer. Ao mesmo tempo, o .NET não eliminará o Java. Ambos têm suas próprias vantagens e desvantagens. Acho que qual dos dois você escolhe se resume à preferência pessoal e às oportunidades de carreira locais.