Module 2: Using .NET Languages

advertisement
Module 3:
Using Microsoft .NETBased Languages
Overview


Overview of the .NET-Based Languages
Comparison of the .NET-Based
Languages
Lesson: Overview of the .NETBased Languages




Multiple Language Support
The Common Language Runtime
The Common Language Runtime
Components
Runtime Compilation and Execution
Multiple Language Support


The .NET Framework is designed to support
many languages
• More than 20 languages currently supported
• Microsoft provides Visual Basic .NET, C#,
Visual J# .NET, and JScript .NET
Benefits of multiple-language support
• Code modules are reusable
• API access is the same for all languages
• The right language is used for the right task
• Performance is roughly equal between all
languages
The Common Language Runtime




One runtime for all . NET-Based Languages
Manages threads and memory
- Garbage collection
Enforces code security
- No uninitialized variables
- Exception Handling
Eliminates DLL versioning problems
- Multiple versions of a DLL can run simultaneously
- Applications can specify a version of a DLL to use
The Common Language Runtime
Components
.NET Framework Class Library Support
Thread Support
COM Marshaler
Type Checker
Exception Manager
Security Engine
Debug Engine
MSIL to Native
Compilers
Code
Manager
Class Loader
Garbage
Collector
Runtime, Compilation and
Execution
default.aspx
Which
language?
Visual Basic
C# code
.NET code
C#
Visual Basic
compiler
.NET
compiler
JIT
compiler
Runtime
Native
code
MSIL
Runtime, Compilation and
Execution

Language Compilation
- A web browser request a Web page
from a Web server that is running IIS.
- The requested Web page, default.aspx,
is compiled with the appropriate
language compiler, depending on the
language that is used to write the page.
- The application is compiled to MSIL
Runtime, Compilation and
Execution

JIT Compilation
- The MSIL is handled by the runtime.
- The runtime uses a JIT compiler to
compile the MSIL to native code.
- After the application is JIT compiled, it
is cached so that it does not need to be
recompiled for each request.
Runtime, Compilation and
Execution

Application Execution
- After the application is compiled , the
runtime executes the application on the
Web server and then generates the
HTML and script that is returned to the
client.
Lesson: Comparison of the .NETBased Languages



Visual Basic .NET
C#
Choosing a Language
Visual Basic .NET


Visual Basic .NET is the latest version of Visual Basic
True object-oriented language
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim i As Integer = 0
Dim x As Double = TextBox1.Text
For i = 0 To 4
x *= 2
Label1.Text = Label1.Text & x & ","
Next
End Sub

Visual Basic Scripting Edition (and JScript) are still used
for client-side script
C#


C# is a new language
Similar to Java, Visual C++, and
Pascal
protected void Button1_Click(object sender, EventArgs e)
{
int i = 0;
double x = Convert.ToDouble(TextBox1.Text);
for (i=0; i<=4; i++)
{
x *= 2;
Label1.Text = Label1.Text + x + ",";
}
}
Choosing a Language




.NET Framework class library is the same regardless of
language
Performance
• All languages are compiled to MSIL
• Only performance difference is how each language
compiler compiles to MSIL
• The runtime compiles all MSIL the same, regardless of
its origin
Development experience
• C# is similar to Java, C, Visual C++, and Pascal
• Visual Basic .NET is similar to Visual Basic
Browser compatibility
•
ASP.NET code is server-side code, so browser
compatibility is not an issue
Review


Overview of the .NET-Based Languages
Comparison of the .NET-Based
Languages
Exercise




What role does the CLR play in running
ASP.NET page?
What is the role of JIT compilation?
List FOUR languages that are currently
supported by .NET.
What is garbage collection and why is it
so useful in the .NET Framework?
~ End of Module 3 ~
Download