Eu estava tendo uma pequena conversa entre colegas de equipe sobre como você escolhe uma linguagem de programação para uso em um projeto, o que me levou a pensar que existem muitos critérios para escolher um no início de um projeto, mas não há um padrão real.
Você escolheu uma linguagem de programação para sintaxe e semântica? Ou você escolhe um porque tem o melhor suporte para fazer certas coisas? Ou porque você tem bibliotecas melhores? Ou você o escolhe pelo paradigma?
Quais critérios você usa para escolher um idioma quando vai fazer um projeto?
const Haskell :: [Constraint] -> ProgrammingLanguage
.Respostas:
Meus critérios, em ordem:
É a ferramenta certa para o trabalho? Por exemplo, se você estiver criando um cliente de desktop gráfico em rede, convém usar uma linguagem que ofereça suporte a esse tipo de coisa, como Java ou C #. OTOH, se você estiver trabalhando em um sistema em tempo real, gostaria de algo que lhe desse mais previsibilidade e controle de baixo nível (como C).
É apropriado para o meio ambiente? Os compiladores / intérpretes estão prontamente disponíveis para a plataforma de destino?
É algo com o qual já estou familiarizado ou é um idioma que posso entender rapidamente? Por exemplo, como a maior parte da minha experiência é com C e C ++, posso pegar rapidamente linguagens com sintaxe semelhante (novamente, Java ou C #) facilmente. Algo que está em uma família completamente diferente (como Haskell) me levaria mais tempo para me sentir confortável.
É algo bem suportado, com muitas referências on-line e no papel?
fonte
Muitos fatores entrariam nele, eu acho
O idioma se presta bem ao tipo de aplicativo que você vai codificar?
Você está bem versado na linguagem de programação? (Torna-se mais importante à medida que os prazos diminuem)
Recursos de biblioteca e idioma para uma determinada área do seu aplicativo.
É um novo idioma? Foi testado e comprovado no domínio atual?
Quantas pessoas realmente codificam nele? Importante se você precisar de ajuda e houver uma comunidade ativa e grande
fonte
Critérios importantes para mim são:
Eu diria que sintaxe e paradigma não são tão importantes.
Eu não escolheria um novo idioma porque gostava da sintaxe ou do paradigma, mas tinha ferramentas com mau funcionamento e uma biblioteca mínima que não podia fazer a maior parte do que eu precisava.
fonte
Idiomas são ferramentas. Como em qualquer ferramenta, você precisa levar várias coisas em consideração:
1) Você tem acesso à ferramenta?
2) Você sabe como usar a ferramenta?
3) Das ferramentas que atendem aos critérios 1 e 2, qual é o melhor para o seu trabalho?
Se você tiver apenas uma ferramenta, a resposta é simples. Se você tiver uma dúzia de ferramentas, precisará analisar hospedagem, custos de manutenção e outros problemas periféricos.
fonte
Provavelmente isso vai me deixar com votos negativos, mas a coisa mais importante para mim é a sintaxe. Com os programas gastando muito mais tempo e esforço em manutenção do que nos escritos originais atualmente, a capacidade de pegar um pedaço de código desconhecido (de outra pessoa ou de mim mesmo se eu o escrevi há mais de seis meses) e determinar rapidamente o sua intenção é estatisticamente uma das habilidades mais importantes que um programador moderno pode ter. Uma linguagem limpa e de fácil leitura ajuda imensamente com isso.
Depois disso, em nenhuma ordem específica,
fonte
Eu só uso os idiomas que conheço melhor:
Não tento aprender um novo idioma quando inicio um novo projeto sério. Eu uso o que eu sei.
fonte
O custo para criar um aplicativo é quase proporcional ao tamanho do código; portanto, para minimizar o custo, escolho a linguagem mais poderosa usada para resolver problemas semelhantes. Não me preocupo com o número de programadores que conhecem o idioma, já que não precisarei de muitos. Também tento evitar o aprisionamento de fornecedores, por isso prefiro soluções abertas.
fonte