回答:
私の基準、順番に:
それは仕事に適したツールですか?たとえば、グラフィカルなネットワークデスクトップクライアントを構築している場合は、JavaやC#など、すぐにそのようなことをサポートする言語を使用する必要があります。OTOH、リアルタイムシステムで作業している場合は、予測可能性を高め、低レベルの制御(Cなど)を提供するものが必要です。
環境に適していますか?コンパイラー/インタープリターはターゲットプラットフォームですぐに利用できますか?
それは私がすでに知っているものですか、それともすぐに習得できる言語ですか?たとえば、私の経験の大部分はCおよびC ++を使用しているので、同様の構文(JavaまたはC#)を持つ言語を簡単にすばやく選択できます。完全に別の家族(Haskellなど)にあるものは、慣れるまでに時間がかかります。
オンラインと紙面の両方で多くの参照があり、十分にサポートされているものですか?
私にとって重要な基準は次のとおりです。
構文とパラダイムはそれほど重要ではないと思います。
構文やパラダイムは好きでしたが、機能が不十分なツールと、必要なことのほとんどを実行できない最小限のライブラリがあったため、新しい言語を選択しませんでした。
これはおそらく私を失望させるでしょうが、私にとって最も重要なことは構文です。最近のプログラムよりもメンテナンスに多くの時間と労力を費やしているプログラムにより、見知らぬコード(他人のもの、または6か月以上前に作成した場合は自分のもの)を拾い、その意図は、統計的に現代のプログラマーが持つことができる最も重要なスキルの1つです。クリーンで読みやすい言語は、これに非常に役立ちます。
その後、順不同で、
私が最もよく知っている言語のみを使用します。
真剣に新しいプロジェクトを始めるとき、私は新しい言語を習得しようとはしません。私は知っていることを使います。
const Haskell :: [Constraint] -> ProgrammingLanguage
。