I think its a good idea to do a project you are motivated about, so go for it!

Since you are experienced in C#, and will be calling C# from F#, I recommend first testing the ftp libraries with a C# test program, THEN get it working from F#. I mean, make sure the basic ftp communication is working the way you expect. Then get that exact same functionality working from F#. At that point, you can tackle concurrency. Add each new feature one at a time. Don't tackle the GUI or the reverse direction of calling F# from C# until you feel reasonably comfortable with the rest of the logic -- you can use the interpreter (fsi) to print values, and breakpoints in the debugger to examine what is happening.

Or whatever order of pieces makes sense to you; my suggestion is that it is good to focus on basics first without too much distraction from stuff that can be confusing if you're doing it wrong. Nothing worse than not knowing whether you have typed something that isn't doing what you think, because you don't know a language yet, or whether your remote server isn't cooperating!

And by all means, ask any questions that come up. People here have been very helpful.

~TMSteve

By on 4/5/2008 11:45 PM ()

Seems a good project for F#, I think the languages asynchronous workflows will prove useful here sending items to and from the ftp site asynchronously. There's quite a few blog post and articles on these:

[link:blogs.msdn.com]
[link:www.infoq.com]

Foundations of F# will cover everything else you want to know about for this project. It's not strictly necessary as there is other free material on various different blogs, but FOFS has the advantage of being a bit more structured.

As for your question about arrays you, can use List.of_array to get an F# list or create a new ResizeArray (F#'s name for System.Collections.Generic.List):

1
2
3
let list = System.IO.Directory.GetDirectories(@"c:\") |> List.of_array

let resizeArray = new ResizeArray<string>(System.IO.Directory.GetDirectories(@"c:\"))
By on 4/5/2008 9:59 PM ()
IntelliFactory Offices Copyright (c) 2011-2012 IntelliFactory. All rights reserved.
Home | Products | Consulting | Trainings | Blogs | Jobs | Contact Us | Terms of Use | Privacy Policy | Cookie Policy
Built with WebSharper