24
.NET Language Supports

Net language support

Embed Size (px)

DESCRIPTION

Languages in .NET

Citation preview

Page 1: Net language support

.NET Language Supports

Page 2: Net language support

.NET Language Support

Operating System

Common Language Runtime

Base Class Library

ADO .NET and XML

ASP .NETWeb Forms Web Services

Mobile Internet Toolkit

WindowsForms

Common Language Specification

VB C++ C# J# …V

isual S

tud

io .N

ET

Page 3: Net language support

.NET Language Support Overview

Common Language Runtime

Base Framework

ADO.NET: Data and XML

Web Services User Interface

VB C++ C#

ASP.NET

J# COBOL …

Page 4: Net language support

IDE & CLR

• Integrated Development Environment– Single Solution Explorer, Toolbox, and Debugger – IntelliSense® statement completion and

squigglies– Create multi-language solutions

• Common Language Runtime– Microsoft: 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

Page 5: Net language support

Increased Productivity

• Simplifies mixed-language development

• RAD across the board– Desktop –Web– Server –Mobile

• End-to-end debugging support across – Languages – Projects– Processes–Machines

Page 6: Net language support

Language Enhancements

• Visual Basic .NET– Fully object oriented, supports free threading– Structured exception handling

• Visual C# .NET– Increased productivity for C++ developer – Component-oriented, type-safe

• Visual C++ .NET– Attribute based programming– Managed Extensions for C++

• Visual J# .NET– Java language for .NET Platform

Page 7: Net language support

Visual Basic .NET

Page 8: Net language support

Visual Basic .NET Overview

• Modern, Powerful, True OOP– Inheritance, overloading, shadowing, delegates,

attributes, hierarchical name spaces• Robust – Strict type checking, initialize variables at

declaration, variable declaration types fixed • Consistent – Single assignment operator, parenthesis use

simplified• Simplified – Legacy constructs removed

Page 9: Net language support

Classes & Inheritance

• Inheritance supported– Derive from a single base class– Implicitly inherits from System.Object

• Declarable classes• Overriding

– New implementation for base class method– Overrides keyword– MyBase refers base class– Me refers current class

• Overloading– Multiple versions of a class member– Based on parameter types

Page 10: Net language support

Demo 1: Visual Studio .NET Integrated Development Environment

Page 11: Net language support

Visual C# .NET

Page 12: Net language support

Visual C# .NET Overview

• Strong C++ heritage– Immediately familiar to C++ and Java

developers– Allows C-style memory management and

pointers• First component-oriented language in C

family– Properties, methods, indexers, delegates, events– Design-time and runtime attributes

• Enables one-stop programming– No header files, IDL– Embeddable in ASP .NET

Page 13: Net language support

Component-Oriented

• What defines a component?– Properties, methods, events– Design-time and runtime information– Integrated help and documentation

• First class support in C#– Not naming patterns, adapters, etc.– Not external files

• Easy to build and consume

Page 14: Net language support

Comparison to Visual Basic

• Syntactic Differences– Visual Basic is NOT case sensitive

• In C# but not in Visual Basic– Pointers, shift operators, inline documentation– Overloaded operators, unsigned integers

• In Visual Basic but not in C#

– Select Case, Interface implementation– Dynamic arrays, modules, optional parameters

for I = 1 To 10 ‘ for loopNext I

for (i=1;i<11;i++) {// for loop}

Page 15: Net language support

Visual C++ .NET

Page 16: Net language support

Visual C++ .NET Compiler & Language

• Optimizations– Whole Program Optimization– Optimized inline assembly integration– Loop unrolling heuristics

• Runtime checks– Buffer Overrun– Stack Corruption– Shortened Converts

• Attributes – domain specific programming– Radically simplifies COM+ and IDL– Integrated with .NET Framework attributes

model

Page 17: Net language support

Managed Extensions

• Full 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 needed

Page 18: Net language support

Native Libraries

• MFC/ATL– Improved MFC/ATL integration– Integrated Web Service client– Windows® XP, GDI+, Crypto, NT Security,

Perfmon, Accessibility• ATL Server– ATL framework for Web Services and Web

applications– Stencil-based UI generation with integrated

XML/HTML designer• Enhanced STL– Better conformance and error messages– Significantly improved documentation

Page 19: Net language support

Visual J# .NET

Page 20: Net language support

Visual J# .NET Java-language for .NET

• Native support for XML Web services • Fully integrated with Visual Studio .NET

development environment• Full access to the .NET Framework– ASP .NET, ADO .NET, Windows Forms– Integration with >20 other languages

• Protection of existing investments– Use java language syntax on .NET– Move applications and skills forward

Page 21: Net language support

Java-language Support

.NET Runtime

Win32

SourceConverter

Legacy Java Source

BinaryConverter

Java Binary

MSIL MSIL

Java Source targeting .NET

MSIL

.NET Frameworks

Subset of JDK 1.1.4 & VJ++ 6.0 Libraries

Page 22: Net language support

.NET Extensions

• To be CLS compliant• Syntax extensions required for CLS

– ubyte– @attribute – For attaching .NET attributes

• Support for consuming .NET constructs:– Properties, Events, Delegates, Value types, Enums

Page 23: Net language support

Summary• .NET Language Support

– Multi-language platform, 22 supported

• Visual Basic .NET – More power, more productivity

• Visual C++ .NET– Power and flexibility for managed, native code

• Visual C# .NET– Productivity for the C developer

• Visual J# .NET– Java language support for .NET Platform

Page 24: Net language support

The End

….. Thank You …..