Features
- Cover Type: Hard Cover with 609 pages
- Published by: Apress December 4, 2007
- Written in: English
- ISBN 10 Number: 1590598504
- ISBN 13 Number: 978-1590598504
-
Book Dimensions:
9.1 x 7.1 x 1.6 inches
- Weighs: 2.5 pounds
Product Description
Expert F# is about practical programming in a gorgeous language that puts the power and elegance of functional programming into the hands of .NET developers. In combination with .NET, F# achieves unrivaled levels of programmer productivity and program clarity. This books serves as
- The authoritative guide to F# by the designer of F#
- A comprehensive reference of F# concepts, syntax, and features
- A treasury of expert F# techniques for practical, real–world programming
While inspired by OCaml, F# isn't just another functional programming language. Drawing on many of the strengths of both OCaml and .NET, it's a general–purpose language ideal for real–world development. F# integrates functional, imperative, and object–oriented programming styles so you can flexibly and elegantly solve programming problems, and brings .NET development alive with interactive execution. Whatever your background, you'll find that F# is easy to learn, fun to use, and extraordinarily powerful. F# will help change the way you think about and go about programming.
Written by F#'s designer and two active contributors,
Expert F# is
the authoritative, comprehensive, and in-depth guide to the language and its use. Designed to help others become experts, the book gives a thorough introduction to the F# language from quick essentials to in-depth advanced topics such as active pattern matching, aggregate data types and operators, sequence expressions, lazy values, mutable data and side–effects, generics, type augmentations, functional decomposition and code organization.
The second half of the book is devoted to looking at the practical application of F#, providing elegant solutions to common programming tasks including UI implementation, data access, web and distributed programming, symbolic and numerical computations, concurrent programming, testing, profiling, and interoperability with other languages. The latest hot developments in F# and .NET are also addressed, including Active Patterns, implicit class construction, integration with LINQ over relational data, meta programming and useful tips for working with Visual Studio and F# command–line tools.
The worlds foremost experts in F# show you how to program in F# the way they do!
What you’ll learn
- How to use F# for functional, imperative, and object–oriented programming
- How to code elegant F# solutions with expert technique and style
- How to develop Windows, web, graphics, and database applications in F#
- How to do numerical, concurrent, lexical, and symbolic processing in F#
- How to interoperate with C and COM
Who is this book for?
This book is for anyone interested in state–of–the art .NET programming. Professional programmers will find it engrossing. F# provides invaluable insight into the future of both C# and VB, which are now adopting some (but far from all) of the functional features of F#. Once they learn F#, few feel like returning to either C# or VB. The academic community will find F# the answer to a decades–long prayer: a language suitable for teaching computer science that also excites and empowers students because it can be used not just in the classroom, but also in the real world.
Related Titles
Foundations of F#
About The Author
Don Syme is the main designer of F# and has been a functional programmer since 1989. Since joining
Microsoft Research in 1998, he's been a seminal contributor to a wide variety of leading-edge projects, including generics in C# and the .NET Common Language Runtime. He received a Ph.D. from the University of Cambridge Computer Laboratory in 1999.
Adam Granicz is the founder of IntelliFactory and a native of Hungary. He has done research on extensible functional compilers, formal environments, and domain-specific languages. He has consulted for EPAM Systems, the leading
software outsourcing company in CE Europe, and he is an industry domain expert in gambling, airline and travel package distribution, reverse logistics, and insurance/health-care. He holds a Master's degree from the California Institute of Technology.
Antonio Cisternino is assistant professor in the Computer Science Department of the University of Pisa. His primary research is on meta-programming and domain-specific languages on virtual-machine-based execution environments. He's been active in the .NET community since 2001, and recently developed annotated C#, an extension of C#, and Robotics4.NET, a framework for programming robots with .NET. Antonio holds a Ph.D. in computer science from the University of Pisa.
Reader Reviews
This book is the perfect companion to bring along on your adventure into the world of F#! I had the pleasure of proofreading Expert F# several months ago and so, while it just became available at Amazon today, I've already spent many happy hours with it. F# is a wonderfully expressive and practical language and, at the same time, very elegant. This book will help the reader to apply this newfound power and to appreciate how even the most obscure features all seem to "hang together" so beautifully. The first half of the book teaches the language with an excellent example-driven approach; making it fun and useful from the start. Separate chapters cover each supported programming paradigm: functional, imperative, object-oriented and language-oriented; along with chapters on solid engineering techniques such as encapsulation and packaging, and working well with other .NET code. The second half of the book applies the language to various technologies (WinForms, web, database, ...) and to various very interesting domains including lexing and parsing, asynchronous and concurrent programming (a particularly strong suit). My absolute favorites were the symbolic differentiation and propositional logic samples in chapter 12 - these left me in a state of awe! Also, the second half covers more engineering concerns such as testing and debugging, interop and library design. Throughout the book are sprinkled many little nuggets of wisdom from the authors; especially helpful to those who (like me) are struggling to rationalize experience in OO and imperative programming with the functional mindset. The book contains an enormous amount of information; an essentially complete coverage of the language. However, it simply can't cover everything. Some topics missing include application to some specific technologies such as WPF and Silverlight. Also, functional data structures and meta-programming (with the extremely powerful F# quotations mechanism) are only lightly covered. It's a very well written and well organized book. It makes for a great read when you're first mastering the language and makes for a great reference to keep on your shelf thereafter.
Comments (3) | |
(Report this)
Back To Top