F# Deep Dives
Manning Publications (Verlag)
978-1-61729-132-6 (ISBN)
- Titel ist leider vergriffen;
keine Neuauflage - Artikel merken
- Elegant solutions to real problems
- Collection of real-world F# case studies
- Written by expert F# practitioners
- Readers should have at least an introductory knowledge of the F# language.
F# has been part of Visual Studio since VS 2010, and has been deployed in a number of production systems. F# and the functional programming style simplifies the development of secure financial engines, machine learning algorithms, and scientific calculations, and creates a high-performance platform for collaborative web applications, games, and other types of applications.
F# Deep Dives presents a collection of real-world F# techniques, each written by expert practitioners. Each chapter presents a new use case showing how F# was used to solve a complex problem more effectively than would have been possible using a traditional approach.
Not only does the book show how a specific solution works in a specific domain, it also tells how F# developers approach problems, what concepts they use to solve them, and how they integrate F# into existing systems and environments.
Tomas Petricek contributed to the development of the F# language at Microsoft Research and is active on StackOverflow. He's the author of Real-World Functional Programming (Manning).
Phil Trelford is an early adopter of F# and one of its most vocal advocates.
contents
preface
acknowledgments
about this book
Chapter 1 Succeeding with functional-first languages in the industry
F# as part of an ecosystem
F# from a business perspective
Understanding business problems and implications
Inferring business needs
Learning from case studies
Summary
Part 1 Introduction
Chapter 2 Calculating cumulative binomial distributions
Implementing the formula
Adding tests
Time for a rethink
Refactoring
Summary
Chapter 3 Parsing text-based languages
Introducing the Markdown format
Representing Markdown documents
Parsing spans using recursive functions
Implementing the parser using active patterns
Turning Markdown into HTML
Processing Markdown documents
Summary
Part 2 Developing analytical components
Chapter 4 Numerical computing in the financial domain
Introducing financial derivatives and underlying assets
Using probability functions of Math.NET
Geometric Brownian motion and Monte Carlo estimates
Summary
Chapter 5 Understanding social networks
Social networks on Twitter
Connecting to Twitter
Visualization with D3.js
Exploring the social network
PageRank
Summary
Chapter 6 Integrating stock data into the F# language
Introducing type providers
Designing and implementing the CSV type provider
Implementing the Yahoo! Finance type provider
Summary
Part 3 Developing complete systems
Chapter 7 Developing rich user interfaces using the MVC pattern
Setting the scene
Living in an asynchronous world
Making data binding safer
Summary
Chapter 8 Asynchronous and agent-based programming
All about asynchronous workflows
Extracting data from the world
Putting a system together
Summary
Chapter 9 Creating games using XNA
Getting started
Selecting the input device on the Press Start screen
Modeling and updating the game world
Rendering the game and the scoreboard
Performing I/O safely using async
Putting it all together
Summary
Chapter 10 Building social web applications
Designing a social game
Prerequisites
Implementing the contracts
Implementing the server
Implementing the client
Putting it together
Summary
Part 4 F# in the larger context
Chapter 11 F# in the enterprise
Sample project
We’ll start with some data
Creating the basic service implementation
Creating a client wrapper for the service
Giving your application a user interface
Summary
Chapter 12 Software quality
What software quality really means
From exploratory to unit testing
Writing effective unit tests
Acceptance testing
Summary
appendix F# walkthrough: looking under the covers
index
For the last two years, interest in F# and functional-first programming has been growing steadily. More than 10 books about F# are now on the market, more than one new user group has appeared somewhere in the world every month during the last year, and the number of members of and visitors to the F# Software Foundation has been increasing at a steady rate. Many people become interested in F# because they hear about the benefits that functional-first programming gives you: the F# type system mostly removes the need for null checking and other invalid states; avoiding a mutable state and its declarative nature makes it easier to understand your programs; and the agent-based programming model simplifies concurrency. These are all nice facts about F#, but how do you put them into practice? We provide the answer with this book. Rather than introducing F# language features using simple, toy examples, we worked with F# experts who have hands-on F# experience. We asked each of them to write a chapter based on a real scenario that they solved with F#. Each chapter is a case study documenting not just the source code written, but also the author’s approach to solving the problem, how it integrates with the broader ecosystem, and the business benefits gained from using F#. This means the narrative of the book isn’t built along the technical aspects of the F# language. Instead, we focus on the business benefits you get from using F# in practice. Although we look at diverse domains ranging from game development to financial systems and social network analysis, there is still a common theme. The four key concepts you’ll see repeated over and over are time-to-market, taming complexity, correctness, and performance. How these concepts fit with actual business problems is covered in detail in chapter 1, which was coauthored by lead F# language designer Don Syme.
Erscheint lt. Verlag | 8.1.2015 |
---|---|
Verlagsort | New York |
Sprache | englisch |
Maße | 189 x 234 mm |
Gewicht | 634 g |
Einbandart | kartoniert |
Themenwelt | Informatik ► Programmiersprachen / -werkzeuge ► NET Programmierung |
Schlagworte | F sharp (Programmiersprache); Handbuch/Lehrbuch • .NET |
ISBN-10 | 1-61729-132-3 / 1617291323 |
ISBN-13 | 978-1-61729-132-6 / 9781617291326 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich