7.12.05
LINQ: Microsoft goes functional
I finally had a chance to properly look at LINQ.
This is competitive with the DB end of Links. One can write (typed) expressions in the programming language that compile into SQL access. I would say that Links integrates this in a slightly smoother way than LINQ, but the difference between the two is small. So if Links is to establish itself, it will need to focus on client-server integration rather than server-db integration.
What's most interesting about LINQ is the number of ideas from functional programming and programming languages that it incorporates. Functional programmers will see many old friends here, including lists (masquerading as IEnumerable), lambda expressions (with compact syntax: v => e), fold, and the old idea that syntax in the language is just sugar for a sequence of function calls. They have also brought in the important idea of open classes (where one organization can add methods to a class defined by another, without altering the source code). So a lot of good, basic programming languages stuff is sneaking in under the LINQ banner.
I presume Eric Meijer had a lot to do with this. Well done, Erik!
This is competitive with the DB end of Links. One can write (typed) expressions in the programming language that compile into SQL access. I would say that Links integrates this in a slightly smoother way than LINQ, but the difference between the two is small. So if Links is to establish itself, it will need to focus on client-server integration rather than server-db integration.
What's most interesting about LINQ is the number of ideas from functional programming and programming languages that it incorporates. Functional programmers will see many old friends here, including lists (masquerading as IEnumerable), lambda expressions (with compact syntax: v => e), fold, and the old idea that syntax in the language is just sugar for a sequence of function calls. They have also brought in the important idea of open classes (where one organization can add methods to a class defined by another, without altering the source code). So a lot of good, basic programming languages stuff is sneaking in under the LINQ banner.
I presume Eric Meijer had a lot to do with this. Well done, Erik!