Como todo desenvolvedor de Java sabe, a Oracle comprou a Sun e o futuro do java parece pouco claro, especialmente porque a Oracle quer monetizar a JVM. Java como uma linguagem também tem sido obsoleta nos últimos anos, a não inclusão de fechamentos é um exemplo (que pode ser incluído no java 1.8). Ao mesmo tempo, algumas novas tecnologias, como Ruby, Scala e Groovy, estão sendo usadas. para entregar sites complexos.
Gostaria de saber se existem empresas ou organizações que estão conversando, fazendo picos ou começando a usar uma tecnologia diferente, com a idéia de parar de usar java para projetos de campo verde, da mesma maneira que há 15 anos as empresas migraram do C ++, perl e outras tecnologias para Java. Também estou interessado em saber quais são as impressões disso, por exemplo: planejando migrar para uma tecnologia diferente em 2 anos.
Para ser claro, não estou perguntando qual tecnologia é melhor. Estou perguntando se sua organização está pensando em deixar o Java para outra tecnologia.
Respostas:
Nem um pouco - na verdade, estou investindo pesadamente em Java como uma plataforma na minha empresa (uma startup que desenvolve aplicativos e ferramentas SaaS para mineração de dados).
Aqui estão os motivos:
Escolher Java como plataforma não significa que você precise usar Java como linguagem. Usamos o Clojure como a principal linguagem de desenvolvimento de aplicativos, passando ocasionalmente para Java, quando necessário. Mas outras linguagens JVM como Scala e Groovy também são ótimas.
Pessoalmente, não estou preocupado com a Oracle . A principal implementação do Java quase certamente continuará sendo de código aberto ( OpenJDK ) e disponível gratuitamente. Se a Oracle fez algo estúpido, outras grandes empresas (acho que a IBM e o Google em particular) investiram demais em Java para deixar isso escapar, e elas poderiam facilmente continuar desenvolvendo o Java sem a ajuda da Oracle.
A JVM é um ótimo ambiente de execução . Plataforma cruzada, desempenho muito alto, tecnologia JIT de otimização extremamente boa. É perto o suficiente da velocidade nativa que eu não me importo com a quantidade fracionária que é mais lenta que o C / C ++, e essa sobrecarga é mais do que compensada pela coleta de lixo adequada e um ambiente de execução de código de código gerenciado etc.
Java possui um ótimo ecossistema de bibliotecas de código aberto . Na verdade, eu diria que é o melhor ecossistema global de qualquer idioma. Isso significa que a maior parte do "trabalho pesado" em termos de infraestrutura já foi realizada, com uma qualidade extremamente alta. E o fato de que a maioria das coisas necessárias é de código aberto significa que você não tem o custo (em termos de dinheiro e tempo de gerenciamento) para obter licenças.
O Eclipse é um ótimo IDE e fornece uma cadeia de ferramentas fantástica para o desenvolvimento de aplicativos corporativos robustos. Usamos a integração Maven, JUnit, Git / SVN e várias outras ferramentas disponíveis como plug-ins do Eclipse. Tudo "simplesmente funciona".
Finalmente, quais são as outras opções?
O .NET é a única plataforma com recursos comparáveis e eu pessoalmente gosto de C #, mas ele trava você nas tecnologias da Microsoft (piores que o Oracle / IBM IMHO) e não possui a mesma amplitude do ecossistema de código aberto. Ótimo para lojas Microsoft, mas não se você quiser controlar seu próprio destino tecnológico. E sim, o Mono é fofo, mas não posso apostar em meus negócios em uma plataforma que possa ou não ser capaz de manter um nível de compatibilidade com o mainstream do .NET.
Depois, existem todas as outras ótimas linguagens que são muito boas no que fazem (por exemplo, Ruby, Python, PHP, Javascript), mas não oferecem um equivalente abrangente e atraente à plataforma Java. O risco é que você precise começar a colar muitas coisas em uma arquitetura um pouco menos que bonita. Não é um problema para a criação de sites, aplicativos rápidos e sujos, mas menos atraente para o desenvolvimento de produtos a longo prazo.
O C / C ++ é ótimo para programação de sistemas e jogos, mas é muito complexo / caro / inflexível para o desenvolvimento de aplicativos da web modernos.
E também existem as linguagens bonitas que eu amo como Haskell, que são fantásticas do ponto de vista acadêmico, mas simplesmente não têm a adoção / ecossistema da indústria necessária para torná-las uma opção de plataforma credível. Também posso obter a maioria dos benefícios da programação funcional moderna executando o Clojure na JVM .....
Então, sim, é uma decisão complexa. Mas tomei a decisão de Java acima de todas as outras opções depois de muita pesquisa e consideração consideráveis. Eu ainda tomaria a mesma decisão hoje.
ATUALIZAR
Algumas palavras sobre a escolha do Clojure na JVM como uma escolha de idioma. As principais motivações para isso foram:
fonte
Tudo depende do cliente.
O Java sempre terá seu próprio pequeno nicho, onde as pessoas gravitarão por um motivo ou outro, pelos mesmos motivos pelos quais as pessoas gravitam para .php ou .net, mas, em última análise, depende dos requisitos e preferências do cliente.
Se um cliente diz ... Quero que este aplicativo esteja em java ... vamos dizer não? provavelmente não ... se eles disserem que realmente não nos importamos ... vamos escrever em java? provavelmente não, mas isso é apenas especulação.
Temos aplicativos escritos em java que têm uma longa história, mas parece que o cliente está substituindo meticulosamente TUDO pela marca windows .... oracle para sql server ... unix / linux com server 2008 ... e php e java com .net.
Se isso acontecer, sim ... a menos que um novo cliente entre e diga ei ... queremos que isso seja escrito em java ... estaremos usando .net.
fonte
Primeiro, uma premissa: não trabalho em uma empresa de software.
Ok, usamos o Oracle como nosso banco de dados principal com todas as nossas informações importantes armazenadas nele. Por esse motivo, planejamos continuar usando o Java para qualquer coisa relacionada ao Oracle. A aquisição da Sun pela Oracle é um incentivo para continuarmos usando Java para qualquer coisa relacionada à Oracle.
Porém, todos os aplicativos de desktop são escritos em C #, pois tudo é baseado no Windows.
fonte
Para responder a sua pergunta. Não.
Em empresas de qualquer tamanho significativo, geralmente não são os desenvolvedores que decidem questões como se a empresa deve se afastar do Java e buscar outra coisa. E para os tipos que tomam essas decisões, outros fatores além dos listados são importantes.
Pelo contrário, acho que o futuro está claro. A evolução do Java continuará em um ritmo lento, mas constante, e as principais tecnologias SE e EE continuarão livres. Para mim, a única área real de incerteza é o que acontecerá com o confronto entre Oracle e Google. Mas de uma forma ou de outra, espero que o Android / Davlik prospere como uma alternativa ao Java ME ... mas apenas para plataformas móveis.
Isso pode irritar os desenvolvedores, mas a "estabilidade" é realmente uma conseqüência da Sun / Oracle prestar atenção ao que a empresa deseja ... uma linguagem / plataforma com estabilidade a longo prazo.
Novamente, da perspectiva da administração, o júri discute se essas tecnologias são melhores em todos os aspectos.
Uma decisão no nível da empresa de mudar para um novo idioma tem custos e riscos significativos, especialmente se houver uma quantidade significativa de código existente no idioma "herdado".
fonte