Escolhendo uma linguagem de programação: decisão de negócio

·

3 min read

Finalmente chegamos ao final da série sobre a escolha de uma linguagem de programação para um novo projeto. Este último artigo trata do ato final, tomar a decisão de qual linguagem utilizar baseado não apenas nos critérios técnicos que citei nos artigos anteriores, mas também nos critérios de negócios, ou seja, os que vem de outras esferas da empresa.

Hierarquia

Começo pelo critério que detesto. Infelizmente algumas organizações ou empresas ainda privilegiam a hierarquia ao invés de tomar decisões inteligentes. No entanto, a hierarquia só é válida quando vem junto com uma análise técnica. Se seu gerente ou chefe simplesmente diz para você utilizar Java porque ele gosta, isso não é muito inteligente.

Experiência

Essa não pode ficar de fora. Se a empresa possui uma vasta linha de produtos todos feitos na mesma linguagem de programação, será mais complicado treinar todos os desenvolvedores em uma nova linguagem. Juntando a isso a possibilidade da empresa possuir uma boa quantidade de componentes reutilizáveis de projetos anteriores ou até um framework próprio para um nicho de aplicações. A experiência também significa que alguém no passado da empresa falhou com outra linguagem e por isso mudaram para a usada atualmente para a maioria dos projetos.

Legado

Junto com a experiência vem o legado, mas este é pior e explicarei o motivo. Simplesmente é mais difícil achar um programador COBOL do que um programador Java. Em outras palavras, linguagens possuem uma época de clímax, onde há muita gente utilizando e aprendendo. O clímax de algumas já passou e, embora ainda sejam boas para o nicho, não costumam ser ensinadas no ambiente acadêmico ou cursos técnicos. Se o sistema mais lucrativo da empresa é feito em Natural, há treinamento e pagamento correspondente ao cargo, o jeito é o desenvolvedor aprender e continuar o sistema legado.

Parcerias

Nenhuma empresa está sozinha no mercado. Imagine uma empresa parceira Microsoft, ela paga uma taxa anual para isso e em troca recebe material, softwares, treinamento, tudo o que a parceria oferecer para a empresa. Dessa forma o mais razoável na maioria dos casos é que a empresa desenvolva software utilizando todo o ecossistema da Microsoft (SO, IDE, compiladores, frameworks, runtime, servidores de aplicação, etc). Posso tomar um caminho diferente? Talvez, depende da hierarquia, legado e experiência. Se por algum motivo a parceria não trouxer benefícios o suficiente para justificar o uso de determinada linguagem, a mudança é válida.

Conclusão

Nem sempre é possível parar para fazer uma análise técnica bem fundamentada. Os prazos são curtos, o cliente está impaciente, o chefe quer arrancar uma tira de couro sua. Eu enfoquei bastante a tomada de decisão como algo que deve seguir critérios técnicos, mas a última dica que dou é evitar a paralisia por análise. Há um período de tempo precioso entre o início do projeto e o lançamento do produto final, se sua empresa demorar demais, o concorrente ultrapassa e leva a fatia do mercado que o projeto tanto almejava.