Best Group of Programmers to Target with a Functional Alternative
As was stated on the whitepaper, there are many factors of specific programming languages that would make them suitable to be part of a process in which ProScala Foundation can encourage a career shift for Imperative developers.
On both sides (Imperative, Functional) there are points of significant importance to be able to run a process that can scale.
On the Imperative side it is important to mitigate between popular and niche languages. While examining that field we build on the assumption that given an Imperative programmer using a niche language has the right reason behind their choice, while someone using a popular language may have just followed the crowd due to labour market gravity effects.
On the Functional side - as was stated in the whitepaper - characteristics helping to onboard an Imperative programmer are crucial, therefore our job is to put together the two sides.
Due to its popularity, OOP would be vital to in the mix a Functional language provides for onboarding, hence Lisp, R, Rust, Scala was examined in the whitepaper, on the other end we could mitigate which Imperative language would be the right pair to target their audience.
According to the TIOBE index, we can see - excluding lower level players - that though still strong, Java is in a long significant downtrend, same applies to C++, while Python is in a significant uptrend.
Based on research presented on the whitepaper, on the Functional side we can sort out Lisp due to smaller community, and R due to domain specific nature.
On the Imperative side, it would be reasonable to choose from the languages which are in a long term downtrend signaling that their industry wide gravity effect weighed in more to keep them in the big player arena, than being significantly more innovative in the short term.
For the above reasons, helping with a Scala to Java transition is ProScala's choice to focus on, as this transition promises to give the most value and has the most wide basis due to the large community of Java and significant community activity and interoperability features of Scala.