Announcing the F# 3.1 Compiler/Library Code Drop(blogs.msdn.com) |
Announcing the F# 3.1 Compiler/Library Code Drop(blogs.msdn.com) |
$ fsharpc file.fs # can run the generated file.exe via mono at this point
$ mkbundle --static file.exe -o file
Now ./file is a statically compiled binary. Easy deployment.You can always leave the --static flag off, but then your binaries will require the Mono run-time to be installed.
F# is better Scala than Scala, C# better Java than Java. Both suffer from a meh runtime (compared to other offers) on non-Windows platforms.
* Linux: http://fsharp.org/use/linux/
* FreeBSD: http://fsharp.org/use/freebsd/
Watch how you are about to answer your own question.
> I don't want performance to degrade moving from Windows to some platform that requires I run mono!
Yes, but Microsoft, who sells Windows licenses, does want performance to degrade when you move from Windows to some other platform.
Depending on what you're doing, the performance difference might not matter in practice. Mono's (historically, at least) done worse with super OO-y code because of its poorer GC performance, but oftentimes that kind of code also ends up appearing in applications where overall performance is dominated by I/O and CPU efficiency ends up being negligible.