SlideShare a Scribd company logo
.NET Language Supports
VBC++C#J#…Common Language SpecificationASP .NETWeb Forms   Web ServicesMobile Internet ToolkitWindowsFormsADO .NET and XMLBase Class Library.NET Language Support  Visual Studio .NETCommon Language RuntimeOperating System
.NET Language Support  OverviewVBC++C#J#COBOL…Web ServicesUser InterfaceASP.NETADO.NET: Data and XMLBase FrameworkCommon Language Runtime
IDE & CLRIntegrated Development EnvironmentSingle Solution Explorer, Toolbox, and Debugger IntelliSense® statement completion and squiggliesCreate multi-language solutionsCommon Language RuntimeMicrosoft:  Visual Basic®, C#, C++, J#, JScript®3rd Party:  APL, Cobol, Component Pascal, Eiffel, Fortran, Haskell, Mercury, Oberon, Oz, Perl, Python, RPG, Scheme, Smalltalk, Standard ML
Increased ProductivitySimplifies mixed-language developmentRAD across the boardDesktop WebServer MobileEnd-to-end debugging support across Languages ProjectsProcessesMachines
Language EnhancementsVisual Basic .NETFully object oriented, supports free threadingStructured exception handlingVisual C# .NETIncreased productivity for C++ developer Component-oriented, type-safeVisual C++ .NETAttribute based programmingManaged Extensions for C++Visual J# .NETJava language for .NET Platform
Visual Basic .NET
Visual Basic .NET OverviewModern, Powerful, True OOPInheritance, overloading, shadowing, delegates, attributes, hierarchical name spacesRobust Strict type checking, initialize variables at declaration, variable declaration types fixed Consistent Single assignment operator, parenthesis use simplifiedSimplified Legacy constructs removed
Classes & InheritanceInheritance supportedDerive from a single base classImplicitly inherits from System.ObjectDeclarable classesOverridingNew implementation for base class methodOverrides keywordMyBase refers base classMe refers current classOverloadingMultiple versions of a class memberBased on parameter types
Demo 1:  Visual Studio .NET Integrated Development Environment
Visual C# .NET
Visual C# .NET OverviewStrong C++ heritageImmediately familiar to C++ and Java developersAllows C-style memory management and pointersFirst component-oriented language in C familyProperties, methods, indexers, delegates, eventsDesign-time and runtime attributesEnables one-stop programmingNo header files, IDLEmbeddable in ASP .NET
Component-OrientedWhat defines a component? Properties, methods, events Design-time and runtime information Integrated help and documentationFirst class support in C# Not naming patterns, adapters, etc. Not external filesEasy to build and consume
for I = 1 To 10‘ for loopNext Ifor (i=1;i<11;i++) {// for loop}Comparison to Visual BasicSyntactic DifferencesVisual Basic is NOT case sensitiveIn C# but not in Visual BasicPointers, shift operators, inline documentationOverloaded operators, unsigned integersIn Visual Basic but not in C#Select Case, Interface implementationDynamic arrays, modules, optional parameters
Visual C++ .NET
Visual C++ .NET Compiler & LanguageOptimizationsWhole Program OptimizationOptimized inline assembly integrationLoop unrolling heuristicsRuntime checksBuffer OverrunStack CorruptionShortened ConvertsAttributes – domain specific programmingRadically simplifies COM+ and IDLIntegrated with .NET Framework attributes model
Managed ExtensionsFull access to the .NET Framework from C++
It’s still C++
All enhancements are compatible extensions
Nothing from C++ has been changed or removed
Enables incremental migration to .NET
Existing code can be recompiled as IL
Mix managed code within existing applications
Power to drop “to the metal” when neededNative LibrariesMFC/ATLImproved MFC/ATL integrationIntegrated Web Service clientWindows® XP, GDI+, Crypto, NT Security, Perfmon, AccessibilityATL ServerATL framework for Web Services and Web applicationsStencil-based UI generation with integrated XML/HTML designerEnhanced STLBetter conformance and error messagesSignificantly improved documentation

More Related Content

.Net language support

  • 2. VBC++C#J#…Common Language SpecificationASP .NETWeb Forms Web ServicesMobile Internet ToolkitWindowsFormsADO .NET and XMLBase Class Library.NET Language Support Visual Studio .NETCommon Language RuntimeOperating System
  • 3. .NET Language Support OverviewVBC++C#J#COBOL…Web ServicesUser InterfaceASP.NETADO.NET: Data and XMLBase FrameworkCommon Language Runtime
  • 4. IDE & CLRIntegrated Development EnvironmentSingle Solution Explorer, Toolbox, and Debugger IntelliSense® statement completion and squiggliesCreate multi-language solutionsCommon Language RuntimeMicrosoft: Visual Basic®, C#, C++, J#, JScript®3rd Party: APL, Cobol, Component Pascal, Eiffel, Fortran, Haskell, Mercury, Oberon, Oz, Perl, Python, RPG, Scheme, Smalltalk, Standard ML
  • 5. Increased ProductivitySimplifies mixed-language developmentRAD across the boardDesktop WebServer MobileEnd-to-end debugging support across Languages ProjectsProcessesMachines
  • 6. Language EnhancementsVisual Basic .NETFully object oriented, supports free threadingStructured exception handlingVisual C# .NETIncreased productivity for C++ developer Component-oriented, type-safeVisual C++ .NETAttribute based programmingManaged Extensions for C++Visual J# .NETJava language for .NET Platform
  • 8. Visual Basic .NET OverviewModern, Powerful, True OOPInheritance, overloading, shadowing, delegates, attributes, hierarchical name spacesRobust Strict type checking, initialize variables at declaration, variable declaration types fixed Consistent Single assignment operator, parenthesis use simplifiedSimplified Legacy constructs removed
  • 9. Classes & InheritanceInheritance supportedDerive from a single base classImplicitly inherits from System.ObjectDeclarable classesOverridingNew implementation for base class methodOverrides keywordMyBase refers base classMe refers current classOverloadingMultiple versions of a class memberBased on parameter types
  • 10. Demo 1: Visual Studio .NET Integrated Development Environment
  • 12. Visual C# .NET OverviewStrong C++ heritageImmediately familiar to C++ and Java developersAllows C-style memory management and pointersFirst component-oriented language in C familyProperties, methods, indexers, delegates, eventsDesign-time and runtime attributesEnables one-stop programmingNo header files, IDLEmbeddable in ASP .NET
  • 13. Component-OrientedWhat defines a component? Properties, methods, events Design-time and runtime information Integrated help and documentationFirst class support in C# Not naming patterns, adapters, etc. Not external filesEasy to build and consume
  • 14. for I = 1 To 10‘ for loopNext Ifor (i=1;i<11;i++) {// for loop}Comparison to Visual BasicSyntactic DifferencesVisual Basic is NOT case sensitiveIn C# but not in Visual BasicPointers, shift operators, inline documentationOverloaded operators, unsigned integersIn Visual Basic but not in C#Select Case, Interface implementationDynamic arrays, modules, optional parameters
  • 16. Visual C++ .NET Compiler & LanguageOptimizationsWhole Program OptimizationOptimized inline assembly integrationLoop unrolling heuristicsRuntime checksBuffer OverrunStack CorruptionShortened ConvertsAttributes – domain specific programmingRadically simplifies COM+ and IDLIntegrated with .NET Framework attributes model
  • 17. Managed ExtensionsFull access to the .NET Framework from C++
  • 19. All enhancements are compatible extensions
  • 20. Nothing from C++ has been changed or removed
  • 22. Existing code can be recompiled as IL
  • 23. Mix managed code within existing applications
  • 24. Power to drop “to the metal” when neededNative LibrariesMFC/ATLImproved MFC/ATL integrationIntegrated Web Service clientWindows® XP, GDI+, Crypto, NT Security, Perfmon, AccessibilityATL ServerATL framework for Web Services and Web applicationsStencil-based UI generation with integrated XML/HTML designerEnhanced STLBetter conformance and error messagesSignificantly improved documentation
  • 26. Visual J# .NET Java-language for .NETNative support for XML Web services Fully integrated with Visual Studio .NET development environmentFull access to the .NET FrameworkASP .NET, ADO .NET, Windows FormsIntegration with >20 other languagesProtection of existing investmentsUse java language syntax on .NETMove applications and skills forward
  • 27. Legacy Java SourceJavaBinaryJava Source targeting .NETSubset of JDK 1.1.4 & VJ++ 6.0 LibrariesBinaryConverterMSILMSILMSIL.NET Frameworks.NET RuntimeWin32Java-language SupportSourceConverter
  • 28. .NET ExtensionsTo be CLS compliant
  • 30. ubyte
  • 31. @attribute – For attaching .NET attributes
  • 32. Support for consuming .NET constructs:
  • 33. Properties, Events, Delegates, Value types, EnumsSummary.NET Language Support
  • 36. More power, more productivity
  • 38. Power and flexibility for managed, native code
  • 40. Productivity for the C developer
  • 42. Java language support for .NET PlatformThe End ….. Thank You …..