Como escolher uma linguagem para desenvolver um sistema

[caption id="attachment_2123" align="alignnone" width="300"]linguagens linguagens[/caption] Essa pergunta é um pouco dificil para ser respondida, como dizia meu professor de Programação (Wilson, TSIN, UNINOVE):
"Essa é uma resposta muito pessoal, outros professores podem discordar, linguagem e religião não se discute, rsrs" Wilson, TSIN, UNINOVE
Para responder essa pergunta, primeiramente é necessário fazer alguns questionamentos:
  1. Qual o tipo de linguagem você mais domina?
  2. Que tipo de sistema irei desenvolver? Sistema para Supermercado, Sistema para Centro Automotivo, Sistema para Contabilidade, Loja Virtual?
  3. Onde o sistema ira rodar? Desktop, Internet, Servidor, Celular?

Qual o tipo de linguagem você mais domina?

Linguagem para desenvolver um sistema para quem está apredendo

Se você está aprendendo, podemos recomendar o Visual Basic, pela facilidade em fazer um programa e a quantidade de material de apoio disponível na internet. Porém o Visual Basic tem lá suas vantagens  e desvantagens e a grande desvantagem é que o Visual Basic está ligado a uma ambiente de desenvolvimento que é o Visual Studio da Microsoft. Mas daí você me pergunta: "Mas qual o problema em utilizar linguagens que estão ligadas a ambiente de desenvolvimento?" Eis a resposta.

Linguagem ligada a um ambiente de desenvolvimento

Apresentam algumas desvantagens:
  • Você depende do fornecedor do ambiente, no caso do Visual Basic, a Microsoft
  • São utilizados formatos proprietários para representação intermediária
  • As melhorias, as vezes, demoram muito a chegar
  • Você não tem 100% de controle para trabalhar o código
  • Os custos com o desenvolvimento e para a manter o programa aumentam com compras de licenças, ambientes, SO, etc. Por exemplo: Segundo minha última cotação, o Visual Studio custava em torno de $11,000, já o NetBeans é de graça!

Que tipo de sistema irei desenvolver?

Se você for desenvolver um sistema para uma loja como um centro automotivo, você terá que usar um sistema como C++, Java, Delphi, entre outras. Se for desenvolver uma Loja Virtual as linaguagens são PHP, JavaWeb, ASP, etc.

Onde o sistema ira rodar? Desktop, Internet, Servidor, Celular?

Baseado nas linguagens que estão sendo mais utilizadas utimamente:
  • Desenvolver para Desktop: Java
  • Desenvolver para Web: PHP
  • Desenvolver pora Celular: Java ou Object-C

Desenvolver um sistema que roda desktop, no celular e na internet

Imagine o seguinte, digamos que você queira desenvolver um sistema que precise rodar no Desktop, que precise rodar no Celular (para emissão de pedidos por exemplo) e na Web (para visualização de Relatórios ou caso o cliente queira ver o status do seu pedido). Nesse caso já foge apenas do scopo da linguagem, e já parte para a esfera do Banco de Dados. Escoha um bom banco de dados (como SQL ou Oracle) que permita a conversa entre as linaguagens que serão usada para desenvolver para o Desktop, Celular e Web. Se você gostaria de ver quais linaguagens são mais utilizadas atualmente, veja o gráfico abaixo. Essa pesquisa está no site http://www.langpop.com/. [caption id="attachment_2124" align="alignnone" width="758"]linguagens mais usadas atualmente linguagens mais usadas atualmente[/caption]

Loading