Question: I've been putting time into learning functional programming and I've come to the part where I want to start writing a project instead of just dabbling in tutorials/examples.

While doing my research, I've found that Erlang seems to be a pretty powerful when it comes to writing concurrent software (which is my goal), but resources and tools for development aren't as mature as Microsoft development products. 

F# can run on linux (Mono) so that requirement is met, but while looking around on the internet I cannot find any comparisons of F# vs Erlang. Right now, I am leaning towards Erlang just because it seems to have the most press, but I am curious if there is really any performance difference between the two systems. 

Since I am used to developing in .NET, I can probably get up to speed with F# a lot faster than Erlang, but I cannot find any resource to convince me that F# is just as scalable as Erlang. 

I am most interested in simulation, which is going to be firing a lot of quickly processed messages to persistent nodes.

If I have not done a good job with what I am trying to ask, please ask for more verification.

Answer: 
What do you mean by "viable?" "Having the most press" is not necessarily the best way to choose a language.

Erlang's claim to fame is its capability of massive parallelization. That's why it's commonly used in Ericsson phone switches. Erlang is soft-realtime, so you can make certain performance guarantees about it.

F# benefits from the optimization capabilities of the .NET Jitter. In addition, the language itself is designed to be a high-performing functional language (it being a variant of OCaml, widely used in the financial industry because of its speed).

Ultimately, unless you plan on running millions of tiny agents at the same time (which is what Erlang is optimized for), F# should be up to the task.

[This page](http://www.erlang.org/faq/introduction.html#id51928) explains the appropriate use cases for Erlang.
You should read this post by Joe Armstrong: <http://erlang.org/pipermail/erlang-questions/2012-February/064277.html>

The short of it is that Erlang was not designed to be fast! It is reasonably fast in many cases but that is secondary to issues like fault tolerance and stability. 

The truth is both Erlang and F# are nice languages, and while I have only taken a quick look at F# I have written a book on Erlang: [Building Web Applications With Erlang](http://shop.oreilly.com/product/0636920021452.do) and I can say that it is a fun language to work in. 

I would also point out that there seems to be a boom in functional language books to be published in the next 6-9 months. I know of at least 4 on Erlang (including mine), One on Haskell, as well as Titles on OCaml, Clojure and F#.