There are three distinct philosophies that you can apply to computer programming. You can think of programming as a science, where the measure of progress is how well you discover and reflect fundamental mathematical concepts in your code. You can think of it as a discipline, where you seek to establish and follow rules about how code should be written and organized. Or, best of all, you can think of it as a craft, where, yes, you apply some of the science and some of the discipline; but you leaven those with a generous helping of human creativity. To do this successfully, you need a fair bit of experience, because crafting something is an inherently intuitive process. This book aims to get you to a level where you can craft code confidently. It does this by distilling and passing on my own experience of writing F# systems in numerous different industries over the past eight years.
Before you start this book, you’ll need at least some knowledge of F# syntax and concepts. Maybe you’ve read some of the wide range of beginner material that’s available, and probably you’ll have written at least a few simple F# programs yourself. You may well have deeper experience of other languages and environments, such as C# and .NET. That said, I have framed the book so that C# knowledge is not a hard prerequisite: I learned F# before I learned C#, and if I can do it, so can you! Also you definitely don’t need any background in Computer Science or functional programming. I don’t have even a trace of formal education in either of these areas.
If you liked this book, share it with your friends, thus you help us develop and add more interesting and necessary books for you!