Escolhendo uma linguagem de programação: Mercado
Já analisamos duas variáveis para ajudar na escolha de uma linguagem de programação para um novo projeto: desempenho e aprendizado. Agora analisaremos a terceira variável: o Mercado. Arrisco-me a dizer que essa é a variável mais importante, pois se você quer ganhar dinheiro com o software, inevitavelmente você deve avaliar o mercado para definir se o software é viável ou não. Aqui vão algumas ideias sobre o mercado de linguagens de programação na visão do mercado consumidor, produtor e de trabalho.
Consumidor
Começando pelo mais importante: o mercado consumidor. Voltando para a hipótese de que a informática é uma área meio, ou seja, a informática ajuda a resolver os problemas das outras áreas. Dessa forma, se seu cliente escolhe a linguagem desde o início, sua única alternativa é utilizar a linguagem definida e fazer/modificar o software. Mas digamos que você pode escolher a linguagem, então você ainda precisa do consumidor para definir isso. Vamos ao exemplo: o cliente pediu um software exclusivamente para Android. Nesse caso as escolhas recomendadas são Java e Kotlin, pois estas são as linguagens padrão do SDK do Android. Outro exemplo? Seu cliente é parceiro Microsoft e utiliza todo o ecossistema provido pela gigante de Redmond. Aqui será utilizado C# e .NET Framework.
Produtor
Se o cliente é quem bate o martelo, por que a decisão do produtor do código importa? Simples, porque ele é quem vai colocar a mão no código-fonte. No momento em que o cliente dá uma certa liberdade para a escolha, o produtor (empresa ou programador) pode tomar a decisão de forma mais sensata avaliando todas as variáveis necessárias. Quanto mais gente usa a linguagem de programação, mais fácil será achar um programador com bons conhecimentos na linguagem ou alguém para prestar uma consultoria e tirar dúvidas. Assim a produtividade não estará comprometida se um desenvolvedor chave sair e projetos chave para a empresa terão continuidade.
Mercado de Trabalho
Na visão do empregador, se ele começa um projeto em Java e então um dos desenvolvedores pede para sair, conseguir outro programador Java será fácil, pois há muita gente usando Java. Enquanto encontrar alguém que sabe COBOL é mais difícil. Assim o empregador precisa oferecer treinamento, o que inevitavelmente diminui um pouco o ritmo dos projetos até que o novo funcionário esteja bem treinado e produtivo. Na visão do programador, se ele obter uma certificação numa linguagem muito utilizada, como a OCJP (Oracle Certified Java Programmer), ele pode concorrer às melhores vagas em empresas que oferecem uma boa remuneração e condições de trabalho de acordo com um profissional gabaritado e experiente.
Conclusão
Embora seja possível resolver a mesma classe de problemas com linguagens de programação diferentes, a escolha entre elas ainda depende do mercado no qual o cliente, o produtor e os trabalhadores estão inseridos. Tomar decisões ignorando o que acontece no competitivo mercado de software é um tiro no pé que pode levar ao fracasso do projeto por falta de clientes, falta de mão de obra ou improdutividade.