What’s Framework? http://en.wikipedia.org/wiki/Software_framework Framework is an abstraction in which common code providing generic functionality can be selectively overridden or specialized by user code providing specific functionality. Frameworks are a special case of software libraries in that they are reusable abstractions of code wrapped in a well-defined API , yet they contain some key distinguishing features that separate them from normal libraries. Frameworks have these distinguishing features that separate them from libraries or normal user applications: 1. inversion of control - In a framework, unlike in libraries or normal user applications, the overall program's flow of control is not dictated by the caller, but by the framework. 2. default behavior - A framework has a default behavior. This default behavior must actually be some useful behavior and not a series of no-ops. 3. extensibility - A framework can be extended by the user usually by selective overriding or specialized by user code providing specific functionality 4. non-modifiable framework code - The framework code, in general, is not allowed to be modified. Users can extend the framework, but not modify its code.
The .NET Framework class library is a library of classes, interfaces, and value types that provides access to system functionality and is designed to be the foundation on which .NET Framework applications, components, and controls are built.
The Base Class Library (BCL) includes a small subset of the entire class library and is the core set of classes that serve as the basic API of the Common Language Runtime .  The classes in mscorlib.dll and some of the classes in System.dll and System.core.dll are considered to be a part of the BCL. The BCL classes are available in both .NET Framework as well as its alternative implementations including .NET Compact Framework , Microsoft Silverlight and Mono . The Framework Class Library (FCL) is a superset of the BCL classes and refers to the entire class library that ships with .NET Framework. It includes an expanded set of libraries, including WinForms , ADO.NET , ASP.NET , Language Integrated Query , WPF , WCF among others. The FCL is much larger in scope than standard libraries for languages like C++ , and comparable in scope to the standard libraries of Java .
http://1code.codeplex.com/ Are you frustrated by the lack of code samples for a certain programming task? Have you ever struggled to quickly get started with a technique? Have you expected someone to write code samples for you based on your requests for free? Is a one-stop code sample library for all Microsoft development technologies attractive to you? Another material: Google search “ C# cookbook ”
Concurrency (Erlang) and parallelism (Fsharp) are NOT the same thing. Two tasks T1 and T2 are concurrent if the order in which the two tasks are executed in time is not predetermined,
T1 may be executed and finished before T2,
T2 may be executed and finished before T1,
T1 and T2 may be executed simultaneously at the same instance of time (parallelism),
T1 and T2 may be executed alternatively,
If two concurrent threads are scheduled by the OS to run on one single-core non-SMT non-CMP processor, you may get concurrency but not parallelism. Parallelism is possible on multi-core, multi-processor or distributed systems.
Concurrency is often referred to as a property of a program, and is a concept more general than parallelism .
Add-ins and Extensibility Describes how to develop add-in applications that extend a host application's functionality.
Asynchronous Programming Design Patterns Describes two design patterns available in the .NET Framework that are used to run threads separately from the main application thread.
Component Authoring for the Design Environment Provides links to information about creating your own components in the .NET Framework, customizing their behavior and display, and creating custom controls for the Windows Presentation Foundation (WPF).
Dynamic Source Code Generation and Compilation Discusses the Code Document Object Model (CodeDOM), which enables the output of source code in multiple programming languages.
Emitting Dynamic Methods and Assemblies Describes a set of managed types in the System.Reflection.Emit namespace that enable a compiler or tool to emit metadata and Microsoft intermediate language (MSIL) at run time and optionally generate a portable executable (PE) file on disk.
Expression Trees Introduces expression trees, which are tree-shaped data structures that can be used to represent language-level code in the form of data.
Garbage Collection Discusses how the garbage collector manages memory and how you can program to use memory more efficiently.
Hosting the Common Language Runtime Explains the concept of a runtime host, which loads the runtime into a process, creates the application domain in the process, and loads and executes user code.
Interoperability Describes services provided by the .NET Framework for interaction with COM components, COM+ services, external type libraries, and many operating system services.
.NET Remoting Discusses establishing communication between objects that run in different processes.
Network Programming Shows how to use Internet access classes to implement both Web- and Internet-based applications.
Reflection Explains how to obtain access to type information at run time by using reflection.
Reliability Discusses writing reliable code for any host that is executing in a .NET Framework environment.
Serialization Discusses the process of converting the state of an object into a form that can be persisted or transported.
Managed Threading Explains the runtime support for threading and how to program by using various synchronization techniques.
Writing Serviced Components Describes how to configure and register serviced components to access COM+ services.