Expert F# 4.0 (英語) ペーパーバック – 2015/12/16
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
Learn from F#'s inventor to become an expert in the latest version of this powerful programming language so you can seamlessly integrate functional, imperative, object-oriented, and query programming style flexibly and elegantly to solve any programming problem. Expert F# 4.0 will help you achieve unrivaled levels of programmer productivity and program clarity across multiple platforms including Windows, Linux, Android, OSX, and iOS as well as HTML5 and GPUs.
F# 4.0 is a mature, open source, cross-platform, functional-first programming language which empowers users and organizations to tackle complex computing problems with simple, maintainable, and robust code.
Expert F# 4.0 is:
- A comprehensive guide to the latest version of F# by the inventor of the language
- A treasury of F# techniques for practical problem-solving
- An in-depth case book of F# applications and F# 4.0 concepts, syntax, and features
Written by F#'s inventor and two major F# community members, Expert F# 4.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!
Beginning F#も読んだが、こちらのほうが全体的な内容はわかりやすいと感じた。ただ、F#を全く知らない状態では本書は少しわかりにくいかもしれない。その場合はBeginning F#をまず読むと良いと思う。
著者のDon SymeはMicrosoft Researchに属するF#の設計者のようだ。そういう点でも原典という感じがする。初歩的と言える説明はない。
Capter 16にはComputation Expressionsの説明もありGood。Beginning F#にはseqやasyncといった組み込みのWorkflowの説明しかなかった。
F# became the de facto standard in functional programming (thanks Don Syme!), and part of the mainstream due its availability on .NET. Functional programming is in revival influencing other languages like C# and Java.
And in case you're wondering why would you use F#, all I can say is that it will make the debugger obsolete and improve your work-life balance. :-)
The book is easy to read.
Some code examples may appear advanced.
I highly recommend this book.
While I am at technical issues -- there is no syntax highlighting of the code (only the output is put in italics), and publisher is a huge fan of horizontal lines -- small snippet, comment, output, you name it, almost every page is slashed by horizontal lines. I didn't even realize how tiresome it is until I opened the next book I wanted to read (Real World OCaml: Functional programming for the masses by O'Reilly), it is from another publisher, it does not use any lines and the first thought that comes to mind is -- peace. My eyes can finally rest.
Minor complain is quality of the typesetting, decades after inventing LaTeX, we still have to have text, where a word followed with colon looks like a squashed fly (example p.22). Oh, well... who cares about quality?
Ok, the content -- it is pretty thorough and complete. Please note the level of this book though, it is focused on already experienced devs ("the gloves are off" -- just as an example, pipe operator "|>" is used from the beginning, but explained on p.46). The distinction between the language features and libraries (or "F# applied") is clear, there is no jumping back and forth. I really wish more of the language, and less of the libraries. In my experience, libraries come and go, but the language stays. This is my personal bias (and bad luck) that the feature I was hoping to read the most takes just a few pages -- measure units. Here and in few other places authors decided to keep the text short and advise the reader to read more on the web. I really hate that notion of buying a book just to read I can use web browser to read more.
There are other interesting topics covered like active patterns, quotations, reactive programming, or tail recursion optimization. But again, I feel the coverage of those topics are too short (while for example Eto Forms take entire chapter, 50 pages), it is a wrong balance in my opinion.
I cannot even explain why I feel this way, but I simply feel it -- before reading "Expert F# 4.0" I finished reading Groovy in Action. I could say the latter is a journey guided by passionate people, this book on the other hand is written like it was a duty. There is no question about the knowledge, or anything like that, but there is no this spark of charm. Pity.
Amazon says 3 out of 5 is "OK", and I think it is fair for this book. It is a reliable source of information, no doubt, but "I like it" (4 of 5), no, especially when you compare it to other books. On the other hand -- would I buy it again if I have my money back, yes -- without any regret of spending money, but also without any real choice, because there is no competition when it comes to F# 4.0 books. We will see if there will be some worthy contender for F# 5.0...
I'd also recommend Scott's excellent guide [...] and Real World Functional Programming book by Tomas and John. Mark Seeman has excellent video on Pluralsight
I am giving the book 1 star due to the following:
1. The back cover says "source code online". It is not available on the Apress or Springer sites.
2. I called the support number. After 5 minutes of waiting (with messages that "your call is important to us") I receive a message "Goodby" and was disconnected. I tried a second time with the same results.
The printed book itself gets at least 4 stars, but without the source code the value is very diminished and I am put off the by support experience.