Expert F# 3.0 is about practical programming in a beautiful language that puts the power and elegance of data-rich functional programming into the hands of professional developers. In combination with. NET, F# achieves unrivaled levels of programmer productivity and program clarity.
Expert F# 3.0 is:
A comprehensive guide to F# by the inventor of F# A treasury of F# techniques for practical problem-solving An in-depth case book of how F# applications and of F# 3.0 concepts, syntax, and features F# isn't just another functional programming language. It's a general-purpose language ideal for solving real-world development problems. F# seamlessly integrates functional, imperative, object-oriented and query programming styles so you can flexibly and elegantly solve any programming problem. F# 3.0 combines this with the seamless data-integration capabilities of F# Information-Rich Programming. Whatever your background, you’ll find that F# is easy to learn, fun to use, and extraordinarily powerful. F# will change the way you think about—and go about—programming.
Written by F#'s inventor and two major F# community members, Expert F# 3.0 is a comprehensive and in-depth guide to the language and its use. Designed to help others become experts, the book quickly yet carefully describes the paradigms supported by F# language, and then shows how to use F# elegantly for a practical web, data, parallel and analytical programming tasks.
The world's experts in F# show you how to program in F# the way they do!
What you’ll learnExplore F# and its features quickly and thoroughly in the introductory chapters Use F# with matching technologies including SQL, LINQ, ASP.NET and REST Build reactive, asynchronous, and distributed web applications with F# Interoperate with F# from other languages, especially C# Integrate data sources and services using F# 3.0 Information-Rich Programming Test, profile, and performance tune F# applications Create mobile applications, both web and native Who this book is forExpert F# 3.0 is for anyone interested in state-of-the-art programming for solving real-world problems. Programmers of all backgrounds will find it engrossing. For C#, Java and VB programmers, F# provides invaluable insights into the future of these languages. For lovers of Python, Ruby and other dynamic languages, F# shows how you can get most of the benefits of these languages while keeping strong types and good performance. For educators, F# is the answer to a decades-long prayer: a language based on strong computer science concepts that also excites and empowers, not just in the classroom, but also in the real world.
Table of ContentsIntroduction
Your First F# Program — Getting Started With F#
Introducing Functional Programming
Introducing Imperative Programming
Understanding Types in Functional Programming
Programming with Objects
Encapsulating and Organizing Your Code
Working with Textual Data
Working with Sequences and Structured Data
Numeric Programming and Charting
Reactive, Asynchronous, and Parallel Programming
Symbolic Programming with Structured Data
13. Integrating External Data and Services
Building Smart Web Applications
Building Mobile Web Applications
Visualization and Graphical User Interfaces
Language-Oriented Programming: Advanced Techniques
Libraries and Interoperating with Other Languages
Packaging, Debugging and Testing F# Code
Designing F# LibrariesAbout the AuthorDon Syme is a principal researcher at Microsoft Research, and the main designer of F#. Since joining Microsoft Research in 1998, he has been a seminal contributor to a wide variety of leading-edge projects, including generics in C# and the. NET Common Language Runtime, F# itself, F# asynchronous programming and units of measure in F#. He received a Ph.D. from the University of Cambridge Computer Laboratory in 1999.
Adam Granicz is the chief executive officer of IntelliFactory, the leading provider of F# training, development and consulting services, and technologies that enable rapid functional, reactive web development. He has over six years of experience applying F# in commercial projects, and works on WebSharper, IntelliFactory's web development platform that offers unrivaled productivity, a uniform programming model based on F#, and the fastest way to develop robust, client-based rich Internet applications. Adam is an active F# evangelist, a regular author in online F# media and speaker at development conferences and industry partners, and serves on the steering committee of the Commercial Users of Functional Programming (CUFP) Workshop, representing the F# segment.
Antonio Cisternino is a professor in the Computer Science Department of the University of Pisa. His primary research is on scientific computing, meta-programming and domain-specific languages on virtual-machine-based execution environments. He has been active in the. NET community since 2001 and developed VSLab, a Microsoft Visual Studio add-in to support MATLAB-like programming in F# and Visual Studio. He is also author of annotated C#, an extension of C#, and Robotics4.NET, a framework for programming robots with Microsoft .NET. Cisternino holds a Ph.D. in Computer Science from the University of Pisa.