ちなみに私は設計する際に特定の言語使用を前提に設計はしていません。
実装言語がJavaだろうがC++だろうがなんだろうが、あるレベルまでは何の問題もありません。