.Net Framework & Languages Supported by .Net Frmaework

24
.NET Language Supports

description

Visual Basic (VB) C# APL C++ Cobol Component Pascal Curriculum Eiffel Forth Fortran Haskell Java Language Microsoft JScript Mercury Mondrian Oberon Oz Pascal Perl Python RPG Scheme Small Talk Standard ML

Transcript of .Net Framework & Languages Supported by .Net Frmaework

Page 1: .Net Framework & Languages Supported by .Net Frmaework

.NET Language Supports

Page 2: .Net Framework & Languages Supported by .Net Frmaework

.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 Framework & Languages Supported by .Net Frmaework

.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 Framework & Languages Supported by .Net Frmaework

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 Framework & Languages Supported by .Net Frmaework

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 Framework & Languages Supported by .Net Frmaework

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 Framework & Languages Supported by .Net Frmaework

Visual Basic .NET

Page 8: .Net Framework & Languages Supported by .Net Frmaework

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 Framework & Languages Supported by .Net Frmaework

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 Framework & Languages Supported by .Net Frmaework

Demo 1: Visual Studio .NET Integrated Development Environment

Page 11: .Net Framework & Languages Supported by .Net Frmaework

Visual C# .NET

Page 12: .Net Framework & Languages Supported by .Net Frmaework

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 Framework & Languages Supported by .Net Frmaework

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 Framework & Languages Supported by .Net Frmaework

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 Framework & Languages Supported by .Net Frmaework

Visual C++ .NET

Page 16: .Net Framework & Languages Supported by .Net Frmaework

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 Framework & Languages Supported by .Net Frmaework

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 Framework & Languages Supported by .Net Frmaework

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 Framework & Languages Supported by .Net Frmaework

Visual J# .NET

Page 20: .Net Framework & Languages Supported by .Net Frmaework

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 Framework & Languages Supported by .Net Frmaework

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 Framework & Languages Supported by .Net Frmaework

.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 Framework & Languages Supported by .Net Frmaework

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 Framework & Languages Supported by .Net Frmaework

The End

….. Thank You …..