Introduction to .NET Manuel Costa

Slides:



Advertisements
Similar presentations
Microsoft.NET Framework Overview Svetlin Nakov Software Development Consultant, Part-time Computer Science Lecturer Sofia University St. Kliment Ohridski.
Advertisements

What is.Net Gary Devendorf. .Net Framework.Net framework works like the Domino Objects only much lower level and very complete It is part of the OS (or.
Unit 1: Overview of the Microsoft.NET Platform
1 Unit 1: Introduction To.Net. 2 Introduction to.Net Integrated Development Environment (IDE) Languages in the.NET Framework The Common Language Runtime.
Introduction to .NET Framework
.NET Framework Overview
Tahir Nawaz Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a.
Using.NET Platform Note: Most of the material of these slides have been taken & extended from Nakov’s excellent overview for.NET framework, MSDN and wikipedia.
.NET Framework Overview
SSCLI (Shared Source Common Language Infrastructure) (code name: Rotor)
Developing with the.NET Framework Rob Howard Program Manager.NET Framework Team Microsoft Corporation.
Distributed Information Systems
Introduction. What is.Net? The hype: “Microsoft.Net is a set of Microsoft software technologies for connecting information, people, systems, and devices.
.Net Overview Giuseppe Attardi Università di Pisa.
Overview of the.NET Framework. What is the.NET Framework A new computing platform designed to simplify application development A consistent object-oriented.
DEV200.NET Framework Overview Chris Anderson Software Architect,.NET Client Microsoft Corporation.
Thursday Evening 6.30VB.NET Introduction 7.30Break for food 8.00VB.NET Migration 8.45Q & A 9.00Done.
DEV345 Comparing.NET and Java David Chappell Principal Chappell & Associates
Module 1: Overview of the Microsoft.NET Framework.
Microsoft.NET Programming platform for the next decade Anders Hejlsberg Distinguished Engineer Developer Division.
Introducing the Common Language Runtime. The Common Language Runtime The Common Language Runtime (CLR) The Common Language Runtime (CLR) –Execution engine.
An Overview of.NET Gavin King.NET Developer Group Microsoft Ltd
SQL Server 2005 CLR Integration ADO.NET 2.0 Mike Taulty
Microsoft.NET Framework Overview Svetlin Nakov Software Development Consultant, Part-time Computer Science Lecturer Sofia University “St. Kliment Ohridski”
Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004.
Intro to dot Net Dr. John Abraham UTPA – Fall 09 CSCI 3327.
Rajeswari Indupuri Introduction to.NET Framework.
Using.NET Skills To Build Mobile Applications In Compact Framework Punit Shah Technical Lead | Microsoft |
Overview of.NET Framework Carlotta Eaton Associate Professor of IST New River Community College Dublin, VA Slides created by Microsoft Modified by Carlotta.
Visual Studio.NET and.NET Compact Framework Application Development Mike D. Smith Group Program Manager Developer Division Microsoft Corporation.
VS.NET Syllabus By Peter Huang.
Microsoft.NET Framework Overview Abidi Mahmoud Seminarium on Component -based Software Engineering.
Introduction to Visual Studio.NET Pradeep K. Shah
Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a library for.
Module 1: Overview of the Microsoft.NET Platform.
.NET O VERVIEW Introduction to.NET Web Services The.NET Framework Common Language Runtime Windows Forms Web Forms ADO.NET Languages.
CS795/895: Introduction. Topics Distributed Systems –Availability –Performance –Web Services Security –Authentication –Authorization –Confidentiality.
What is.NET? CS 351 Ed Gellenbeck. Today What is.NET? What Problems Does.NET Solve? What are.NET Framework Components?
CF and.NET Working Together Using Web Services Geoff Snowman Developer Community Champion Microsoft Corporation.
.NET Language Supports. .NET Language Support Operating System Common Language Runtime Base Class Library ADO.NET and XML ASP.NET Web Forms Web Services.
.Net Framework Web Application and Development Digital Media Department Unit Credit Value : 4 Essential Learning time : 120 hours
.NET Framework Danish Sami UG Lead.NetFoundry
.Net – The First Glance What Is.Net, Why Use.Net.
Rajiv and Shipra Introduction to.NET (asp.net,c#,vb)
Technology and Computing Curricula Mythreyee Ganapathy University Relations Manager - India Microsoft Research.
The .NET Framework - Technology in Education
ASP.NET (Active Server Page) SNU OOPSLA Lab. October 2005.
Introduction to.NET Technology Overview Sean Puffett Developer & Platform Group Microsoft Ltd
Text Introduction to.NET Framework. CONFIDENTIAL Agenda .NET Training – Purpose  What is.NET?  Why.NET?  Advantages  Architecture  Components: CLR,
COMP Week 9 Chunbo Chu. So what is.NET?.NET is a platform that provides a standardized set of services. A new framework for developing web-based.
Laying the groundwork for the next generation of Internet applications Dan Fay Microsoft Research University Relations.
Introduction to the Microsoft.NET Framework Chris Wastchak Student Ambassador to Microsoft.
Introduction to .NET Framework
Introducing the Microsoft® .NET Framework
Microsoft .NET: The Vision
Introduction to .NET Framework
An Introduction to the Shared Source Common Language Infrastructure (SSCLI) Damien Watkins Copyright Watkins 2002.
.Net A brief introduction to
Application Foundation
Mobile Application Development 2005 By Sam Nasr July 25, 2006
.NET and .NET Core 2. .NET Runtimes Pan Wuming 2017.
Introduction to C# AKEEL AHMED.
.NET and .NET Core: Languages, Cloud, Mobile and AI
Introduction to .NET By : Mr. V. D. Panchal Content :
Microsoft .NET Framework
BHUBANESWAR,KHURDA,ODISHA
Introduction to .NET Framework
.NET Base Type (CTS Data Type) Managed Extensions for C++ Keyword
.NET Framework Design Goals
Presentation transcript:

Introduction to .NET Manuel Costa manuelc@microsoft.com Academic Computer Science Program Manager manuelc@microsoft.com

What is .NET? A development platform: interfaces, components and tools to develop software The biggest change in the Microsoft platform since Windows NT replaced DOS Changes include: Code formats, compilers, Code loading and execution models, Security model, Object model, metadata, remoting protocols Class libraries, …

.NET: Principles The Microsoft Vision for Computing Make Internet-scale distributed computing ubiquitous Exploit inexpensive cycles and bandwidth Seamless integration of multiple applications and devices Deliver software as a service Next generation user experience The .NET Framework is the programming-model substrate for the .NET vision

Common Language Runtime .NET Framework Common Language Runtime (CLR) Multi-language support Common type system Simplified deployment Code Access Security Rich Class libraries Powerful, Consistent Programming Model Focus on code, not plumbing Built for Tools Support for design-time functionality Debugging, profiling, instrumentation support ASP.NET Web Forms Web Services Mobile Devices Windows Forms ADO.NET and XML Base Class Library Common Language Runtime

Common Language Runtime DEVELOPMENT Assembly public static void Main(String[] args ) usr=Environment.GetEnvironmentVariable("USERNAME"); try { { String usr; FileStream f; StreamWriter w; w.WriteLine(usr); w=new StreamWriter(f); f=new FileStream(“C:\\test.txt",FileMode.Create); Console.WriteLine("Exception:"+e.ToString()); } catch (Exception e){ w.Close(); } Compiler public static void Main(String[] args ) usr=Environment.GetEnvironmentVariable("USERNAME"); try { { String usr; FileStream f; StreamWriter w; w.WriteLine(usr); w=new StreamWriter(f); f=new FileStream(“C:\\test.txt",FileMode.Create); Console.WriteLine("Exception:"+e.ToString()); } catch (Exception e){ w.Close(); } Source code C# J# VB Cobol … CIL Metadata Resources

Common Language Runtime Compiler Assembly DEVELOPMENT C# J# VB Cobol … CIL Metadata Resources public static void Main(String[] args ) usr=Environment.GetEnvironmentVariable("USERNAME"); try { { String usr; FileStream f; StreamWriter w; w.WriteLine(usr); w=new StreamWriter(f); f=new FileStream(“C:\\test.txt",FileMode.Create); Console.WriteLine("Exception:"+e.ToString()); } catch (Exception e){ w.Close(); } Source code Assembly DEVELOPMENT DEPLOYMENT Global Assembly Cache (GAC) Install Setup Copy Browser Application Directory Download Cache

Common Language Runtime Assembly DEVELOPMENT Application Directory Setup Copy Browser Download Cache DEPLOYMENT Global Assembly Cache (GAC) Assembly on Target Machine Install Policy <security> <mscorlib> <configuration> <?xml version="1.0" encoding="utf-8" ?> <policy> version="1" <CodeGroup class="UnionCodeGroup" <PolicyLevel version="1"> PermissionSetName="Nothing" Description="Code group grants no permissio ns and forms the root of the code group tree."> Name="All_Code" <IMembershipCondition clas s="AllMembershipCondition" version="1"/> PermissionSetName="FullTrust" EXECUTION IL to Native Compiler Class Loader Security Assembly Loader Garbage Collection Native .exe + GC table Code Manager Exception Manager Thread Support COM Interop Debug Engine

Demo CLR

.NET Framework Namespace System.Web System.WinForms Services UI Design ComponentModel Description HtmlControls Discovery WebControls Protocols System.Drawing Caching Security Drawing2D Printing Configuration SessionState Imaging Text System.Data System.Xml ADO SQL XSLT Serialization Design SQLTypes XPath System Collections IO Security Runtime InteropServices Configuration Net ServiceProcess Remoting Diagnostics Reflection Text Serialization Globalization Resources Threading

.NET Framework Design Goals Simplify application development Provide a robust and secure execution environment Support multiple programming languages Simplify deployment and management

Simplify Development Windows API .NET Framework HWND hwndMain = CreateWindowEx( 0, "MainWinClass", "Main Window", WS_OVERLAPPEDWINDOW | WS_HSCROLL | WS_VSCROLL, CW_USEDEFAULT, CW_USEDEFAULT, (HWND)NULL, (HMENU)NULL, hInstance, NULL); ShowWindow(hwndMain, SW_SHOWDEFAULT); UpdateWindow(hwndMain); .NET Framework Form form = new Form(); form.Text = "Main Window"; form.Show();

Simplify Development Organization Unified type system Code organized in hierarchical namespaces and classes Unified type system Everything is an object, no variants, one string type, all character data is Unicode Component Oriented Properties, methods, events, and attributes are first class constructs Design-time functionality

Robust And Secure Automatic lifetime management All .NET objects are garbage collected No stray pointers, no circular references Code correctness and type-safety IL can be verified to guarantee type-safety No unsafe casts, no uninitialized variables, no out-of-bounds array indexing Evidence-based security Based on origin of code as well as user Extensible permissions

Multi-Language Platform The freedom to choose language All features of .NET platform available to any .NET programming language Application components can be written in multiple languages Debuggers, profilers, code coverage analyzers, etc. work for all languages Available Compilers From Microsoft: VB, C++, C#, JScript, Java From other companies/universities: APL, COBOL, Eiffel, Fortran, Haskell, ML, Perl, Python, RPG, Scheme, Smalltalk, …

Unify Programming Models .NET Framework Consistent API availability regardless of language and programming model VB Forms RAD, Composition, Delegation MFC/ATL Subclassing, Power, Expressiveness ASP Stateless, Code embedded in HTML pages Windows API

Broad Language Support Dim s as String s = "authors" Dim cmd As New SqlCommand("select * from " & s, sqlconn) cmd.ExecuteReader() VB.NET string s = "authors"; SqlCommand cmd = new SqlCommand("select * from "+s, sqlconn); cmd.ExecuteReader(); C# C++ String *s = S"authors"; SqlCommand cmd = new SqlCommand(String::Concat(S"select * from ", s), sqlconn); cmd.ExecuteReader();

Broad Language Support J# String s = "authors"; SqlCommand cmd = new SqlCommand("select * from "+s, sqlconn); cmd.ExecuteReader();

Broad Language Support var s = "authors" var cmd = new SqlCommand("select * from " + s, sqlconn) cmd.ExecuteReader() JScript String *s = S"authors"; SqlCommand cmd = new SqlCommand(String::Concat(S"select * from ", s), sqlconn); cmd.ExecuteReader(); Perl s = "authors" cmd =SqlCommand("select * from " + s, sqlconn) cmd.ExecuteReader() Python

Broad Language Support ENVIRONMENT DIVISION. CONFIGURATION SECTION. REPOSITORY. CLASS SqlCommand AS "System.Data.SqlClient.SqlCommand"     CLASS SqlConnection AS "System.Data.SqlClient.SqlConnection". DATA DIVISION. WORKING-STORAGE SECTION. 01 str PIC X(50). 01 cmd-string PIC X(50). 01 cmd OBJECT REFERENCE SqlCommand. 01 sqlconn OBJECT REFERENCE SqlConnection. PROCEDURE DIVISION. *> Establish the SQL connection here somewhere. MOVE "authors" TO str. STRING "select * from " DELIMITED BY SIZE,    str DELIMITED BY " " INTO cmd-string. INVOKE SqlCommand "NEW" USING BY VALUE cmd-string sqlconn RETURNING cmd. INVOKE cmd "ExecuteReader". Cobol

Broad Language Support RPG   DclFld MyInstObj Type( System.Data.SqlClient.SqlCommand )  DclFld s Type( *string )  s = "authors"  MyInstObj = New System.Data.SqlClient.SqlCommand("select * from "+s, sqlconn)  MyInstObj.ExecuteReader() assembly_external(name="System.Data.SqlClient.SqlCommand") sqlcmdcharacter*10 xsqlcmd Cmd x='authors' cmd = sqlcmd("select * from "//x, sqlconn)           call cmd.ExecuteReader() end  Fortran

Broad Language Support APL s←String.New ‘authors’ cmd←SqlCommand.New (‘select * from ‘,s.ToString σ) sqlconn cmd.ExecuteReader     |s| := 'authors'.     |cmd| := SqlCommand('select * from '+s, sqlconn).     cmd.ExecuteReader(). Smalltalk

Broad Language Support (let* ( (s "authors")   (cmd (new-SqlCommand (string-append "select * from " s) sqlconn))) (execute-command cmd)) Scheme local       s: STRING       cmd: SQLCOMMAND do      s := "authors"       create cmd("select * from " + s, sqlconn)       cmd.ExecuteReader() end Eiffel ExecuteReader = invoke System.Data.SqlClient.ExecuteReader(); SqlCommand = create System.Data.SqlClient.SqlCommand(String,\ System.Data.SqlClient.SqlConnection); query = sqlconn -> let{ s = "authors"; } in {    cmd <- SqlCommand ("select * from "+s, sqlconn);   cmd # ExecuteReader();    };  Mondrian

Demo Language Integration