📜 ⬆️ ⬇️

Chris Smith book “F # Programming”

image

Any development methodology, tool, technology, or programming language attracts attention for various reasons. It can be something innovative and then after a dozen or two years (!), The hands of the rest of the computer community will reach for it. So it was with almost all the ideas that had to go a long way from the conferences of geeks to the recognition of the general public. Another way to break into the "mainstream" is to support an already well-known vendor, for example, such as the company ... Microsoft. Most people are inertial and will not invest their strength in the “noname” tools until they make sure that their investment will be in demand. If the tool is engaged in such a vendor, then the risk to explore something that is not useful in the future is not great.


In fact, such an opinion is very short-sighted, because when you learn a new tool, language or technology, you develop, learn something new and including the ability to apply these approaches in a different context. This is especially true when it comes to new programming paradigms, such as functional programming, which in itself is not tied to a particular language or technology.
')
If we talk about Chris Smith's book “Programming in the F # language” ( Chris Smith “Programming F #” ), then it is possible to distinguish several components. First, it tells about functional "features", such as functions of the first kind, immutability, pattern matching (aka pattern matching), discriminated unions, deferred calculations, function currying, memoization, etc. Secondly, these are some features specific to the F # language, such as computation expressions, generation of lists and sequences (list comprehensions and sequence comprehensions), asynchronous expressions (async workflow), etc. The third component is the topic of multi-paradigm programming in F #, in which the author considers variability, imperative and object-oriented programming. This topic is closely related to cross-language interaction, which boils down to using object-oriented libraries from the F # language, such as BCL, as well as using assemblies derived from F # in an object-oriented environment.

It seems to me that the book will be most useful to readers already familiar with object-oriented programming and programming on the .Net platform, since it is these topics in the book that are revealed very poorly (and inaccuracies in object terminology are just straining). But this is not a serious problem, since there are a lot of books devoted to the .Net platform and the C # language, and trying to surpass Richter or Skit and cramming into several chapters what other authors devote books to is a little real. But on the other hand, the “functional side” is described quite well and the information will be quite enough for the reader to begin to apply this knowledge in practice. And since many modern developers have the same knowledge in OOP and C # and look towards functional programming, this book will be exactly what you need.

ZY By the way, this book should appear in Russian very soon. I don’t know the exact release date, but since I finished editing it a couple of weeks ago, this is, in any case, about weeks, not months.

via Programming Stuff .

Source: https://habr.com/ru/post/110107/


All Articles