Hi I am an intern working with ASP.NET.

My current task is to make a website which will incorporate some jquery viewing features. This project seems to me will be primarily dealing with reading data from a database and making graphs out of them. This will require me to make custom queries from whatever the client is looking at. I think it is going to be what this guy calls an Ad Hoc Query tool

My plan for this is to make it a database-driven website. So I can utilize the jquery dynamic viewing capabilities. I stumbled upon the functional programming paradigm and found F#. I read that because of it's functional programming paradigm, it makes it a good language to do asynchronous functions. I read about how you can use this with LINQ to SQL and how easy it is to make queries without actually putting the query language in. I understand the concept of the MVC design pattern.

But I don't understand what they mean about C# being the front-end and F# being the back-end. Can someone clarify this to me? Also what are your thoughts about doing this project in this way? Any comments and thoughts are greatly appreciated. I feel as if learning F# will be a great learning experience for me.

My guess is that the F# back-end is like the part where it controls the calls to the database. F# is possibly the model part of the design pattern. And C# is the controller. So HTML, Javascript and Jquery stuff will be my View design pattern. Clarify please?

  • 3
    I have no idea. The question is best addressed to the authors of that article.. At IntelliFactory we use F# exclusively for websites, there is no need for C# (or JavaScript, for that matter, with our WebSharper F#-to-JavaScript compiler).
    – t0yv0
    Commented Jun 21, 2012 at 18:56
  • Wow I really like this. Thanks for the tip. This will make things alot easier for me.
    – user1473053
    Commented Jun 21, 2012 at 20:02

1 Answer 1


This article expresses the front end as the "Views", and the back-end as the "models", with the controller being the glue between them. In actuality, this article's example uses F# for the controllers and models, and C# (and the "Razor" template) for the views (IOW, rendering the html).

As for how well this solution works: this is a pretty subjective question. You really should look to who will be working on the project and planning around their strengths, as the majority of times I've found that the stumbling blocks are not the pros and cons of various technologies but the ability for the developers to understand the technologies being used. Perhaps an all C# solution will be more beneficial for a new project?

While F# does have a nice idea in asynchronous workflows, do you really need it? If you're making a website from scratch, my guess is you don't know yet, so you should go with a simple solution first. On the other hand, if you have people who know F# (or other functional languages) already, then sure, check out the solution mentioned in the article.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.