[Blog Map] [Table of Contents] [Next Topic]
Aside from the semantics of the C# 3.0 code, there are a few key ideas to learn. These ideas are pretty easy.
We'll explore each of these ideas in depth in this tutorial.
One of the most important areas of learning is the different approach to solving problems. When coding a complex transformation in a traditional imperative way, you often think in terms of algorithms. When coding a complex transformation in a declarative way, you think in terms of incremental transformations: collection X transforms to collection Y which then in turn transforms into collection Z. We'll explore this idea in detail in this tutorial. This idea could have gone into the list above, but it is very important, and I wanted to call it out specifically.
A question that some developers have posed is, "How does Language-Integrated Query (LINQ) figure into functional programming?" It is kind of a chicken and egg thing. LINQ is implemented using functional programming techniques, and to fully understand LINQ, you need to understand FP. In addition, when writing pure FP code, you often use queries, either in the form of Query Expressions, or using method syntax. This tutorial could be sub-titled, "Writing code in the pure functional programming style, using queries where appropriate." There is quite a bit more to FP than queries. It is a change in the basic approach to solving data transformation problems.
This tutorial is presented from a non-academic point of view. I want it to be accessible to both journeyman and experienced OOP developers. It is my intent to present the concepts in simple terms, and show their applicability in programs that you are writing right now.
This is a tutorial on using Functional Programming (FP) techniques for constructing LINQ queries. It is certainly possible to write simple LINQ queries without using these techniques, but as soon as you start writing more complicated queries, you need
Thanks for this tutorial, it sounds just great: I'm an OOP programmer discovering those concepts, after all...
[Table of Contents] [Next Topic] So I mentioned that certain type of problems lend themselves to a functional
When developing C# programs in the functional programming style, you often need to dump out a collection