Pergunta

O que é o melhor sistema operacional para o desenvolvimento Java? Pessoas de Sun estão empurrando o Solaris, sim Solaris tem alguns recursos extras incluídos em si como (DTrace, possibilidade de ajuste de desempenho da JVM, etc ..). Alguns amigos meus, teve porta de sua aplicação no Solaris, e eles disseram-me que as performances foi brilhante. Eu não estou feliz com a mudança meu sistema operacional, e usar Solaris vez.

Quais foram suas experiências?

Foi útil?

Solução

Dos três que eu usei (Mac OS X, Linux, Windows), considero Linux o melhor lugar para fazer o desenvolvimento Java.

A minha máquina pessoal primário é um Mac, e eu fiz um monte de desenvolvimento Java lá e fui feliz com ele. Infelizmente, porém, a Apple fica atrás dos lançamentos oficiais do JDK e você está praticamente limitado a poucas versões que eles escolhem para fornecer.

A minha máquina fornecido pelo empregador é um velho P4 caixa da HP que eu uso principalmente para manter os pés quentes. O trabalho real ocorre "Oberon", em um 2.6 GHz quad-core rodando Ubuntu 8.04 no modo de 32 bits [1]. A duas vantagens aviso I dia-a-dia, em comparação com o Windows são:

  1. A linha de comando poderosa, que me ajuda a automatizar as coisas pouco chato.
  2. o desempenho do sistema de arquivos superiores Far. (Eu estou usando atualmente EXT3 porque eu estou me tornando conservadora na minha velhice. Eu costumava ReiserFS anteriormente, que foi ainda mais rápido para os tipos de operações de um normalmente realiza em grandes espaços de trabalho check-out de subversão.)

Você pode obter essas vantagens de um Mac também, mas Linux oferece um outro bônus agradável:

  • X11 remoto: Antes da minha $ EMPREGADOR desde e-mail e calendário via web, eu tinha que estar na caixa do Windows para ler meus e-mails e vê as minhas reuniões, então eu usei X11 da Cygwin. Isto permitiu que a minha para executar as coisas no Linux, mas exibi-lo no meu desktop janelas.

[1] Eu costumava correr Ubuntu no modo de 64 bits, mas eu tive um problema sem fim. (Mistura de 64-bit e 32-bit é algo Mac OS X faz muito melhor.) 7.04 aplicativos de 32 bits finas correndo trabalhou no kernel de 64 bits. 7,10 quebrou o script linux32 ea capacidade de instalar aplicativos novos de 32 bits embora os antigos continuaram a (principalmente) prazo. 8,04 matou java 32 bits, fazendo com que seja impossível de se conectar à rede a partir de um 32-bit JVM (há mais atualizações para Eclipse). Correndo Eclipse 64-bit não funcionou de forma confiável. A versão actual de oxigênio seria executado apenas (a contragosto) sob a IBM 64-bit VM que iria trabalhar para cerca de 10 minutos até que parou recebendo eventos de teclado. Eu finalmente deu-se em frustração e usei meu Mac por alguns meses até que eu tive tempo de folga suficiente para fazer uma instalação de 32 bits de 8,04 na caixa de linux. Agora tudo funciona novamente e estou muito feliz.

Outras dicas

Desenvolver em que quiser. Como um programador java que você pode querer evitar Mac OS X, principalmente porque novos recursos parecem ter sido significativamente atrasado, e também porque você pode achar que você não tem uma máquina que suporta as novas versões do Java. Tendo dito que eu imaginar desenvolver no Mac OS X deve ser muito agradável (interface de linha de comando, o DTrace, agradável OS).

Eu desenvolver no windows com IntelliJ 7. Está tudo bem, mas precisa de algum hardware robusto. Eu, então, implantar em solaris / linux. A menos que você está escrevendo GUI do ou integração com código C ++, você deve estar bem escolher o que te apetecer.

"desenvolvimento"?

Eu acredito que você deve ficar para o sistema operacional que você é o mais confortável, ou que é o mais disponível para um grande grupo (de desenvolvedores), como por exemplo um conjunto de PCs no Windows.

É raro precisa fazer ajuste em profundidade sobre desenvolvimento plataforma.

Você iria reservar todos aqueles dtrace e outro ajuste de desempenho para a plataforma de montagem (por exemplo, no Linux), para implantações diárias onde tudo é recompilados e testado unidades.

E então você poderia configurar uma JVM especial (como IBM JRockit vez de Sun JRE) para fazer algumas análises sobre sua plataforma de integração, onde todo o seu sistema pode ser testado de frente para trás, com o teste de estresse e não-regressão

E, finalmente, fazer todos (testes de aceitação do usuário) UAT em uma plataforma de pré-produção (que pode ser um F15K caro ou SunFire880 ou V490 ou ...), com a meta JRE utilizado lá.

Meu ponto é:. Há tantos parâmetros a ter em conta entre desenvolvimento e lançamento em produção que a mudança OS numa fase tão precoce pode revelar-se desnecessário

Desenvolver sobre o que você está feliz, e teste em que você implantar em.

eu começar a desenvolver Java no meu Mac, e implantar no Solaris e Linux. A verdade é que a maior parte das tarefas, Java pode ser desenvolvida de forma independente do sistema operacional. Isto é especialmente verdadeiro para o desenvolvimento do lado do servidor.

Eu gosto de desenvolver em um Unix, em geral, sobre uma caixa de Windows, mas isso sou eu.

Eu diria Mac OS X.

desenvolvimento Java embutido. Todas as ferramentas de linha de comando do UNIX que você deseja. Sai da caixa. Ant e Maven estão lá. Nem as versões mais recentes, mas isso é bastante fácil de atualizar.

Sim, você pode não ter a versão mais recente do JDK, mas realmente, a menos que tenha uma necessidade de desenvolver para o mais recente e maior JDK, não vai ser um problema.

A resposta é easiear do que você imagina: use o seu sistema operacional favorito. Para Java, é a melhor resposta. Não o próprio, mas o seu conforto desenvolvimento vai ajudar o seu sucesso, navegação docs etc em seu ambiente favorito.

Pessoalmente, eu não iria incomodar. Gostaria de usar a plataforma que suporta melhor as ferramentas de desenvolvimento e plataforma de destino que você usar.

Por que você precisa para ajustar a JVM? Isso é uma coisa muito incomum a querer fazer. Você ser melhor escrito em uma linguagem de nível inferior, como C ++?

Dtrace está disponível para OS X, há uma porta linux também. Solaris historicamente teve uma reputação de ser lento (daí o apelido Slowaris). Eu não tenho certeza se isso ainda é verdade.

Tenho tido sucesso antes de fazer desenvolvimento Java no Windows com Eclipse. Parece que você também estão perguntando sobre a implantação / hospedagem. Qualquer que seja o sistema operacional é melhor para executar seu aplicativo em não deve realmente predicado que OS você usa para desenvolver o aplicativo.

Windows e Eclipse funciona bem, como PMILLER sugeriu. Também posso recomendar OS X com Eclipse ou IntelliJ IDEA (este último também funciona no Windows, também).

Eu só nunca feito o desenvolvimento mais básico Java no Solaris (prática de programação estruturas de dados básicos na Universidade), por isso não posso oferecer qualquer comparação real, eu tenho medo. Eu fiz encontrá-lo bastante doloroso no Solaris, no entanto, devido à falta de ferramentas adequadas (Acho que eu estava restrito a nedit ou algo assim).

Uma coisa que você tem que levar em conta é se você estiver indo para estar a desenvolver uma aplicação que pode ser executado em um mac. Eu amo OS X, mas o bom e velho steve a certeza de que estamos sempre muitas versões do JDK para trás. Nós apenas mal tem Java 6. Desenvolver em um mac pode, pelo menos, garantir que você está trabalhando sob o menor possível versão JDK.

Eu usei Linux, Windows e OS X. O meu grande argumento a favor do OS X é que ele é usuário do sistema operacional amigável (ie. Eu posso executar iTunes, os navegadores mais modernos, e não precisa alocar 50 % do meu tempo mantendo-o em um laptop como o Linux) com uma base UNIX. Como a maioria meu desenvolvimento é para sistemas UNIX, isso faz com que a vida imensamente mais produtiva. Além disso, há uma comunidade cada vez mais ativa de desenvolvimento por trás da plataforma aqui. Estes motivos também trabalho no sentido inverso para Windows - enquanto cygwin fecha alguns dos meus requisitos para a utilização de ferramentas Unix - Não é nada como ter um sistema unix real.

O seu ambiente de desenvolvimento deve ser a produção como mesmos.

Não existe um "melhor ambiente de desenvolvimento", que não é idêntico ao seu ambiente de produção. Executar o que você executar na produção, no desenvolvimento.

Dito isto, isso não significa que você não pode executar o seu IDE, por exemplo, em outro sistema operacional, desde que você ainda fazer o desenvolvimento no mesmo sistema como a produção (em outra máquina, ou uma máquina virtual, por exemplo).

Windows é apenas multa.

Solaris é um ambiente maravilhoso desenvolvimento Java também (eu gosto melhor do que o Windows, mas por razões subjetivas), mas a menos que você estiver implantando nele, pode não valer a pena a mudar.

Linux é um pouco desajeitado para o desenvolvimento Java, mas factível.

A única que eu não posso recomendar é o Mac porque eles são sempre tão atrás da versão do Java disponível (não fornecidos pela Sun, a Apple faz seus próprios).

Meu melhor conselho é desenvolver sobre a plataforma que lhe são dirigidas. Dessa forma, quando você executá-lo durante a sua testes de desenvolvimento e executar os testes de unidade, você sabe que ele vai trabalhar na plataforma de destino também, sem surpresas desagradáveis.

Se você está direcionando todas as plataformas, então você pode realmente quer desenvolver em um Mac porque você vai ter surpresas mais desagradáveis ??no Mac. Tanto quanto Java vai, no Windows e Unix, "ele simplesmente funciona", mas não tanto no Mac. Sun desenvolve o tempo de execução Java (JRE) para todos os sistemas operacionais, exceto Mac. A Apple desenvolve seu próprio JRE.

Se você desenvolver no Mac, você é mais provável desenvolver contra o mínimo denominador comum, então o que é executado no Mac deve ser executado em outros. Essa tem sido a minha experiência.

Exceto que, eu sempre recomendo que você escolher o sistema operacional com base em se ele é executado o seu software. Escolha o sistema operacional que executa o seu IDE e outras ferramentas que você usa para desenvolvimento e teste. Se mais de um sistema operacional executa as ferramentas que você precisa, escolher o que lhes o melhor é executado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top