Showing posts with label functional programming. Show all posts
Showing posts with label functional programming. Show all posts

Expert F# (Expert's Voice in .NET) Review

Expert F# (Expert's Voice in .NET)
Average Reviews:

(More customer reviews)
Are you looking to buy Expert F# (Expert's Voice in .NET)? Here is the right place to find the great deals. we can offer discounts of up to 90% on Expert F# (Expert's Voice in .NET). Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Expert F# (Expert's Voice in .NET) ReviewThe Good
- Practical.
- High example density.
- Broad coverage of a lot of practical F# topics.
- Good depth on all the important practical stuff.
- I felt like I learned a lot, not only about F#, but about some cool C# features too.
- I felt like I'd be a lot more productive as a programmer if I could master the language.
The (not so) Bad
- Structurally, I initially got lost with some of the more complex examples. And it was straining to page back and forth re-reading things until I grasped the concepts. The density of information in the text sometimes makes it less valuable as a teaching aid and more valuable as a reference.
The (not so) Ugly
- I could not get one of the async examples to actually compile. I had to search the web for some hints to add declarations that seem to have been omitted from either the example code or F# implementation itself. In short, the example code, my development environment, F# itself, of some combination thereof was missing what appears to be an extension method for WebRequest.GetResponseAsync. I had to code it myself. But once I did, it worked! (This might not be a criticism of the book.)Expert F# (Expert's Voice in .NET) Overview
Expert F# is about practical programming in a beautiful 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 examining the practical application of F#, providing elegant solutions to common programming tasks includinguser interfaceimplementation, 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 this book is 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.


Want to learn more information about Expert F# (Expert's Voice in .NET)?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Erlang and OTP in Action Review

Erlang and OTP in Action
Average Reviews:

(More customer reviews)
Are you looking to buy Erlang and OTP in Action? Here is the right place to find the great deals. we can offer discounts of up to 90% on Erlang and OTP in Action. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Erlang and OTP in Action ReviewI fell in love with this book after reading about half of it and previewing the rest.
Erlang is quite radically different from O-O/Imperative languages such as C# and Java, and I expected a steep learning curve, when I started reading Joe Armstrong's book Programming Erlang: Software for a Concurrent World. It is overall a good book, but some parts of Joe's book were not very clear to me even in the earlier several chapters, so I also got the O'Reilly Erlang book Erlang Programming. It was a bit of an easier read, but I still had some issues. [[And all this despite some background from graduate school in the late 80s and early 90s in the underlying CompSci topics such as Unification and Deductive Databases, Functional Programming, Lambda Calculus, Gul Agha's Actors Concurrent programming and Distributed Databases]]. In particular, the OTP coverage in the last 2 books left me a bit perplexed. Then I got this, Logan et al's book, and started from the first chapter, and I must say I admire the authors' ability to serve up concise yet clear explanations with a more practical tone and real world examples. Now all makes sense, both OTP and Erlang, in just a few days! Chapter 2 was a quick but great introduction to Erlang programming. And the OTP and tool introduction chapters have been even better. This is the book to get if you intend to use Erlang for real-world production applications as opposed to a passing 'academic interest'.
Now if you will indulge me in straying a bit beyond the review of this book: Having sampled Erlang/OTP and its suite of related tools and utilities such as Mnesia, Ejabberd XMPP server with EXMPP library, Mochiweb and YAWS web servers, etc. (the LYME platform); I think they constitute a great (imhop and dare i say - probably the best) platform for developing robust, world class application systems quickly and with less hassle. Many people eulogise about their performance, scalability, concurrency, distribution, fault-tolerance and integration advantages; but for me personally it is more about the overriding productivity advantages as all these architectural attributes are obtainable with lots of difficulty, time and cost on other platforms such as Java EE, LAMP and .NET. When a large portion of a development platform can be so well covered in under 400 pages, it surely must be not just the book authors' ability but more the platform's own compactness and expressive power. Try that for .NET or Java EE!!
But, then you ask yourself, with all the evidence, why has the open source LYME stack not taken the development world by storm after two or so decades of existence, given how costly, difficult and failure-prone development projects are? In particular, it would seem to be the likeliest choice for 1-man and small development teams and software entrepreneurs, with resource and time-to-market constraints. And you realise there is quite a steep entry barrier due to its functional and unusual nature and relative lack of literature. I think this concise, but excellent book will facilitate entry by the average programmer and finally a larger cross section of the software development community can leverage the power and productivity advantages of the awesome LYME. Sounds like I gulped down the Erlang koolade? Well, do yourself a favour and get this book and see for yourself or try out Ejabberd, CouchDB and other noSQL databases YAWS, etc.; compare them to better known alternatives and see for yourself.
Finally, if you're like me now entering Erlang/OTP, please do yourself another favour and additionally read Mitchell Hashimoto's Erlang blog articles series, [[...]] on OTP which greatly complement this book in covering aspects of OTP that Logan, et al have not prioritised for coverage, but rather refer the reader to the online Erlang documentation.Erlang and OTP in Action Overview
Concurrent programming has become a required discipline for all programmers. Multi-core processors and the increasing demand for maximum performance and scalability in mission-critical applications have renewed interest in functional languages like Erlang that are designed to handle concurrent programming. Erlang, and the OTP platform, make it possible to deliver more robust applications that satisfy rigorous uptime and performance requirements.

Erlang and OTP in Action teaches you to apply Erlang's message passing model for concurrent programming--a completely different way of tackling the problem of parallel programming from the more common multi-threaded approach. This book walks you through the practical considerations and steps of building systems in Erlang and integrating them with real-world C/C++, Java, and .NET applications. Unlike other books on the market, Erlang and OTP in Action offers a comprehensive view of how concurrency relates to SOA and web technologies.

This hands-on guide is perfect for readers just learning Erlang or for those who want to apply their theoretical knowledge of this powerful language. You'll delve into the Erlang language and OTP runtime by building several progressively more interesting real-world distributed applications. Once you are competent in the fundamentals of Erlang, the book takes you on a deep dive into the process of designing complex software systems in Erlang.


Want to learn more information about Erlang and OTP in Action?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Beginning F# Review

Beginning F#
Average Reviews:

(More customer reviews)
Are you looking to buy Beginning F#? Here is the right place to find the great deals. we can offer discounts of up to 90% on Beginning F#. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Beginning F# ReviewAll the F# books out there are puzzle pieces in the F# jigsaw puzzle; hence they all have a unique role to play in the milieu.
This book is the most tutorial, and it covers the topic pretty thoroughly (even monads and continuations are presented).
This book is also the most ecumenical (as of this writing). That is to say, it is not Microsoft-centric: it also caters to those coming from the Unix world and those using Mono.
Even if you don't consider yourself a beginner, you're likely to benefit from reading this book cover to cover (and for me that includes reading the legalese, the index, and the advertisements: everything!).
Sometimes Robert will draw attention to what might seem like a trivial point; but he's actually citing a representative point, and trying to instill in the reader an intuitive understanding of the design philosophy behind F#.
This book even covers quotations, compilation, interpreters, parsers, and the gestalt of language oriented programming (wherein domain specific languages are crafted as a way to control complexity). These important topics might seem pretty intense for a beginner's book, but they are presented in the same tutorial fashion that basic concepts are presented with. This is arguably the most accessible presentation of F#, and is based on one of the first books to come out.
Sometimes people try to do too much too fast, without having learned the basics first. That can be a recipe for frustration that might result in failing to stay the course. This book was often just what the (proverbial) doctor ordered for me, during such times of frustration. I'm very grateful for this book, and for Robert's helpfulness.
There are code samples in this book that are real gems of great value. It will take me years to fully digest all the great information this book has to offer.
Thanks Robert!Beginning F# OverviewMicrosoft is promoting F# to full language status and including it in the standard Visual Studio products and sets of downloads from .NET 4.0 onwards as functional programming becomes a progressively more important part of their strategy. We aim, in conjunction with Don Syme's expert guide, to have the most comprehensive and complete set of F# books available and Beginning F# is a cornerstone book for those looking for such a tutorial. Beginning F# is a unique offering because of the author's strong connections with F# team and the fact that Pickering's experience of real world functional programming at LexiFi is far greater than his competing authors.

Want to learn more information about Beginning F#?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Programming Scala: Scalability = Functional Programming + Objects (Animal Guide) Review

Programming Scala: Scalability = Functional Programming + Objects (Animal Guide)
Average Reviews:

(More customer reviews)
Are you looking to buy Programming Scala: Scalability = Functional Programming + Objects (Animal Guide)? Here is the right place to find the great deals. we can offer discounts of up to 90% on Programming Scala: Scalability = Functional Programming + Objects (Animal Guide). Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Programming Scala: Scalability = Functional Programming + Objects (Animal Guide) ReviewScala is a very interesting language and tremendously powerful. It takes aspects of functional languages joins them to DSLs (domain specific languages) and adds it all on top of standard object oriented programming concepts and then runs the whole thing on the Java virtual machine. As such there's a lot of interesting things to learn and understand about the language and the fairly radical concepts its raising.
However, while the topic is clearly fascinating I feel the book is not especially well organized. Scala introduces many interesting and novel language design concepts (e.g. the functional features and their take on the actor model for concurrency). It also introduces a great number of language short cuts and syntactic sugar, allowing for DSLs or at the very least less typing and more of the feel of a scripting language. The book chooses to introduce the language short cuts first and then proceeds to use them liberally when introducing the language features. This no doubt promotes good "scala" practice but does make understanding the new concepts more difficult since we're still learning the new syntactic forms.
I think a better approach would have been to introduce the language concepts first - in long hand form (and we're usually talking just a few extra characters here, not pages of text) - and then follow up in the later chapters with the syntactic sugar and the ways to reduce typing and allow for alternative naming and syntactic forms (which helps support domain specific languages). That would have made it easier to grasp the concepts and then we could have learned how to enhance those basic skills and produce even more compact and flexible Scala programs.
One indication of this problem is the great number of forward references in the book. A concept is often introduced but it can only be partially explained (since the early focus is often more on syntax than deep semantics) and so many times the full explanation has to be deferred until later - and later is often 10 chapters later. You can do that once or twice in a book, but you shouldn't need to do it half a dozen times in each chapter - or it's a sign the overall organization is poor.
On the plus side the book is short (always a benefit when being introduced to a new language) and the chapters contain many interesting examples which are actually very helpful in explaining the authors points. The book also does a very good job of covering the breadth of the language and all that it introduces in a relatively short amount of space.
In summary I think it's a good effort but I suspect in a few month's time there will be better choices for learning Scala.
Programming Scala: Scalability = Functional Programming + Objects (Animal Guide) Overview
Learn how to be more productive with Scala, a new multi-paradigm language for the Java Virtual Machine (JVM) that integrates features of both object-oriented and functional programming. With this book, you'll discover why Scala is ideal for highly scalable, component-based applications that support concurrency and distribution.Programming Scala clearly explains the advantages of Scala as a JVM language. You'll learn how to leverage the wealth of Java class libraries to meet the practical needs of enterprise and Internet projects more easily. Packed with code examples, this book provides useful information on Scala's command-line tools, third-party tools, libraries, and available language-aware plugins for editors and IDEs.



Learn how Scala's succinct and flexible code helps you program faster
Discover the notable improvements Scala offers over Java's object model
Get a concise overview of functional programming, and learn how Scala's support for it offers a better approach to concurrency
Know how to use mixin composition with traits, pattern matching, concurrency with Actors, and other essential features
Take advantage of Scala's built-in support for XML
Learn how to develop domain-specific languages
Understand the basics for designing test-driven Scala applications


Want to learn more information about Programming Scala: Scalability = Functional Programming + Objects (Animal Guide)?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...