SlideShare a Scribd company logo
1 of 32
C# 4.0 – What’s new?
                     Venketash (Pat) Ramadass
         Systems Architect & Managing Director
                                      emediaIT
    Email Address: pat.ramadass@emediait.com
        Blog: http://patramadass.emediait.com
Before all of that...

    Who here is primarily using VS 2003 and .NET 1.1?


    Who here is primarily using VS 2005 and .NET 2.0?


    Who here is primarily using VS 2008 and .NET 3.5?

    ◦ What features are you using?
       WPF, WCF, WF LINQ etc?

    Who has played with VS 2010 CTP?

    ◦ Available for download
Items we are going to Cover...

    What’s new in VS 2010



    What’s new in .NET 4.0



    What’s new in c# 4.0



    Questions



    Note: All of these technologies are still new and are

    still maturing through CTPs followed by Betas/RCs
What’s new in VS 2010
What’s new in VS 2010 – General
    .NET Framework 4.0


    Tooling and Framework advancements that take advantage

    of the latest trends including:
    ◦ Cloud Development
       Windows Azure and similar
    ◦ Parallel Computing
       Taking advantage of multi-core systems

    Updated editor built in WPF

    ◦ Graphical view of source files, code coverage etc

    Simplified and more powerful TDD

    ◦ Consume first declare second
What’s new in VS 2010 – TDD
What’s new in VS 2010 – Web Development

    Full inclusion of:

    ◦ ASP .NET MVC
    ◦ JQuery
    ◦ Sliverlight

    Improved JavaScript IntelliSense engine



    Improved SharePoint tools and project templates

    ◦ VS 2010 Tools for SharePoint
       Replacement for SharePoint Designer
What’s new in VS 2010 – SharePoint
Development
  New Project Templates

 Import content using WSP Import
What’s new in VS 2010 – SharePoint
Development
What’s new in VS 2010 – Other
    Windows 7 Development

    ◦ Updates to MFC to support Windows 7, including new UI elements

    Office Business Application Development

    ◦ Build Office client applications that span multiple versions and target
      32-bit/64-bit as using a single deployment package

    “Dublin” and “Oslo” in pipeline


    ◦ “Dublin” will provide enhanced server capabilities, building on IIS for
      WCF and WF application hosting

    ◦ “Oslo” is a modelling platform for model-driven applications
       “M” Language – Authoring domains textually
       Quadrant – Tool for authoring domains visually
       Library of pre-built domain models
What’s new in VS 2010 – Team System -
Rosario
    Who here uses VSTS and/or VSTFS?

    ◦ What features/aspects do you use?

    Highlights include:


    ◦ “Democratizing” Application Lifecycle Management
        Architectural consistency
        Limiting “No-Repro” bugs

    ◦ Improved modelling
        Technical and non-technical users

    ◦ Improved QA/Test Planning and execution
        Microsoft Test Runner
          ◦ Snapshot of system data
          ◦ Partial/full video capture
        Test Impact View
What’s new in VS 2010 – Test Impact View
What’s new in VS 2010 – Team System –
Architecture Explorer
What’s new in .net 4.0
What’s new in .net 4.0 – Some Highlights

    Updates to BCL – Base Class Lilbrary



    Code Contracts

    ◦ System.Diagnostics.Contracts
    ◦ Language agnostic
    ◦ Specify Pre-conditions, post-conditions and objects
      invariants

    Parallel Extensions

    ◦ Task Parallel Library, Parallel LINQ
What’s new in .net 4.0 – Some Highlights

    BigInteger

    ◦ System.Numerics.BigInteger
    ◦ Supports all standard Integer operations

    Compression Improvements

    ◦ Removed 4GB stream limit

    Various WCF and WF enhancements


    ASP.NET

    ◦ Static Client Ids
    ◦ Chart Control
What’s new in c# 4.0
What’s new in c# 4.0

    Onto why we’re actually here...



    ◦ Dynamic Lookup

    ◦ Named and Optional Arguments

    ◦ Features for COM Interop

    ◦ Variance
What’s new in c# 4.0 – Dynamic Lookup

    New dynamic type



    Resolution of method calls or field accesses is

    deferred until runtime

    Allows for calling or accessing identical methods

    or properties across unrelated objects
What’s new in c# 4.0 – Dynamic Lookup
Demo
What’s new in c# 4.0 – Dynamic Lookup

    DLR – Dynamic Language Runtime is underlying

    mechanism

    This could be done before, using reflection or

    interfaces etc, but it would require much more
    work

    Convenience comes with drawbacks

    ◦ Performance
       Reflection is used underneath
    ◦ Only have runtime checking
What’s new in c# 4.0 – Named and Optional
Arguments

    Historically multiple overloads were required to

    achieve this type of thing in c#
    ◦ Named parameters were never possible


    Now this can be done using the optional argument

    syntax in a single constructor
What’s new in c# 4.0 – Named and Optional
Arguments Demo
What’s new in c# 4.0 – Features for COM
Interop
    Dynamic import allows you to import COM APIs so that

    variants are represented using dynamic type instead of
    object. Code that looked like...



 ...could now look like...
What’s new in c# 4.0 – Features for COM
Interop

    COM APIs use a lot of ref parameters. In c# 4.0 the

    compiler allows you to omit the ref in COM APIs

    “No PIAs’ Feature

    ◦ Ability to compile your application so that it does not
      require the Primary Interop Assemblies.
    ◦ Instead a small portion of the PIA required is put directly
      into the program’s assembly
What’s new in c# 4.0 – Variance
    Variance is one of those things most of us don’t

    often don’t have to think about

    There are some cases which you may assume

    should work that don’t however.
What’s new in c# 4.0 – Variance
    The following example does not work even though

    string obviously inherits from object



    If it did, the following would have to work, which

    goes against type safety
What’s new in c# 4.0 – Variance
    There may however be times where you would

    want to have this type of thing happening and for
    it to happen safely

    c# 4.0 allows for covariance and contravariance

    through the new out and in keywords
What’s new in c# 4.0 – Covariance and
Contravariance Demo
Conclusion

    A lot of great new technologies and tools coming

    out very soon

    There are some key advancements in both c# and

    .net 4.0, so we should all be looking to familiarise
    ourselves with them and take advantage when
    they are available

    Download VS 2010 CTP and go through the

    Walkthroughs
References
    http://www.microsoft.com/visualstudio/en-

    us/products/2010/default.mspx
    ◦ Visual Studio 2010 main site and CTP download
    ◦ CTP is in the form of a VHD and some software
      expired on it in January 2009. There are
      workarounds.

    http://channel9.msdn.com/pdc2008/TL26/

    ◦ Parallel Programming for Managed Developers with
      Visual Studio 2010

    http://patramadass.emediait.com

    ◦ This presentation, example code
Questions?

More Related Content

What's hot

Understanding the WSO2 Platform
Understanding the WSO2 PlatformUnderstanding the WSO2 Platform
Understanding the WSO2 PlatformWSO2
 
Azure dev ops integrations with Jenkins
Azure dev ops integrations with JenkinsAzure dev ops integrations with Jenkins
Azure dev ops integrations with JenkinsDamien Caro
 
ECS19 Elio Struyf - Setting Up Your SPFx CI/CD pipelines on Azure DevOps
ECS19 Elio Struyf - Setting Up Your SPFx CI/CD pipelines on Azure DevOpsECS19 Elio Struyf - Setting Up Your SPFx CI/CD pipelines on Azure DevOps
ECS19 Elio Struyf - Setting Up Your SPFx CI/CD pipelines on Azure DevOpsEuropean Collaboration Summit
 
The Carbon Story
The Carbon StoryThe Carbon Story
The Carbon StoryWSO2
 
Sharepoint as a service platform
Sharepoint as a service platformSharepoint as a service platform
Sharepoint as a service platformKashif Akram
 
Introducing The WSO2 Platform
Introducing The WSO2 Platform Introducing The WSO2 Platform
Introducing The WSO2 Platform WSO2
 
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019Haufe-Lexware GmbH & Co KG
 
Carbon Webinar
Carbon WebinarCarbon Webinar
Carbon WebinarWSO2
 
Essential Kit for Oracle JET Programming
Essential Kit for Oracle JET ProgrammingEssential Kit for Oracle JET Programming
Essential Kit for Oracle JET Programmingandrejusb
 
Introducing the WSO2 Developer Studio Tools for SOA Developers
Introducing the WSO2 Developer Studio   Tools for SOA DevelopersIntroducing the WSO2 Developer Studio   Tools for SOA Developers
Introducing the WSO2 Developer Studio Tools for SOA DevelopersWSO2
 
Visual Studio 2010 IDE Enhancements - Alex Mackey, Readify
Visual Studio 2010 IDE Enhancements - Alex Mackey, ReadifyVisual Studio 2010 IDE Enhancements - Alex Mackey, Readify
Visual Studio 2010 IDE Enhancements - Alex Mackey, ReadifyREADIFY
 
RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016Ortus Solutions, Corp
 
Fn meetup by Sardar Jamal Arif
Fn meetup by Sardar Jamal ArifFn meetup by Sardar Jamal Arif
Fn meetup by Sardar Jamal ArifOracle Developers
 
Web changesandasp4 upload
Web changesandasp4 uploadWeb changesandasp4 upload
Web changesandasp4 uploadREADIFY
 
ASP.NET 4 & Web Dev in Visual Studio 2010 - Alex Mackey, Readify
ASP.NET 4 & Web Dev in Visual Studio 2010 - Alex Mackey, ReadifyASP.NET 4 & Web Dev in Visual Studio 2010 - Alex Mackey, Readify
ASP.NET 4 & Web Dev in Visual Studio 2010 - Alex Mackey, ReadifyREADIFY
 
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)Chris O'Brien
 
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
[Patel] SPFx: An ISV Insight into latest Microsoft's customization modelEuropean Collaboration Summit
 
Entity framework (EF) 7
Entity framework (EF) 7Entity framework (EF) 7
Entity framework (EF) 7Paul Graham
 
Chapter10 web
Chapter10 webChapter10 web
Chapter10 webREADIFY
 

What's hot (20)

Understanding the WSO2 Platform
Understanding the WSO2 PlatformUnderstanding the WSO2 Platform
Understanding the WSO2 Platform
 
Azure dev ops integrations with Jenkins
Azure dev ops integrations with JenkinsAzure dev ops integrations with Jenkins
Azure dev ops integrations with Jenkins
 
ECS19 Elio Struyf - Setting Up Your SPFx CI/CD pipelines on Azure DevOps
ECS19 Elio Struyf - Setting Up Your SPFx CI/CD pipelines on Azure DevOpsECS19 Elio Struyf - Setting Up Your SPFx CI/CD pipelines on Azure DevOps
ECS19 Elio Struyf - Setting Up Your SPFx CI/CD pipelines on Azure DevOps
 
The Carbon Story
The Carbon StoryThe Carbon Story
The Carbon Story
 
Sharepoint as a service platform
Sharepoint as a service platformSharepoint as a service platform
Sharepoint as a service platform
 
Drive dam
Drive damDrive dam
Drive dam
 
Introducing The WSO2 Platform
Introducing The WSO2 Platform Introducing The WSO2 Platform
Introducing The WSO2 Platform
 
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
 
Carbon Webinar
Carbon WebinarCarbon Webinar
Carbon Webinar
 
Essential Kit for Oracle JET Programming
Essential Kit for Oracle JET ProgrammingEssential Kit for Oracle JET Programming
Essential Kit for Oracle JET Programming
 
Introducing the WSO2 Developer Studio Tools for SOA Developers
Introducing the WSO2 Developer Studio   Tools for SOA DevelopersIntroducing the WSO2 Developer Studio   Tools for SOA Developers
Introducing the WSO2 Developer Studio Tools for SOA Developers
 
Visual Studio 2010 IDE Enhancements - Alex Mackey, Readify
Visual Studio 2010 IDE Enhancements - Alex Mackey, ReadifyVisual Studio 2010 IDE Enhancements - Alex Mackey, Readify
Visual Studio 2010 IDE Enhancements - Alex Mackey, Readify
 
RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016
 
Fn meetup by Sardar Jamal Arif
Fn meetup by Sardar Jamal ArifFn meetup by Sardar Jamal Arif
Fn meetup by Sardar Jamal Arif
 
Web changesandasp4 upload
Web changesandasp4 uploadWeb changesandasp4 upload
Web changesandasp4 upload
 
ASP.NET 4 & Web Dev in Visual Studio 2010 - Alex Mackey, Readify
ASP.NET 4 & Web Dev in Visual Studio 2010 - Alex Mackey, ReadifyASP.NET 4 & Web Dev in Visual Studio 2010 - Alex Mackey, Readify
ASP.NET 4 & Web Dev in Visual Studio 2010 - Alex Mackey, Readify
 
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
 
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
 
Entity framework (EF) 7
Entity framework (EF) 7Entity framework (EF) 7
Entity framework (EF) 7
 
Chapter10 web
Chapter10 webChapter10 web
Chapter10 web
 

Viewers also liked

Csharp ebook
Csharp ebookCsharp ebook
Csharp ebook988633
 
C# 4.0 and .NET 4.0
C# 4.0 and .NET 4.0C# 4.0 and .NET 4.0
C# 4.0 and .NET 4.0Buu Nguyen
 
Sejarah perkembangan linguistik (ayu)
Sejarah perkembangan linguistik (ayu)Sejarah perkembangan linguistik (ayu)
Sejarah perkembangan linguistik (ayu)Watak Bulat
 
Factoring out system components – RAMP 2013
Factoring out system components – RAMP 2013Factoring out system components – RAMP 2013
Factoring out system components – RAMP 2013Andreas Ehn
 
Metodologia final Empresas Familiares
Metodologia final Empresas FamiliaresMetodologia final Empresas Familiares
Metodologia final Empresas Familiaresmetodologia2013
 
Savannah chatham (1)..
Savannah chatham (1)..Savannah chatham (1)..
Savannah chatham (1)..eeniarrol
 
Daftar isi fix revisi
Daftar isi fix  revisiDaftar isi fix  revisi
Daftar isi fix revisianomwiradana
 
La Familia Trabajo De Computacion Alejandro Puruncajas 1 Cca
La Familia Trabajo De Computacion Alejandro Puruncajas 1 CcaLa Familia Trabajo De Computacion Alejandro Puruncajas 1 Cca
La Familia Trabajo De Computacion Alejandro Puruncajas 1 CcaAlejo P
 
Inside the Millennial Mind
Inside the Millennial MindInside the Millennial Mind
Inside the Millennial MindCEB, now Gartner
 
María G_Pérez _Presentación.
 María G_Pérez _Presentación. María G_Pérez _Presentación.
María G_Pérez _Presentación.mariagracia18
 
La perdurabilidad en las empresas amiliasde
La perdurabilidad en las empresas amiliasdeLa perdurabilidad en las empresas amiliasde
La perdurabilidad en las empresas amiliasdemariaperezgamboa
 

Viewers also liked (20)

Csharp ebook
Csharp ebookCsharp ebook
Csharp ebook
 
C# 4.0 dynamic
C# 4.0 dynamicC# 4.0 dynamic
C# 4.0 dynamic
 
Dynamic C#
Dynamic C# Dynamic C#
Dynamic C#
 
C# 4.0 and .NET 4.0
C# 4.0 and .NET 4.0C# 4.0 and .NET 4.0
C# 4.0 and .NET 4.0
 
Sejarah perkembangan linguistik (ayu)
Sejarah perkembangan linguistik (ayu)Sejarah perkembangan linguistik (ayu)
Sejarah perkembangan linguistik (ayu)
 
Beni culturali - Daniela Fiore
Beni culturali  - Daniela FioreBeni culturali  - Daniela Fiore
Beni culturali - Daniela Fiore
 
Factoring out system components – RAMP 2013
Factoring out system components – RAMP 2013Factoring out system components – RAMP 2013
Factoring out system components – RAMP 2013
 
Tamagaci
TamagaciTamagaci
Tamagaci
 
Student c
Student cStudent c
Student c
 
Ap feb scene
Ap feb sceneAp feb scene
Ap feb scene
 
Tec16grupo9 ide9610177 anexos1
Tec16grupo9 ide9610177 anexos1Tec16grupo9 ide9610177 anexos1
Tec16grupo9 ide9610177 anexos1
 
Metodologia final Empresas Familiares
Metodologia final Empresas FamiliaresMetodologia final Empresas Familiares
Metodologia final Empresas Familiares
 
Savannah chatham (1)..
Savannah chatham (1)..Savannah chatham (1)..
Savannah chatham (1)..
 
Daftar isi fix revisi
Daftar isi fix  revisiDaftar isi fix  revisi
Daftar isi fix revisi
 
Invest in the UK
Invest in the UKInvest in the UK
Invest in the UK
 
Alaa Bebars
Alaa BebarsAlaa Bebars
Alaa Bebars
 
La Familia Trabajo De Computacion Alejandro Puruncajas 1 Cca
La Familia Trabajo De Computacion Alejandro Puruncajas 1 CcaLa Familia Trabajo De Computacion Alejandro Puruncajas 1 Cca
La Familia Trabajo De Computacion Alejandro Puruncajas 1 Cca
 
Inside the Millennial Mind
Inside the Millennial MindInside the Millennial Mind
Inside the Millennial Mind
 
María G_Pérez _Presentación.
 María G_Pérez _Presentación. María G_Pérez _Presentación.
María G_Pérez _Presentación.
 
La perdurabilidad en las empresas amiliasde
La perdurabilidad en las empresas amiliasdeLa perdurabilidad en las empresas amiliasde
La perdurabilidad en las empresas amiliasde
 

Similar to C# 4.0 - Whats New

tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...Anil Sharma
 
Angular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - LinagoraAngular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - LinagoraLINAGORA
 
The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)Geekstone
 
ASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bitsASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bitsKen Cenerelli
 
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0Thomas Conté
 
VASmalltalk, Today and Tomorrow
VASmalltalk, Today and TomorrowVASmalltalk, Today and Tomorrow
VASmalltalk, Today and TomorrowESUG
 
Introduction to .NET Core & ASP.NET Core MVC
Introduction to .NET Core & ASP.NET Core MVCIntroduction to .NET Core & ASP.NET Core MVC
Introduction to .NET Core & ASP.NET Core MVCSaineshwar bageri
 
Best practices for upgrading vb 6.0 projects to vb.net
Best practices for upgrading vb 6.0 projects to vb.netBest practices for upgrading vb 6.0 projects to vb.net
Best practices for upgrading vb 6.0 projects to vb.netajmal_fuuast
 
Microsoft .NET 6 -What's All About The New Update
Microsoft .NET 6 -What's All About The New UpdateMicrosoft .NET 6 -What's All About The New Update
Microsoft .NET 6 -What's All About The New UpdateAdam John
 
White Paper : ASP.NET Core AngularJs 2 and Prime
White Paper : ASP.NET Core AngularJs 2 and PrimeWhite Paper : ASP.NET Core AngularJs 2 and Prime
White Paper : ASP.NET Core AngularJs 2 and PrimeHamida Rebai Trabelsi
 
Guide to Vite JS – Modern Fron-End Development Tool
Guide to Vite JS – Modern Fron-End Development ToolGuide to Vite JS – Modern Fron-End Development Tool
Guide to Vite JS – Modern Fron-End Development ToolAlbiorix Technology
 
A simplest-way-to-reconstruct-.net-framework
A simplest-way-to-reconstruct-.net-frameworkA simplest-way-to-reconstruct-.net-framework
A simplest-way-to-reconstruct-.net-frameworksonia merchant
 
A simplest way to reconstruct .Net Framework - CRB Tech
A simplest way to reconstruct .Net Framework - CRB TechA simplest way to reconstruct .Net Framework - CRB Tech
A simplest way to reconstruct .Net Framework - CRB TechPooja Gaikwad
 
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1Rodolfo Finochietti
 
Murach: An introduction to web programming with ASP.NET Core MVC
Murach: An introduction to web programming with ASP.NET Core MVCMurach: An introduction to web programming with ASP.NET Core MVC
Murach: An introduction to web programming with ASP.NET Core MVCMahmoudOHassouna
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...WSPDC & FEDSPUG
 
Comparison of Programming Platforms
Comparison of Programming PlatformsComparison of Programming Platforms
Comparison of Programming PlatformsAnup Hariharan Nair
 

Similar to C# 4.0 - Whats New (20)

tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...
 
Angular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - LinagoraAngular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - Linagora
 
The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)
 
Moving ASP.NET MVC to ASP.NET Core
Moving ASP.NET MVC to ASP.NET Core Moving ASP.NET MVC to ASP.NET Core
Moving ASP.NET MVC to ASP.NET Core
 
ASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bitsASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bits
 
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
 
VASmalltalk, Today and Tomorrow
VASmalltalk, Today and TomorrowVASmalltalk, Today and Tomorrow
VASmalltalk, Today and Tomorrow
 
Crack mcts.com
Crack mcts.comCrack mcts.com
Crack mcts.com
 
Introduction to .NET Core & ASP.NET Core MVC
Introduction to .NET Core & ASP.NET Core MVCIntroduction to .NET Core & ASP.NET Core MVC
Introduction to .NET Core & ASP.NET Core MVC
 
Best practices for upgrading vb 6.0 projects to vb.net
Best practices for upgrading vb 6.0 projects to vb.netBest practices for upgrading vb 6.0 projects to vb.net
Best practices for upgrading vb 6.0 projects to vb.net
 
Microsoft .NET 6 -What's All About The New Update
Microsoft .NET 6 -What's All About The New UpdateMicrosoft .NET 6 -What's All About The New Update
Microsoft .NET 6 -What's All About The New Update
 
White Paper : ASP.NET Core AngularJs 2 and Prime
White Paper : ASP.NET Core AngularJs 2 and PrimeWhite Paper : ASP.NET Core AngularJs 2 and Prime
White Paper : ASP.NET Core AngularJs 2 and Prime
 
Guide to Vite JS – Modern Fron-End Development Tool
Guide to Vite JS – Modern Fron-End Development ToolGuide to Vite JS – Modern Fron-End Development Tool
Guide to Vite JS – Modern Fron-End Development Tool
 
A simplest-way-to-reconstruct-.net-framework
A simplest-way-to-reconstruct-.net-frameworkA simplest-way-to-reconstruct-.net-framework
A simplest-way-to-reconstruct-.net-framework
 
A simplest way to reconstruct .Net Framework - CRB Tech
A simplest way to reconstruct .Net Framework - CRB TechA simplest way to reconstruct .Net Framework - CRB Tech
A simplest way to reconstruct .Net Framework - CRB Tech
 
curriculum_eng_2016
curriculum_eng_2016curriculum_eng_2016
curriculum_eng_2016
 
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
 
Murach: An introduction to web programming with ASP.NET Core MVC
Murach: An introduction to web programming with ASP.NET Core MVCMurach: An introduction to web programming with ASP.NET Core MVC
Murach: An introduction to web programming with ASP.NET Core MVC
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
 
Comparison of Programming Platforms
Comparison of Programming PlatformsComparison of Programming Platforms
Comparison of Programming Platforms
 

More from Venketash (Pat) Ramadass

emediaIT - Unified Communications - 2011.09.01
emediaIT - Unified Communications - 2011.09.01emediaIT - Unified Communications - 2011.09.01
emediaIT - Unified Communications - 2011.09.01Venketash (Pat) Ramadass
 
emediaIT - Mobility Solutions - 2011.03.01
emediaIT - Mobility Solutions - 2011.03.01emediaIT - Mobility Solutions - 2011.03.01
emediaIT - Mobility Solutions - 2011.03.01Venketash (Pat) Ramadass
 
emediaIT - Sharepoint 2010 and K2 Breakfast - 2010.04.22
emediaIT - Sharepoint 2010 and K2 Breakfast - 2010.04.22emediaIT - Sharepoint 2010 and K2 Breakfast - 2010.04.22
emediaIT - Sharepoint 2010 and K2 Breakfast - 2010.04.22Venketash (Pat) Ramadass
 
Silverlight - What Is It And How Can We Use It
Silverlight - What Is It And How Can We Use ItSilverlight - What Is It And How Can We Use It
Silverlight - What Is It And How Can We Use ItVenketash (Pat) Ramadass
 

More from Venketash (Pat) Ramadass (6)

emediaIT - Unified Communications - 2011.09.01
emediaIT - Unified Communications - 2011.09.01emediaIT - Unified Communications - 2011.09.01
emediaIT - Unified Communications - 2011.09.01
 
emediaIT - Mobility Solutions - 2011.03.01
emediaIT - Mobility Solutions - 2011.03.01emediaIT - Mobility Solutions - 2011.03.01
emediaIT - Mobility Solutions - 2011.03.01
 
emediaIT - Sharepoint 2010 and K2 Breakfast - 2010.04.22
emediaIT - Sharepoint 2010 and K2 Breakfast - 2010.04.22emediaIT - Sharepoint 2010 and K2 Breakfast - 2010.04.22
emediaIT - Sharepoint 2010 and K2 Breakfast - 2010.04.22
 
emediaIT and Dell Breakfast - 2009.11.05
emediaIT and Dell Breakfast - 2009.11.05emediaIT and Dell Breakfast - 2009.11.05
emediaIT and Dell Breakfast - 2009.11.05
 
Silverlight - What Is It And How Can We Use It
Silverlight - What Is It And How Can We Use ItSilverlight - What Is It And How Can We Use It
Silverlight - What Is It And How Can We Use It
 
ASP.NET MVC - Whats The Big Deal
ASP.NET MVC - Whats The Big DealASP.NET MVC - Whats The Big Deal
ASP.NET MVC - Whats The Big Deal
 

Recently uploaded

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 

C# 4.0 - Whats New

  • 1. C# 4.0 – What’s new? Venketash (Pat) Ramadass Systems Architect & Managing Director emediaIT Email Address: pat.ramadass@emediait.com Blog: http://patramadass.emediait.com
  • 2. Before all of that... Who here is primarily using VS 2003 and .NET 1.1?  Who here is primarily using VS 2005 and .NET 2.0?  Who here is primarily using VS 2008 and .NET 3.5?  ◦ What features are you using?  WPF, WCF, WF LINQ etc? Who has played with VS 2010 CTP?  ◦ Available for download
  • 3. Items we are going to Cover... What’s new in VS 2010  What’s new in .NET 4.0  What’s new in c# 4.0  Questions  Note: All of these technologies are still new and are  still maturing through CTPs followed by Betas/RCs
  • 4. What’s new in VS 2010
  • 5. What’s new in VS 2010 – General .NET Framework 4.0  Tooling and Framework advancements that take advantage  of the latest trends including: ◦ Cloud Development  Windows Azure and similar ◦ Parallel Computing  Taking advantage of multi-core systems Updated editor built in WPF  ◦ Graphical view of source files, code coverage etc Simplified and more powerful TDD  ◦ Consume first declare second
  • 6. What’s new in VS 2010 – TDD
  • 7. What’s new in VS 2010 – Web Development Full inclusion of:  ◦ ASP .NET MVC ◦ JQuery ◦ Sliverlight Improved JavaScript IntelliSense engine  Improved SharePoint tools and project templates  ◦ VS 2010 Tools for SharePoint  Replacement for SharePoint Designer
  • 8. What’s new in VS 2010 – SharePoint Development New Project Templates   Import content using WSP Import
  • 9. What’s new in VS 2010 – SharePoint Development
  • 10. What’s new in VS 2010 – Other Windows 7 Development  ◦ Updates to MFC to support Windows 7, including new UI elements Office Business Application Development  ◦ Build Office client applications that span multiple versions and target 32-bit/64-bit as using a single deployment package “Dublin” and “Oslo” in pipeline  ◦ “Dublin” will provide enhanced server capabilities, building on IIS for WCF and WF application hosting ◦ “Oslo” is a modelling platform for model-driven applications  “M” Language – Authoring domains textually  Quadrant – Tool for authoring domains visually  Library of pre-built domain models
  • 11. What’s new in VS 2010 – Team System - Rosario Who here uses VSTS and/or VSTFS?  ◦ What features/aspects do you use? Highlights include:  ◦ “Democratizing” Application Lifecycle Management  Architectural consistency  Limiting “No-Repro” bugs ◦ Improved modelling  Technical and non-technical users ◦ Improved QA/Test Planning and execution  Microsoft Test Runner ◦ Snapshot of system data ◦ Partial/full video capture  Test Impact View
  • 12. What’s new in VS 2010 – Test Impact View
  • 13. What’s new in VS 2010 – Team System – Architecture Explorer
  • 14. What’s new in .net 4.0
  • 15. What’s new in .net 4.0 – Some Highlights Updates to BCL – Base Class Lilbrary  Code Contracts  ◦ System.Diagnostics.Contracts ◦ Language agnostic ◦ Specify Pre-conditions, post-conditions and objects invariants Parallel Extensions  ◦ Task Parallel Library, Parallel LINQ
  • 16. What’s new in .net 4.0 – Some Highlights BigInteger  ◦ System.Numerics.BigInteger ◦ Supports all standard Integer operations Compression Improvements  ◦ Removed 4GB stream limit Various WCF and WF enhancements  ASP.NET  ◦ Static Client Ids ◦ Chart Control
  • 17. What’s new in c# 4.0
  • 18. What’s new in c# 4.0 Onto why we’re actually here...  ◦ Dynamic Lookup ◦ Named and Optional Arguments ◦ Features for COM Interop ◦ Variance
  • 19. What’s new in c# 4.0 – Dynamic Lookup New dynamic type  Resolution of method calls or field accesses is  deferred until runtime Allows for calling or accessing identical methods  or properties across unrelated objects
  • 20. What’s new in c# 4.0 – Dynamic Lookup Demo
  • 21. What’s new in c# 4.0 – Dynamic Lookup DLR – Dynamic Language Runtime is underlying  mechanism This could be done before, using reflection or  interfaces etc, but it would require much more work Convenience comes with drawbacks  ◦ Performance  Reflection is used underneath ◦ Only have runtime checking
  • 22. What’s new in c# 4.0 – Named and Optional Arguments Historically multiple overloads were required to  achieve this type of thing in c# ◦ Named parameters were never possible Now this can be done using the optional argument  syntax in a single constructor
  • 23. What’s new in c# 4.0 – Named and Optional Arguments Demo
  • 24. What’s new in c# 4.0 – Features for COM Interop Dynamic import allows you to import COM APIs so that  variants are represented using dynamic type instead of object. Code that looked like... ...could now look like...
  • 25. What’s new in c# 4.0 – Features for COM Interop COM APIs use a lot of ref parameters. In c# 4.0 the  compiler allows you to omit the ref in COM APIs “No PIAs’ Feature  ◦ Ability to compile your application so that it does not require the Primary Interop Assemblies. ◦ Instead a small portion of the PIA required is put directly into the program’s assembly
  • 26. What’s new in c# 4.0 – Variance Variance is one of those things most of us don’t  often don’t have to think about There are some cases which you may assume  should work that don’t however.
  • 27. What’s new in c# 4.0 – Variance The following example does not work even though  string obviously inherits from object If it did, the following would have to work, which  goes against type safety
  • 28. What’s new in c# 4.0 – Variance There may however be times where you would  want to have this type of thing happening and for it to happen safely c# 4.0 allows for covariance and contravariance  through the new out and in keywords
  • 29. What’s new in c# 4.0 – Covariance and Contravariance Demo
  • 30. Conclusion A lot of great new technologies and tools coming  out very soon There are some key advancements in both c# and  .net 4.0, so we should all be looking to familiarise ourselves with them and take advantage when they are available Download VS 2010 CTP and go through the  Walkthroughs
  • 31. References http://www.microsoft.com/visualstudio/en-  us/products/2010/default.mspx ◦ Visual Studio 2010 main site and CTP download ◦ CTP is in the form of a VHD and some software expired on it in January 2009. There are workarounds. http://channel9.msdn.com/pdc2008/TL26/  ◦ Parallel Programming for Managed Developers with Visual Studio 2010 http://patramadass.emediait.com  ◦ This presentation, example code