Hem Scala hem de F #, OO zorunlu programlama ve işlevsel programlamayı bir dilde birleştirir. Paradigmaların birleşmesine yönelik yaklaşımları yine de çok farklı. Scala çalışır sigorta F # yan iki paradigmalar tarafı temin ise, (bunu nesne fonksiyonlu paradigma olarak adlandırılır) içine bir iki paradigmaları. Örneğin, F # 'daki cebirsel veri tipleri, içerisinde OO'nuz bulunmayan tamamen işlevsel yapılardır, oysa Scala'daki ADT'ler hala normal sınıflar ve nesnelerdir. (Not: CLR bayt kodunun derlenmesi sürecinde, F # ADT'ler bile sınıflar ve nesneler haline gelir ancak kaynak düzeyinde F # programcısı tarafından görülemezler.)
F #, tam Hindley-Milner tarzı tip çıkarımına sahiptir. Scala kısmi tür çıkarımı vardır. Subtyping ve saf OO-ness desteği Scala için Hindley-Milner tarzı tipte çıkarımı imkansız kılıyor.
Scala, F # 'dan çok daha minimalist bir dildir. Scala, dil boyunca yeniden kullanılan çok küçük bir ortogonal yapı kümesine sahiptir. F #, her küçük şey için yeni bir sözdizimi ortaya koyuyor, böylece Scala'ya kıyasla çok sözdizimi ağırlaşıyor. (Scala'nın 40 anahtar kelimesi vardır, oysa F # 97'dir. Bu size bir şey söylemelidir. :-)
Bir Microsoft dili olmak Visual Studio biçiminde mükemmel bir IDE desteğine sahiptir. Scala tarafında işler o kadar iyi değil. Eclipse eklentisi hala işaretin üstünde değil. Aynı NetBeans eklentisi için de geçerli. IDEA, şu anda en iyi bahsiniz gibi gözükse de, Java IDE'ler ile elde ettiğiniz şeye yaklaşamadım bile. (Emacs hayranları için ENSIME var. Bu paket hakkında çok iyi şeyler duydum, ancak henüz denemedim.)
Scala, F # 'dan çok daha güçlü (ve karmaşık) tip bir sisteme sahiptir.
Not: Hem Scala hem de F # 'yı seviyorum ve gelecekte kendi platformlarının baskın dilleri olduklarını umuyorum. :-)