BobCochran (92) [Avatar] Offline

I've been looking at this book title and thinking of buying it. I'm a complete beginner to F# so I need a beginner's introduction to that. I am also a complete beginner with Visual Studio. And .NET Core and mono are entirely new to me as well. I did take a C# class but it was a very long time ago, and that release of .NET is now so old it has snowy white hair.

I do 95% of all my work (outside of my day job) on Mac OS X El Capitan, and the other 5% on Fedora Workstation or CentOS 7.x. I'm a professional software developer but on Tier 1 IBM platforms. High Level Assembler and Java. I do have experience with Eclipse and IntelliJ IDEA, and I just downloaded Rider on my Mac.

So, do you think your book would be useful to me with that background? Or is this definitely only for those with a lot of Visual Studio experience? Even if I could get a free download of Visual Studio I would still need to bootstrap myself with it, and that can be tough to do and learn a programming language at the same time. What do you think?


Bob Cochran

Isaac Abraham (107) [Avatar] Offline
Hey Bob

You're not the first person to ask this question smilie My thoughts are this:

TLDR: The book isn't designed to be read only expert .NET developers, and if you're willing to "filter out" the Visual Studio + Windows parts of the lessons, as well as brush up on the .NET base libraries, this book should be fine.

1. The book is definitely geared up towards people that come from a C# / VB .NET background and use Visual Studio. So, some of the points regarding the ecosystem that the book deliberately glosses over might be foreign to you - things like NuGet (the standard package manager), Visual Studio features itself as well as some C# or VB .NET features, not to mention the entire .NET base class library (the equivalent of Java's standard SDK). Most of the time, this is simply background material that is useful but not essential, and there are a couple of times where the book explains a language feature in terms of an existing C# feature which you can ignore, and you might want to explore the .NET BCL yourself a little.

2. The book is geared up towards the "full" .NET framework, which means an assumption of Windows (and, again, VS2015). There's nothing to stop you using other tools, such as Rider or VSCode on a Mac using Mono (or .NET Core) - the language features themselves should be near enough identical on Mono for sure; it's just the tooling that will be different.

3. The book assumes that the reader is coming from an OO background, to which Java is as well. Now, if you're not a huge OO buff, that's not a problem - in some ways, that puts you at an advantage. However, again, you might find some parallels that the book draws between OO and FP ways to solve a problem that you can just skip over.

With those points out of the way, I think (and I have feedback from others that are in your position) that the book is still valuable and useful in its own right, as long as you are aware of these "features" going into the book. The core parts of the book - F# the language, designing problems in an FP style, and creating full-blown applications using F# will still be valid, as well as working with the .NET framework using F#.

Hope that helps - let me know if you still have more questions!


BobCochran (92) [Avatar] Offline
Hi Isaac,

Thank you very much -- I really enjoyed reading your response this morning. I'll be ordering this book tonight. I'm excited about working with it.

Thanks so much

BobCochran (92) [Avatar] Offline
I have purchased the book. smilie