When comparing R vs Scala, the Slant community recommends Scala for most people. In the question“What are the best (productivity-enhancing, well-designed, and concise, rather than just popular or time-tested) programming languages?” Scala is ranked 21st while R is ranked 46th. The most important reason people chose Scala is:
The immutable values make it perfect for working with concurrency
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Lots of packages available
There are lots of different packages available that can be easily searched from the CRAN repo site and downloaded, or installed via the R command line interface. These packages are easy to include in a project or source file, and pertain to a wide variety of topics, from classification, social media analysis, and text processing to interactive 3d plotting and networks (including neural nets).
Pro Has a wide range of options when it comes to IDEs/GUIs
Among the IDEs available there are several commercial applications as well as free and/or open-source ones, such as R Studio, which features syntax highlighting, project management capabilities, integrated terminal access, decent code completion and on-the-spot parameter hinting, graphical interfaces for package installation and such, and commendable extensibility/developer support.
Pro Immutable values
The immutable values make it perfect for working with concurrency
Pro Multiparadigm
Scala supports both Functional and Object Oriented styles of programming. Beginners can learn both paradigms without having to learn a new language, and experts can switch between the two according to what best suits their needs at the time.
Pro Type inference
Scala offers type inference, which, while giving the same safety as Java's type system, allows programmers to focus on the code itself, rather than on updating type annotations.
Pro Compiles to JVM bytecode
Aside from Java itself, Scala is by far the most popular of the many JVM languages. If you're developing for Android, or a similar JVM-only platform, or otherwise need out-of-the-box cross-platform compatibility, but the performance of a compiled language, Scala is the way to go.
Pro Very good online courses
On coursera you can find great introduction to Scala by Martin Odersky.
Pro Type inference leads to a simpler syntax
Pro Expressive functional programming abstraction for reusable and safe code
Cons
Con Can be intimidating for beginners
Scala is an industrial language. It brings functional programming to the JVM, but not with a "start small and grow the language" perspective, but rather a very powerful language for professional programmers.
Con Way too complex for beginners
Even for seasoned programmers it's a difficult language.
Con Static type system inherits cruft from Java
The type system is too complicated yet still less powerful than Haskell's.