Your SlideShare is downloading. ×
.net Framework
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

.net Framework

787
views

Published on

Published in: Technology

1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total Views
787
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
35
Comments
1
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Windows Server includes key application server functionality directly in the operating system including distributed transactions, message queuing, a Web server and Web services, communications, workflow, and management. Complemented by the .NET Framework and Visual Studio, Windows Server is one of the leading application servers in the market today.
  • Could you explain this What it want to say.
  • What is NGEN & Loader & binder?
  • Parallel ExtensionsWe worked with the Parallel Extensions team to add the Task Parallel Library (TPL), Coordination Data Structures, and Parallel LINQ (PLINQ) to the BCL in .NET 4.0.  This includes an improved ThreadPool scheduling algorithm for tasks, the static Parallel class, concurrent collections in System.Collections.Concurrent, and other coordination data structures such as LazyInit<T>, CountdownEvent, Barrier, SemaphoreSlim, SpinLock, SpinWait, and ManualResetEventSlim. More information is available over at the PFX team’s blog.  Also, check out Daniel Moth’s PDC session on Parallel Programming for Managed Developers with the Next Version of Microsoft Visual Studio.
  • Dynamic Language Support: In the industry see more and more use of dynamic languages such as Ruby and Python by the developer community. I still believe that static typing provides a very important safety net, but on the other hand some tasks are just done much more efficiently done in dynamic languages. Therefore I am very excited about the fact that C# will incorporate dynamic language features in its next version. C# will provide a dynamic keyword which will mark a property or variable as dynamic at compile time. Nevertheless, at runtime the corresponding static type will be assigned to that entity, see the example code below.Declarative Programming: In many ways we over specify our programs by using imperative programming techniques. This not only makes it tedious to program software but also makes it hard for the compiler to catch the intentions of the program in order for it to do optimizations (such as parallel execution). With LinQ and functional programming elements included in the C# language  it is possible to declaratively specify the intention of the code which allow the compiler to optimize more intelligently. http://channel9.msdn.com/pdc2008/TL10/
  • Transcript

    • 1. .NET Framework
      … v3.0, v3.5, v4.0
      Bijoy Singhal
      Developer Evangelist
      Microsoft India
    • 2. Developer’s Wish List…
      Easy to translate requirement into code
      Easy to locate and fix issues
      Easy manageability and future proofing
      Easy handling of
      Data
      Business Logic
      User Interface
      Easy handling of
      Security
      Performance
      Scalability
    • 3. Top considerations of framework design
      Making Languages more productive
      Providing APIs for complex patterns
      Caching
      Add-ins
      Concurrency
      Synchronization
      Scaffolding
      Deployment
      Powerful Tools
      .NET SDK Tools
      Visual Studio
    • 4. Key Areas of the Framework
    • 5. A Look Back…
      SP1
      3.5
      3.0
      .NET 1.0
      .NET 1.1
      .NET 2.0
      .NET 4
      2002
      2003
      2008 CTP!
      2005-08
      CLR 1.0
      CLR 1.1
      CLR 2.0
      CLR 4
    • 6. Additions to the Framework…
    • 7. What Is The .NET Framework?
      WPF
      Win Forms
      DLR
      ASP.NET
      WCF
      And more!
      LINQ
      Base Class Libraries
      The CLR
      JIT & NGEN
      Garbage Collector
      Security Model
      Exception Handling
      Loader & Binder
    • 8. .NET Framework 4.0
      User Interface
      Data Access
      Services
      Windows Presentation Foundation
      ASP.NET
      (WebForms, MVC, Dynamic Data)
      Entity Framework
      ADO.NET
      Data Services
      Windows Communication Foundation
      WinForms
      LINQ to SQL
      Windows Workflow Foundation
      Core
      Base Class Library
      Dynamic Language Runtime
      Languages
      Managed Extensibility Framework
      LINQ
      Parallel Extensions
      Common Language Runtime
    • 9. The goal of CLR 4.0
      Working Better Together…
      Faster…
      With Fewer Bugs…
      In-Proc SxS
      Managed Extensibility Framework
      Native/Managed Interop
      DLR Integration
      Threading
      Parallel Extensions
      Garbage Collection
      Profiling
      Code Contracts
      Debugging
      Corrupted State Exceptions
    • 10. .NET 4.0
      http://brad_abrams.members.winisp.net/Projects/PDC2008/DotNet4Poster/DotNetFramework4PosterDeepZoom.htm
    • 11. Parallel Computing
      Task Parallel Library (TPL)
      Imperative Task Parallelism
      Work-Stealing Algorithm for maximum efficiency
      Higher-level abstraction (no more Thread knowledge necessary)
      Parallel Linq (PLINQ)
      Declarative Data Parallelism (focus on the *what*, not the *how*)
      Simple Parallelism via Linq-To-Objects
      Coordination Data Structures (CDS)
      Common structures to help with parallelism tasks
    • 12. Managed Extensibility Framework - Summary
      System.ComponentModel.Composition
      MEF Core Components:
      Catalog
      Discovers and maintain extensions
      CompositionContainer
      Coordinate creations and satisfy dependencies
      ComposablePart
      Offer one or more exports
      May depend on imports for extension it uses
      Create reusable components
      Easy declaration/consumption of extensibility points
      Watching a specific directory for new extensions
      No need to create infrastructure from scratch
      MEF is dynamically composed
    • 13. Code Contracts - Summary
      Foundation
      Design by contract
      Based on MSR’s SPEC#
      What does it bring?
      Improved testability
      Static verification
      API Documentation
      How does it help?
      Guarantee obligations on entry (parameter validations)
      Guarantee property at exit (return value range)
      Maintain property during execution (object invariance)
    • 14. Garbage Collection - Summary
      Server Garbage Collection
      Algorithm maximizes overall throughput – fast – but all managed code has to be paused while it runs.
      In CLR 4.0, you can be notified before
      a Gen 2/ Large Object Heap collection.
      Useful when you can do load balancing.
      Workstation Garbage Collection
      CLR 2.0:
      Can do most, but not all, of a Generation 2 collection without pausing managed code
      New allocations go on ephemeral segment
      But can’t do Gen0 and Gen1 at same time as Gen2.
      New in CLR 4.0, we have Background Collection
      Background Collection can do a Gen0 or Gen1 while doing Gen2
      Only unusual circumstances now lead to long latency
    • 15. Garbage Collection - Summary
      Definite improvement in performance and scalability of the application
      Lesser chance of getting OutOfMemoryException
      Application health is optimum at all times.
      Optimum consumption of the processing power.
      On the server side you can load balance your application usingGCNotifications.
      Nothing really prevents your from using GCNotifications on workstations.
    • 16. Dynamic Language Support
      Dynamic keyword:
      mark a property or variable as dynamic at compile time.
      at runtime the corresponding static type will be assigned to that entity.
      Dynamic Language Runtime
      Interoperate and interact with the CLR using dynamic languages
      Get the power of .NET for dynamic languages
    • 17. Dynamic in .NET 4.0 - Summary
      Dynamic Language Runtime
      Added dynamism to .NET
      Added runtime type checking
      Full support for IronRuby, IronPython
      Dynamic Dispatch
      Introduced new type – dynamic
      Compiler merely packages information and defers binding to runtime
      Uses IDispatch interface
      Create your own dynamic types using:
      DynamicObject or IDynamicMetaObjectProvider
    • 18. ASP.NET 4.0
      ASP.NET MVC
      Separation of Concerns, Testability
      High control over market up
      ASP.NET Dynamic Data support for MVC
      Easily Create Custom controls and views based on data base
      ASP.NET better CSS and ID
    • 19. More Web Goodies…
      ADO.NET Data Services
      REST based exposure of relational data
      Ability to go “offline”
      ASP.NET AJAX
      JavaScript UI Templates and Data-binding
      AJAX Control Toolkit Enhancements
      Client-side controls
      DOM selection, manipulation and animation
      Addition of jQuery
    • 20. Some other interesting Enhancements
      CLR Enhancement
      Side by Side In Process runtime (CLR)
      Use ClrVer to see more.
      BCL Enhancements
      BigInteger
      Arbitrary length integer supporting all mathematical operations.
      Tuples
      Sequence of finite length
      System.Lazy&lt;T&gt;
      Framework implements the pattern; Developer uses it.
    • 21. Feedback / QnA
      Your Feedback is Important!
      Please take a few moments to fill out our feedback form
    • 22. Contact
      Blog Address
      http://blogs.msdn.com/bsinghal
      Email Address
      bsinghal@microsoft.com
    • 23. Bijoy Singhal
      bsinghal@microsoft.com
      Abhishek Baxi
      abby@baxiabhishek.info
      Rishu Mehra
      rishumehra@merawindows.com
      http://delhiitpro.groups.live.com
      http://delhidevs.com
    • 24.
      • 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.