@abstractj
github twitter slideshare RSS

Unix based ou Windows

24 Oct 2007
Esta thread postada no GUJ me deixou impressionado, sobre uma discussão que parece eterna e muitas vezes é tratada como uma verdadeira religião.

- "Qual a melhor plataforma para desenvolvimento Java?"

Uma boa resposta seria: depende. Se o objetivo da empresa está na economia em licenciamento de software, uma solução proposta por muitos seria: Software Livre!

Ótimo, mas nem tanto, se o time de desenvolvimento não possuir conhecimentos mínimos sobre a plataforma, então um tempo mínimo será gasto para adaptação, por mais que as distribuições atuais tenham evoluído poderíamos ser otimistas para estimar um mês de aprendizado e preparo do ambiente.

De acordo com o perfil dos profissionais pode-se perder meses resolvendo problemas e equívocos cometidos sobre a plataforma. Outros fatores também devem ser avaliados:

  • Problemas aparentemente bobos como codificação de caracteres entre um sistema operacional e outro, por exemplo UTF-8 e ISO-8859-1. Existem casos em que esse tipo de cuidado inexiste e o projeto pode causar realmente grandes problemas;

  • Quais ferramentas serão realmente utilizadas? Se todas são livres, a equipe tem domínio sobre?

  • O seu ambiente de desenvolvimento é razoável o suficiente pra simular o ambiente do cliente? Por mais sedutora que seja a frase "Write once, run anywhere" seja muito sedutora, acredite, o mundo não é tão perfeito assim, podem surgir desde problemas de conectividade com o banco até a não realização do deployment.

  • Qual é o foco da sua empresa? Sistemas operacionais ou desenvolvimento?

  • Qual é teu prazo? O tempo que perde-se discutindo qual ambiente desenvolver, poderia ser gasto em planejamento do processo para produção de um software de boa qualidade;


Algumas empresas utilizam a técnica do "deixa por conta do desenvolvedor", o que pode ser uma boa alternativa desde que não impacte em perda de tempo dele e nem dos outros em algo que não é o foco para o produto final, acredito que os sistemas operacionais existentes tem seus benefícios não importa qual.

O estabelecimento de um ambiente minimamente padronizado é o que importa para gerência do caos, e redução desse overhead entre desenvolvimento e plataforma, entre qual é melhor ou pior.

Pelo que percebe-se na internet, gasta-se muito tempo com discussões sobre qual é melhor: Linux x Windows, Netbeans x Eclipse....enfim, quando na verdade o mais interessante seria a discussão sobre qual processo de desenvolvimento adotar e apenas pesquisar sobre o que o mercado tem utilizado, pois não é necessário reinventar a roda, apenas buscar casos de sucesso, já ajuda.
blog comments powered by Disqus
Copyrights © abstractj 2011. All rights reserved.