一見、この質問は反抗的で、ほとんどタブーに聞こえますが、ハックニーの答えは、すべてが主観的であり、タスクに依存しているという答えがしばしば出てきます。本当か?
論理と常識に戻り、プログラミング言語を比較するための最も客観的な基準を特定しようとします。自分の好きな言語が恥ずかしくて裏切られているのを見てがっかりすることを恐れない人は誰ですか?産業開発にどちらが良いかを推測してみましょう。
選択原理
生態系はたくさんありますが、一つの利点から始めるのはばかげているので、明確な点を排除して行動します。すべての比較は、客観的なベンチマークに基づいています。
保守性
まず第一に、言語はプロジェクトが維持可能であるために十分に主流でなければなりません。Haskell、Elixir、Nim、Erlangなどのエキゾチックで機能的なものすべてをすぐに船外に投げ出します...死にかけているRubyを同じ場所に投げます。同じ理由で、クローズド(Swift)のすべての種類の言語を破棄し、パスポート(1Cなど)のエコシステムに応じてさらに多くの言語を破棄します。
タイピング
業界の一般的な慣習では、弱い型付けは間違いなく読みやすさ、保守性を損ない、多数のエラーを生成することが示されているため、JavaScriptとPHPを破棄します。さらに、動的型付けは作業速度を低下させ、従来の動的言語のコンパイルオプションは保守が不十分であり、松葉杖で側面に付けられた倒錯のように見えるため、強く型付けされていますが、動的PythonとTypeScriptは省略しました。
乾燥残留物中
, -- C#, Java, C++, C Kotlin, Go Rust. ( ) C++ , , , .
Java vs C#
C# Java . . Java , , . C# , Java ( , , List
). .NET .
Kotlin
C# , ++. Kotlin , C# , . . C# , Kotlin "" . ? , , Kotlin . Kotlin, , C# , - Java.
Go?
Rust?
Rust C++, C++ , . Rust - , (!) , , C++.
. . !
, , , Kotlin, C++ . Kotlin , Android , JS WebAssembly , iOS, jpackage Windows, macOS, Linux "" .