Design)言語の不備を乗り越えるためのデザインパターンJavaでのVisitorパターンなどはScalaでは不要。filterなど)が実装しにくく、提供すらされていない。break分を書き忘れるバグプログラマが頑張ればJavaでもできたが、Scalaのコンパイラが代わりに上記の言語の不備を補う仕事をやってくれるScalaの不便なところ起動、コンパイルがやや遅いただし、sbtを使ったコンパイル-テストの実行のサイクルが速いので多少待ち時間は緩和されている書こうと思えば(あるいは言語が提供するライブラリに不慣れなうちは)読み難いコードが書けてしまうSIMD命令など、CPUの特性を生かしたコードを書くためには、JNIなどを通す必要があるメモリ管理に厳しさが必要なアプリケーション(ゲノムアセンブラなど)を書く場合、メモリ管理がライブラリ、JVMのGCの裏側に隠れてしまうので予測しにくい。