I'm facing a choice of whether to start building Haskell components for a certain production app that is all done in Ruby.I'm leaning toward Haskell for several reasons, primarily speed (compiled Haskell is like 4-8x faster), greater transparency (via Haskell type system), and safer refactorability (type system).  I've written a few open source and production programs in Haskell already and enjoy writing it very much.Feasibility is not an issue. I've played around with the Haskell Snap web framework and database libraries like PostgreSQL.Simple and am satisfied that rewriting a Rails app and various backend programs with Haskell is feasible.The real issue is hiring programmers when we need to scale the dev team, or eventually handing off the programming responsibilities altogether. It's a lot easier to find programmers in Ruby than in Haskell. On the other hand, the Haskell community seems to be growing, and it's not too hard to train programmers to modify parts of a Haskell program if you approach it as a DSL (much like Ruby on Rails). The Haskell type system also seems to promise much safer collaboration than dynamic Ruby does.In his essay Beating the Averages (http://www.paulgraham.com/avg.html), Paul Graham argues that using a superior language can be a decisive advantage. But when does it make sense to forgo using a superior language in order to make it easier to add programmers to your team?
Choosing the language to build an app in based on hiring market vs performance and maintainability
programming languages;teamwork;hiring;haskell