Search This Blog
2009-07-09
F# As a Language and F# for Developers
F# includes support for the foundational features of functional programming including tuples, lists, options, function values, local function definitions, pattern matching and sequence expressions.
The powerful type inference mechanisms of F# allow code to be both succinct and yet fully type-checked.
F# also includes support for advanced functional programming constructs such as active patterns and computation expressions. Computation expressions can be used to express data queries and client/server modalities in AJAX-style web programming. They enable programmers to write succinct and robust reactive agents through the use of asynchronous workflows. Computation expressions are related to ``monads'' in Haskell.
F# embraces object-oriented programming and includes support for type-inferred, succinct descriptions of object types.
F# allows types and values in an F# program to be accessed from other .NET languages in a predictable and friendly way.
F# includes support for a form of meta-programming, inspired by LINQ. This allows data queries to be expressed and type-checked in F# code and then dynamically compiled and translated to target languages such as SQL using the LinqToSql framework.
F# fully supports .NET generics and the language was designed partly with this in mind.
Through .NET, F# supports advanced language and runtime features such as Unicode strings, dynamic linking, preemptive multithreading, and SMP support.
F# for Developers:
The F# Interactive environment fsi.exe supports top-level development and exploration of the dynamics of your code and environment.
The command line compiler fsc.exe supports separate compilation, debug information and optimization.
F# comes with Visual Studio integration that supports features such as an integrated build/debug environment, graphical debugging, interactive syntax highlighting, parsing and typechecking, IntelliSense, CodeSense, MethodTips and a project system.
F# can be used with tools from the .NET Framework, Microsoft's Visual Studio and many other .NET development tools.
F# comes with an ML compatibility library that approximates the OCaml 3.06 libraries. This means you don't have to use .NET libraries if it is not appropriate. It is possible to write large and sophisticated applications that can be cross-compiled as OCaml code or F# code, and we take this mode of use seriously.
Resource obtain from http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/about.aspx
What is F#
F# stems from the ML family of languages and has a core language compatible with that of OCaml, though also draws from C# and Haskell. F# was designed from the ground up to be a first-class citizen on .NET, giving smooth interoperability with other .NET languages. For example, C# and F# can call each other directly. This means that F# has immediate access to all the .NET Framework APIs, including, for example, Windows Presentation Foundation and DirectX. Similarly, libraries developed in F# may be used from other .NET languages.
Caml is a general-purpose programming language, designed with program safety and reliability in mind. It is very expressive, yet easy to learn and use. Caml supports functional, imperative, and object-oriented programming styles.
The oCaml or Objective Caml system is the main implementation of the Caml language. It features a powerful module system and a full-fledged object-oriented layer. It comes with a native-code compiler that supports numerous architectures, for high performance; a bytecode compiler, for increased portability; and an interactive loop, for experimentation and rapid development.
2009-04-20
Video Tutorials on VS 2010
Step By Step Tutorials on VS 2010,Free Video Tutorials on VS 2010
Sharepoint Development with Visual Studio 2010
Web Development and Deployment with Visual Studio 2010
Visual C++ 10: 10 is the new 6
Visual Studio 2010 and .NET Framework 4.0 Training Kit - November Preview
Using the Parallel Extensions to the .NET Framework
Native Parallelism with the Parallel Patterns Library
Debugging Parallel Applications with Visual Studio 2010
Code-Focused Development with Visual Studio 2010
Paramesh Vaidyanathan and Rico Mariani: The Future of Visual Studio Extensibility
New Features in .NET Framework 4.0
Visual Studio 2010 will ship with a .NET Framework that has undergone major changes, most notably a complete overhaul of Windows Workflow. Other noteworthy additions include:
- Managed Extensibility Framework (MEF): A new .NET 4.0 library for building extensible applications or discovering extensions. MEF is available as a preview on CodePlex.
- Integration of .NET Parallel Extensions: A new library for data and task parallelism that includes the Task Parallelism Library and declarative programming support via Parallel LINQ (PLINQ).
- Support for the functional programming language developed by Microsoft Research, F# and Microsoft's dynamic languages IronRuby and IronPython via the new dynamic language runtime built on top of the common language runtime.
Two of the major advances in development trends occurring soon are the extension of development to the cloud and the ability to easily construct applications that use the latest multi-core hardware in parallel.
VISUAL STUDIO 2010 DELIVERS THE FOLLOWING KEY ADVANCES:
- Cloud Development :With Visual Studio, you can build a package containing your service, and use Windows Azure Tools to deploy the package to Windows Azure through the Windows Live Developer Portal.
- Parallel Programming : processors are now evolving under a new paradigm where multiple cores are placed on a single die to increase overall processor computational horsepower.
Visual Studio IDE support for parallel programming
Parallel Pattern Library: Native C++ libraries that use lambda functions and align well with STL
Parallel Extensions to the .NET Framework: Library-based support for imperative data and task parallelism, declarative data parallelism, and work coordination and managing shared state
Concurrency Runtime: Resource management of the multicore hardware and task scheduling
Tools: Parallel debugging windows and profiling views - Understanding existing and writing new code:The editor in Visual Studio 2010 has been rebuilt using the Windows Presentation Foundation (WPF) technology. WPF enables the editor to richly present information about the code in the context of presenting the actual source. This ability enables features such as the "Document Map Margin" to render a graphical view of the source file including information such as layout, code coverage, symbol highlights and comments.
This editor ability also enables 3rd parties to create add-ins that show custom views of the underlying source file such as taking the XML Doc Comments and converting them to a rich presentation formation with fonts, colors and highlight. - Web Development :In Visual Studio 2010, Microsoft is continuing their investment in great Web development tools. Visual Studio 2010 enhancements for Web developers include:
A high-performance and standards-compliant JavaScript, IntelliSense® engine
"One Click Deployment" for quickly and easily publishing a Web site's files and configuration settings from the development machines to the final deployed site
Full support for Silverlight™ for developers wishing to build cutting-edge, rich Internet applications . - Sharepoint Development:Microsoft Visual Studio 2010 marks a major advance in usability and functionality for SharePoint developers.
You can use the new Visual Studio project templates to quickly create or update SharePoint elements such as list definitions, list instances, site definitions, workflows, event receivers, Business Data Catalog models, and content types. In addition, you can use Server Explorer to browse a SharePoint site and its content. You can also import existing SharePoint content using the WSP Importer, allowing you to easily edit its code using Visual Studio 2010.
