When comparing Opa vs F# (via FunScript), the Slant community recommends Opa for most people. In the question“What are the best languages that compile to JavaScript? ” Opa is ranked 30th while F# (via FunScript) is ranked 36th. The most important reason people chose Opa is:
Opa uses type inference to decide what code runs on the client or the server, so you can organize code how you like, but still be sure that it runs where it needs to.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Type Inferred
Opa uses type inference to decide what code runs on the client or the server, so you can organize code how you like, but still be sure that it runs where it needs to.
Pro Familiar Javascript Syntax
Opa's syntax is very similar to JavaScript, making it an easy choice for developers who are used to developing in JavaScript.
Pro Client and Server in the same language
Pro Easier transition from other paradigms
Since F# is not a purely functional language, it lends itself to being more easily picked up by programmers that have experience with other paradigms.
Pro Concise syntax
F#'s syntax tends to be terse while remaining very readable and easy to understand without being a chore to write.
Pro Runs on the CLR
Since F# runs on the Common Language Runtime or CLR, it has access to the entire .NET Framework, as well as libraries written in other .NET languages such as C#, VB.NET, and C++/CLI.
Cons
Con Not popular
Opa is not as popular as other languages which compile to JavaScript. Making it harder to find learning resources or even answers if you get stuck somewhere.
Con Not really cross platform
Though the community sites are touting F# can be cross platform through use of Mono, the reality is that it is more of a hack to replay on larger mono applications in production.