Skip to content

Add new book cover images and update book references #977

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Apr 5, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added learn/files/BookDMMF.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added learn/files/BookFSIA.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed learn/files/BookGPWF.jpg
Binary file not shown.
Binary file removed learn/files/BookSF.jpg
Binary file not shown.
Binary file added learn/files/BookSF6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
50 changes: 37 additions & 13 deletions learn/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,31 +75,40 @@ A range of coding dojos for F# from [Community for F#](http://c4fsharp.net) incl

<h2 id="books" class="anchor">F# Books - General</h2>

### [Get Programming with F#](https://www.manning.com/books/get-programming-with-f-sharp)
### [F# in Action](https://www.manning.com/books/f-sharp-in-action)

<img src="/learn/files/BookGPWF.jpg" style="float:right;margin:5px 0px 5px 25px;" />
<img src="/learn/files/BookFSIA.png" width="96" height="120" style="float:right;margin:5px 0px 5px 25px;" />

_Isaac Abraham_

Get Programming with F#: A guide for .NET Developers shows you how to upgrade your .NET development skills by adding a touch of functional programming in F#. In just 43 bite-sized chunks, you'll learn how to use F# to tackle the most common .NET programming tasks.Examples use the familiar Visual Studio environment, so you'll be instantly comfortable. Packed with enlightening examples, real-world use cases, and plenty of easy-to-digest code, this easy-to-follow tutorial will make you wonder why you didn't pick up F# years ago! In addition to the language itself, other topics covered include:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might be good to mention as a "Note:" that's a new edition of "Get Programming with F#", as this wasn't obvious to me when I first saw "F# in Action" on Manning's site. Probably not very important, though.

F# is engineered to make functional programming practical and accessible. This book will get you started writing your first simple, robust, and high performing functional code.

- Interop with C# /VB projects
- Working with disparate data sources
- SQL database access
- Web Programming
- Unit testing
F# lets you keep your code simple even in the most complex applications—and it’s the perfect language for taking your first steps in functional programming. This practical, example-driven guide shows you how to build professional applications the F# way.

By the end of the book, you’ll be able to use F# in your day-to-day development, and know how and where to deepen your knowledge.
In F# in Action you will learn how to:

### [Stylish F#](https://books.google.com.au/books?id=WqR8DwAAQBAJ)
- Write performant and robust systems with succinct F# code
- Model domains quickly, easily and accurately with F#’s type system
- Design solutions using functional programming patterns
- Ingest and process disparate data sources
- Develop data-driven web applications
- Unit test F# code
- Effectively model data using a variety of techniques
- Use scripts to rapidly explore domains

<img src="/learn/files/BookSF.jpg" style="float:right;margin:5px 0px 5px 25px;" />
_F# in Action_ is based on author and Microsoft F# MVP Isaac Abraham’s years of experience working with developers as an F# consultant. It upgrades .NET development skills with the core principles of functional programming, and you’ll soon see how F#’s functional-first approach makes it easy to learn this powerful paradigm.

### [Stylish F# 6](https://link.springer.com/book/10.1007/978-1-4842-7205-3)

<img src="/learn/files/BookSF6.png" width="84" height="120" style="float:right;margin:5px 0px 5px 25px;" />

_Kit Eason_

Stylish F# covers every design decision that a developer makes in constructing F# programs, helping you make the most educated and valuable design choices at every stage of code development. You will learn about the design of types and function signatures, the benefits of immutability, and the uses of partial function application. You will understand best practices for writing APIs to be used by F#, C#, and other languages. Each carefully vetted design choice is supported with compelling examples, illustrations, and rationales.
Why just get by in F# when you can program in style. This book goes beyond syntax and into design. It provides F# developers with best practices, guidance, and advice to write beautiful, maintainable, and correct code. This second edition, fully updated for .NET 6 and F# 6, includes all new coverage of anonymous records, the task {} computation expression, and the relationship between types and modules.

_Stylish F# 6_ covers every design decision that a developer makes in constructing F# programs, helping you make the most educated and valuable design choices at every stage of code development. You will learn about the design of types and function signatures, the benefits of immutability, and the uses of partial function application. You will understand best practices for writing APIs to be used by F#, C#, and other languages. Each carefully vetted design choice is supported with compelling examples, illustrations, and rationales.

What You'll Learn
**What You Will Learn**

- Know why, when, and how to code in immutable style
- Use collection functions, piping, and function composition to build working software quickly
Expand All @@ -108,6 +117,7 @@ What You'll Learn
- Identify and implement opportunities to use function injection to improve program design
- Appreciate the methods available to handle unknown data values
- Understand asynchronous and parallel programming in F#, and how it differs from C# asynchronous programming
- Exploit records and anonymous records as low-overhead, easily comparable containers for structured data

### [Essential F#](https://leanpub.com/essential-fsharp)

Expand All @@ -121,6 +131,20 @@ Everywhere you look, programming languages are gaining functional features. The

This book started life as a series of blog posts on my Company's website (https://www.softwarepark.cc/blog). The sum of the content is what a developer needs to know to be able to work on one of our F# Line of Business codebases. I have improved and extended the content, upgraded the code to F# 5 and ensured that the code will run in VS Code.

### [Domain Modeling Made Functional](https://pragprog.com/titles/swdddf/domain-modeling-made-functional/)

<img src="/learn/files/BookDMMF.png" width=100 height=120 style="float:right;margin:5px 0px 5px 25px;" />

_Scott Wlaschin_

You want increased customer satisfaction, faster development cycles, and less wasted work. Domain-driven design (DDD) combined with functional programming is the innovative combo that will get you there. In this pragmatic, down-to-earth guide, you’ll see how applying the core principles of functional programming can result in software designs that model real-world requirements both elegantly and concisely—often more so than an object-oriented approach. Practical examples in the open-source F# functional language, and examples from familiar business domains, show you how to apply these techniques to build software that is business-focused, flexible, and high quality.

Domain-driven design is a well-established approach to designing software that ensures that domain experts and developers work together effectively to create high-quality software. This book is the first to combine DDD with techniques from statically typed functional programming. This book is perfect for newcomers to DDD or functional programming—all the techniques you need will be introduced and explained.

Model a complex domain accurately using the F# type system, creating compilable code that is also readable documentation—ensuring that the code and design never get out of sync. Encode business rules in the design so that you have “compile-time unit tests,” and eliminate many potential bugs by making illegal states unrepresentable. Assemble a series of small, testable functions into a complete use case, and compose these individual scenarios into a large-scale design. Discover why the combination of functional programming and DDD leads naturally to service-oriented and hexagonal architectures. Finally, create a functional domain model that works with traditional databases, NoSQL, and event stores, and safely expose your domain via a website or API.

Solve real problems by focusing on real-world requirements for your software.

### [F# Programming Wikibook](http://en.wikibooks.org/wiki/Programming:F_Sharp)

The wikibook contains a comprehensive guide to F# programming. It covers
Expand Down