ppt title - New River Community College

Visual Studio .NET
Languages
Carlotta Eaton
Associate Professor of IST
New River Community College
Dublin, VA
Slides by Microsoft
1
Agenda





2
.NET Language Support
Visual Basic® .NET
Visual C#™ .NET
Visual C++® .NET
Visual J#™ .NET
.NET Language Support
VB
C++
C#
…
J#
Common Language Specification
Web Forms Web Services
Mobile Internet Toolkit
Windows
Forms
ADO .NET and XML
Base Class Library
Common Language Runtime
Operating System
3
Visual Studio .NET
ASP .NET
.NET Language Support
Overview
VB
C++
C#
J#
Web Services
COBOL
User Interface
ASP.NET
ADO.NET: Data and XML
Base Framework
Common Language Runtime
4
…
.NET Language Support
IDE & CLR

Integrated Development Environment




Common Language Runtime


5
Single Solution Explorer, Toolbox, and Debugger
IntelliSense® statement completion and squigglies
Create multi-language solutions
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
.NET Language Support
Increased Productivity


Simplifies mixed-language development
RAD across the board





End-to-end debugging support across




6
Desktop
Web
Server
Mobile
Languages
Projects
Processes
Machines
.NET Language Support
Language Enhancements

Visual Basic .NET



Visual C# .NET




Attribute based programming
Managed Extensions for C++
Visual J# .NET

7
Increased productivity for C++ developer
Component-oriented, type-safe
Visual C++ .NET


Fully object oriented, supports free threading
Structured exception handling
Java language for .NET Platform
Visual Basic .NET
8
Visual Basic .NET
Overview

Modern, Powerful, True OOP


Robust


Single assignment operator, parenthesis use
simplified
Simplified

9
Strict type checking, initialize variables at
declaration, variable declaration types fixed
Consistent


Inheritance, overloading, shadowing, delegates,
attributes, hierarchical name spaces
Legacy constructs removed
Visual Basic .NET
Classes & Inheritance

Inheritance supported




Declarable classes
Overriding





New implementation for base class method
Overrides keyword
MyBase refers base class
Me refers current class
Overloading


10
Derive from a single base class
Implicitly inherits from System.Object
Multiple versions of a class member
Based on parameter types
Demo 1: Visual Studio .NET
Integrated Development
Environment
11
Visual C# .NET
12
Visual C# .NET
Overview

Strong C++ heritage



First component-oriented language in C
family



Properties, methods, indexers, delegates, events
Design-time and runtime attributes
Enables one-stop programming


13
Immediately familiar to C++ and Java developers
Allows C-style memory management and pointers
No header files, IDL
Embeddable in ASP .NET
Visual C# .NET
Component-Oriented

What defines a component?




First class support in C#



14
Properties, methods, events
Design-time and runtime information
Integrated help and documentation
Not naming patterns, adapters, etc.
Not external files
Easy to build and consume
Visual C# .NET
Comparison to Visual Basic

Syntactic Differences

Visual Basic is NOT case sensitive
for I = 1 To 10
‘ for loop
Next I

In C# but not in Visual Basic



Pointers, shift operators, inline documentation
Overloaded operators, unsigned integers
In Visual Basic but not in C#


15
for (i=1;i<11;i++) {
// for loop
}
Select Case, Interface implementation
Dynamic arrays, modules, optional parameters
Visual C++ .NET
16
Visual C++ .NET
Compiler & Language

Optimizations




Runtime checks




Buffer Overrun
Stack Corruption
Shortened Converts
Attributes – domain specific programming


17
Whole Program Optimization
Optimized inline assembly integration
Loop unrolling heuristics
Radically simplifies COM+ and IDL
Integrated with .NET Framework attributes
model
Visual C++ .NET
Managed Extensions


Full access to the .NET Framework from C++
It’s still C++



Enables incremental migration to .NET



18
All enhancements are compatible extensions
Nothing from C++ has been changed or removed
Existing code can be recompiled as IL
Mix managed code within existing applications
Power to drop “to the metal” when needed
Visual C++ .NET
Native Libraries

MFC/ATL




ATL Server



ATL framework for Web Services and Web
applications
Stencil-based UI generation with integrated
XML/HTML designer
Enhanced STL

19
Improved MFC/ATL integration
Integrated Web Service client
Windows® XP, GDI+, Crypto, NT Security,
Perfmon, Accessibility

Better conformance and error messages
Significantly improved documentation
Visual J# .NET
20
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



Protection of existing investments


21
ASP .NET, ADO .NET, Windows Forms
Integration with >20 other languages
Use java language syntax on .NET
Move applications and skills forward
Visual J# .NET
Java-language Support
Java
Binary
Legacy Java
Source
Binary
Converter
MSIL
Java Source
targeting .NET
Source
Converter
MSIL
Subset of JDK 1.1.4 & VJ++ 6.0 Libraries
.NET Runtime
22
Win32
MSIL
.NET Frameworks
Visual J# .NET
.NET Extensions


To be CLS compliant
Syntax extensions required for CLS



Support for consuming .NET constructs:

23
ubyte
@attribute – For attaching .NET attributes
Properties, Events, Delegates, Value types, Enums
Summary

.NET Language Support


Visual Basic .NET


Productivity for the C developer
Visual J# .NET

24
Power and flexibility for managed, native code
Visual C# .NET


More power, more productivity
Visual C++ .NET


Multi-language platform, 22 supported
Java language support for .NET Platform
Resources






www.gotdotnet.com/team/csharp
www.gotdotnet.com/team/vb
www.gotdotnet.com/team/cplusplus
www.microsoft.com/seminar
msdn.microsoft.com
Microsoft Tech·Ed 2002



25
New Orleans, LA
April 9 – 13, 2002
msdn.microsoft.com/events/teched
Questions?
26
© 2001 Microsoft Corporation. All rights reserved.
27
Continue to
.NET Framework
Presentation
© 2001 Microsoft Corporation. All rights reserved.
28