Recursionでは複数の言語を選択してコーディング問題を解くことができますが、全ての言語で解く必要はありません。現時点(2021年10月4日)では、C++, Java, PHP, JavaScript, Python, TypeScriptで解くことができ、今後Go, C#, Swift, Ruby等の他の言語も追加する予定です。
全ての言語で問題を解こうとすると膨大な時間がかかってしまい効率的ではありません。本来コンピュータサイエンスとは言語に依存しないスキルセットを身につけるものであるため、全ての言語で何度も特定のシンタックスを練習する必要はありません。
しかし、Recursionでは静的型付け言語の練習を推奨しており、中級コース以降はJavaでの学習を特に推奨しています。
静的型付け言語:
RecursionではJavaの学習を推奨していますが、強い型付けを必要とするOOP言語ではあればC++、C#、Swiftのような他の言語でも問題ありません。学習する言語は、OOPの基本原則(継承、ポリモーフィズム、カプセル化)を適用し、静的に型付けされている必要があります。
静的型付けされた言語では、入出力の型、データ構造、より安全なコードの書き方など、ソフトウェア開発に必要不可欠な要素を練習することができます。特にこれらの言語では、コンピュータサイエンスで学習したことを応用してアウトプットすることが求められるため、Recursionでは強く推奨しています。
実際OOPコース、デザインパターンコースはJavaをメイン言語としてカリキュラムが作成されています。したがって、中級コースまではPythonかJavaScriptで進み、Javaで復習し、上級コースからJavaをメイン言語として学習しましょう。