The Problem with F# Evangelism
The problem with F# evangelism is that it doesn&#x27;t exist. No one is evangelizing F#; everyone is evangelizing functional programming. F# is the Python of .NET - it&#x27;s multi-paradigmatic and you can do whatever you want. Sell it to people that way, and let them get into functional concepts later, or never.<p>F# has a huge opportunity in the enterprise. A ton of enterprise C# code is not object oriented at all, it&#x27;s big, poorly thought out clumps of imperative script wrapped in methods and classes so it can be compiled or fit into the framework that&#x27;s calling it. Sometimes it&#x27;ll get a quick last pass run on it to make it &quot;more object oriented&quot;, because that&#x27;s what C# code is supposed to be; this usually just makes it worse. It&#x27;s written in a scripting mindset: the developer needs to get things done, and adds code and bangs on stuff until it compiles and looks right when it runs in the debugger.<p>F# is actually well suited to this style of development, but it&#x27;s hard to find anything about it, because every F# tutorial, book and blog post is actually about functional concepts, functional design, functional thinking and functional programming, including this one.<p>If you want to sell F# to enterprise developers, show them how they can write their C# code in it without having to pretend that it&#x27;s object oriented anymore, and how that&#x27;s a <i>good thing</i>.