Muitas vezes me deparei com essa pergunta, vinda de colegas, amigos e conhecidos, independentemente se estão dentro ou fora do ramo de desenvolvimento de software.
Para pessoas fora do ramo, respondo: não há. Para pessoas do ramo, respondo…não há.
O fato de não existir a melhor linguagem é conhecido, assim como o fato de que não há a melhor banda, o melhor time de futebol, etc. Porém é importante entender que, na maioria das vezes, existe sim a melhor escolha considerando-se as circustâncias do que está em jogo.
Em um projeto a ser iniciado, dê atenção á 5 pontos ao escolher a linguagem ou plataforma:

  1. Experiência da equipe
    Isso é provavelmente o fator mais importante. Se sua equipe não tem o mínimo de experiência em uma nova plataforma ao adotá-la em um projeto, o rendimento poderá ser catastrófico. Se caso a sua intenção é explorar uma nova tecnologia, faça isso usando os chamados “spikes”, que são basicamente pequenos testes com objetivo de conseguir provas de conceito.
  2. Público-alvo
    Outra questão muito importante é quem vai usar ou se beneficiar com a sua solução, e qual plataforma esses usuários estarão usando. Dependendo da natureza do seu produto, você pode ter um público amplo usando qualquer tipo de dispositivo (ex: um e-commerce) ou podem ser apenas funcionários usando IE6 (no caso de um sistema de gestão interno). É preciso levar em consideração a compatibilidade entre a tecnologia escolhida e o ambiente do usuário, pois você não vai querer passar semanas desenvolvendo uma feature que não funcionou na hora do cliente usar, só porque ela não foi testada em um ambiente igual ao do usuário.
  3. Cuidado com as “key features” do seu produto
    Ao pesquisar uma tecnologia nova, muitas vezes descobrimos uma possibilidade nela que nos faz perceber imediatamente um caso de negócio para aplicá-la. Ás vezes o entusiasmo é tanto que nos faz querer adotar a tecnologia só por causa dessa feature, porém é interessante pesquisar se é possível implementar isso em em outra plataforma também. Por exemplo: notificações real-time com Node.js/Socket.io. É totalmente possível usar um mecanismo de WebSocket em outras linguagens, portanto deixa de ser um fator decisivo ao escolher a tecnologia.
  4. Investimento e mercado
    É importante também tomar cuidado com fatores como custo de licença (se aplicável) e custo de certificações e treinamento da equipe, bem como disponibilidade de consultoria especializada caso seja necessária a contratação em alguma fase do projeto.
  5. Comunidade
    Por fim, devemos sempre considerar fatores como comunidade e disponibilidade de profissionais no mercado, e nunca desconsiderar isso em favor de vantagens técnicas de uma linguagem. Porém, vai uma dica: com uma comunidade ainda crescendo, você pode se tornar um case de sucesso para atrair mais profissionais a estudarem a tecnologia que você escolheu. Fique atento á esse tipo de oportunidade.

Em suma, uma das ações mais relevantes para se ter sucesso em um projeto, na parte técnica, é tomar uma abordagem pragmática, ou seja, sempre olhar o lado prático das consequências de uma decisão, pesando fatos e dados reais ao invés de considerar especulações e gosto pessoal. Afinal, não existe a melhor linguagem.

Autor

Wende Mendes é desenvolver na Bluesoft há mais de 13 anos. Atualmente, ele lidera uma grande equipe de desenvolvedores que atua no módulo de Comercial e Operações do software da Bluesoft.

3 Comentários

  1. Concordo.
    Acho ainda que, a participação da comunidade seja essencial.
    É muito difícil trabalhar com uma tecnologia sem uma documentação atualizada e sem a ajuda da comunidade tirando dúvidas, passando referências e compartilhando as experiências.
    Legal o post Rodolfo (cabelo)
    =)

Deixe aqui o seu comentário