Monday, November 03, 2008

PnP Sessions Day 1

Continued PnP Summit Coverage
The second session was Fundamentalist Functional Programming with Erik Meijer, it was a really interesting explaination of the side effects of lanaguages and how the complier doesn't really know what the expecations are.  The idea that 'code can be data' and 'data can be code' really can cause the some strange side effects - this is most apparant when running the same block of code in C# or Javascript.   

Functional Programming

One of the basic examples he gave was that DateTime.Now.Ticks in .NET is treated like a function that returns a long value - but how many functions do you create that takes zero parameters and never returns the same thing? The idea is stop thinking that it returns a standard long value, but returns the next long value in collection of long values (the theory is that a side effect is occuring causing the value to change).  It was an interesting session and makes me want to learn more about pure functional langagues like Haskell or F#.

The next session was Application Architecture Guidance with Javed Sikander and J.D. Meier.  

Architecture Guidance
I've always thought that the guidance was pretty impressive but really hard to keep a project going under it.  But they explained that you can break it down and focus on the areas you really need to worry about first and then dig deeper later.  The best place to start is with Fast Tracks and then review the Best Practices section. 

After lunch we got an overview of the EntLib 4.1 and Beyond release with a focus on Unity and how it interacts with the rest of the libraries.  I really like Unity and concept of Dependency Injection for complex applications.  We have so many 'unique' customer needs that we have to provide some seperation of concerns and abstract the implementations to support them safely.  It will be interesting to see how this starts to blend/merge with the Managed Extensibility Framework which is a topic this afternoon.

Half way through Day 1 and 4 more to go. 

No comments: