• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Ron McLeod
  • Tim Cooke
  • Liutauras Vilda
  • Jeanne Boyarsky
Sheriffs:
  • Paul Clapham
  • Rob Spoor
  • Junilu Lacar
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Piet Souris
  • Carey Brown
Bartenders:

Functional Design and Architecture - Rebuilding an application

 
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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!
 
Marshal
Posts: 77185
370
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Welcome to the Ranch

I presume F# is a functional language.
 
Author
Posts: 27
9
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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!
 
Don't get me started about those stupid light bulbs.
reply
    Bookmark Topic Watch Topic
  • New Topic