Joe Buckle wrote:Hello all,
I am in an small team of C# developers, and we are tasked to rebuild a medium-sized ASP.NET application written in C# to F#. We have been given a year to be able to put the new application to production. How should we approach this? How do we go about training to be able to attain that functional mindset? How do we extract/retain all that business/domain knowledge and logic present in the current application?
My apologies for all the questions. Thanks!
Hi Joe,
Building a project from scratch is always a risk, and there is no guarantee that the attempt will succeed. But I think it's possible to reduce this risk by following a systematic approach.
In my book, I'm proposing a complete methodology, from requirements gathering to designing of subsystems and implementation. You might find it useful for training and learning high-level FP concepts. Especially considering that F# and Haskell are very close (most samples in my book are in Haskell)
What about extracting the logic, this is no doubt tough. A closer analysis of the codebase will help. Tests, documentation, domain experts in your team, the properties of your product. You really need to collect some requirements before doing any architectural decisions.
Also, I would strongly recommend having an F# expert in your team.
I wish you good luck in this!