7/23/2016 1.NET - What and Why Lecture 1:.NET What Is It And Why Use It?

Slides:



Advertisements
Similar presentations
Introduction to .NET Framework
Advertisements

.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.
.NET Framework Overview
History of.Net Introduced by Microsoft Earlier technology was VC++ and VB VC++ comes with so many library and VB was so easy to use and not flexible to.
.NET Framework Overview Pingping Ma Nov 16 th, 2006.
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.
Programming Our First Java Program Yingcai Xiao. What to Do Set up for Java Programming Write our first Java Program with IDE Write our first Java Program.
Windows Programming.NET Overview Yingcai Xiao. What is a Computer? From the Webster’s New World Dictionary: 1. A person who computes. 2. A device used.
An Overview of.NET Gavin King.NET Developer Group Microsoft Ltd
Introduction to.NET Frank McCown COMP GUI Programming Harding University.
Introduction to VB.Net ITE-370. What is.NET? A brand of Microsoft technologies A platform for creating distributed Web applications A combination of new.
Java Vs .Net Presented By, Naveen Kumar Ratkal.
Rajeswari Indupuri Introduction to.NET Framework.
A Free sample background from © 2001 By Default!Slide 1.NET Overview BY: Pinkesh Desai.
Overview of Microsoft.Net and Vb.Net ITSE 2349 Spring 2002 Material from Microsoft.Net an Overview for ACC faculty by Stuart Laughton and Introduction.
1 Introduction to.NET Framework. 2.NETFramework Internet COM+ Orchestration Orchestration Windows.NET Enterprise ServersBuildingBlockServices Visual Studio.NET.
1 8/29/05CS360 Windows Programming Professor Shereen Khoja.
High thoughts must have high language. Aristophanes
Architecture of.NET Framework .NET Framework ٭ Microsoft.NET (pronounced “dot net”) is a software component that runs on the Windows operating.
J2EE /.NET Liz Farricker Whitney Mayoras Patrick Bailey.
C# A 1 CSC 298 Introduction to C#. C# A 2 What to expect in this class  Background: knowledge of an object oriented language of the C++, Java, … family.
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.
Introduction to .NET Framework
Lecture Set 1 Part B: Understanding Visual Studio and.NET – Structure and Terminology 1/16/ :04 PM.
Compiling and Executing Code in.Net Microsoft Intermediate Language and Common Language Runtime.
.NET Framework Overview
Introduction .NET Framework
Module 1: Overview of the Microsoft.NET Platform.
ISYS 573 Special Topic – VB.Net David Chao. The History of VB Early 1960s:BASIC-Beginner’s All-Purpose Symbolic Instruction Code –Teaching –Simple syntax,
Introduction to.NET Frank McCown TechLunch Old Dominion University March 28, 2007.
What is.NET? CS 351 Ed Gellenbeck. Today What is.NET? What Problems Does.NET Solve? What are.NET Framework Components?
Mono Update. Miguel de Icaza
Introduction to VB.Net. What is.NET? A brand of Microsoft technologies A platform for creating distributed Web applications A combination of new and updated.
AUC Technologies Projects Consulting, Development, Mentoring, and Training Company Application Foundation Presented By : Naveed Sattar Software Engineer.
Rajiv and Shipra Introduction to.NET (asp.net,c#,vb)
tom perkins1 XML Web Services -.NET FRAMEWORK – Part 1 CHAPTER 1.1 – 1.3.
Module 1: Getting Started. Introduction to.NET and the.NET Framework Exploring Visual Studio.NET Creating a Windows Application Project Overview Use Visual.
Module 1: Overview of the Microsoft .NET Framework
PRIOR TO WEB SERVICES THE OTHER TECHNOLOGIES ARE:.
The .NET Framework - Technology in Education
Microsoft .NET A platform that can be used for building and running windows and web applications such that the software is platform and device-independent.
INTRODUCTION CHAPTER #1 Visual Basic.NET. VB.Net General features It is an object oriented language  In the past VB had objects but focus was not placed.
Text Introduction to.NET Framework. CONFIDENTIAL Agenda .NET Training – Purpose  What is.NET?  Why.NET?  Advantages  Architecture  Components: CLR,
Lecture Set 1 Part B: Understanding Visual Studio and.NET – Structure and Terminology 1/16/ :04 PM.
.NET Framework, CLR, MSIL, Assemblies, CTS, etc..
M ICROSOFT.NET Kyle Adamski 10/15/2012. Road Map What is.NET? Common Language Runtime (CLR) Language Integrate Queries (LINQ).NET Pros.NET Cons Sources.
7/23/ NET - What and Why.NET What Is It And Why Use It?
Intro to ASP.NET CS-422 Dick Steflik. What is.NET As applications in the Enterprise become more and more netcentric and less and less standalone.NET is.
Introduction to the Microsoft.NET Framework Chris Wastchak Student Ambassador to Microsoft.
Introduction to .NET Framework
Computer System Structures
Introduction to .NET Framework
Foundations of .Net Programming with C#
Frank McCown TechLunch Old Dominion University March 28, 2007
Problem Solving Using C: Orientation & Lecture 1
Introduction to .NET Framework Ch2 – Deitel’s Book
Application Foundation
Lecture 1: .NET What Is It And Why Use It? 9/18/2018
Introduction to C# AKEEL AHMED.
Programming in C# CHAPTER 1
Problem Solving.
Introduction to .NET By : Mr. V. D. Panchal Content :
BHUBANESWAR,KHURDA,ODISHA
Introduction to .NET Framework
Problem Solving Using C: Orientation & Lecture 1
and Program Development
Frank McCown TechLunch Old Dominion University March 28, 2007
Presentation transcript:

7/23/ NET - What and Why Lecture 1:.NET What Is It And Why Use It?

7/23/ NET - What and Why Software from Components In the industrial revolution, engineers learned to build things in a consistent, predictable, repeatable way Design once, build many identical parts They learned to use assembly lines to assemble multiple items from sets of identical components Any component of a given type and specification is interchangeable with another of the same type

7/23/ NET - What and Why Why not build software the same way? Multiple languages and incompatibilities Basic, C, C++, COBOL, Visual Basic, C#, F#, Java, Fortran, Perl, Python, Eiffel, Delphi, SQL, Pascal, PL/I, APL, assembly, Scheme, Smalltalk, Prolog, Lisp, RPG, Ada, Snobol, Forth, Algol, Modula-2, HTML, Haskell, JavaScript, Objective C, ABAP, … Lisp COBOLCannot just take a block of code from a Lisp program, for example, and plug it into a COBOL program and expect it to work Ada PythonUsually, cannot easily call an Ada method from a Python program, for example

7/23/ NET - What and Why Why not build software the same way? Different Data Types Many different data types Not implemented the same way in all languages Implementations vary in size Character ASCII EBCDICUnicodeCharacter type may take 1 byte (ASCII or EBCDIC) or 2 or more bytes for Unicode Integers Integers may occupy 8 bits, 16 bits, 32 bits, 64 bits, 128 bits,...

7/23/ NET - What and Why Why not build software the same way? Different conventions left-to-rightright- to-leftArgument passing may be left-to-right or right- to-left stackregisterspointers someothermeansArguments in one language may be passed using a stack; others use registers, pointers, or some other means; not consistent among languages Name collisions classname keywordSame term may be used differently in different languages – a class name in one language may be a keyword in another

7/23/ NET - What and Why Why not build software the same way? platformsarchitecturesDifferent platforms and architectures Addressesdata163264Addresses and data: 16-bit, 32-bit, 64-bit,… Big-endianlittle-endianBig-endian (ABCD) vs. little-endian (DCBA) instructionsetsDifferent instruction sets registerarchitectureDifferences in register architecture

7/23/ NET - What and Why Why not build software the same way? operating systemsDifferent operating systems even on the same hardware OSAlmost all user software depends on and uses services provided by the OS and its subsystems OperatingSystems implementingservices API’sconventionssecurity levelssupportDifferent Operating Systems have different ways of implementing the services, different API’s, different conventions, different security approaches, different levels of support for various activities

7/23/ NET - What and Why Why not build software the same way? Different Human Languages; Different Cultures English, French, Japanese, Chinese, German, Spanish, Arabic, Russian, HebrewEnglish, French, Japanese, Chinese, German, Spanish, Arabic, Russian, Hebrew, … ,23In the US, 1.23 represents 1 and 23 hundredths, while in many European cultures, the same value would be represented as 1,23 FahrenheitCelsiusUS,30cold Canada,30hotFahrenheit vs. Celsius; in US, 30 degrees is cold while in Canada, 30 degrees is hot US DollarsCanadian DollarsEurosYenRubles RiyalsDirhamsPesosYuanUS Dollars vs. Canadian Dollars, Euros, Yen, Rubles, Riyals, Dirhams, Pesos, Yuan,... 03/04/2016March 4, 2016 April 3, 2016Dates: 03/04/2016 is March 4, 2016 in the US, but it is April 3, 2016 in much of Europe nches, miles, gallons, poundscentimeters kilometers, liters,kilogramsInches, miles, gallons, pounds vs. centimeters, kilometers, liters, and kilograms...

7/23/ NET - What and Why COM, CORBA, Enterprise Java Beans Various companies and groups of companies came up with approaches that could be used to standardize things and allow components to work together Problems: proprietaryAll approaches were proprietary incompatibleApproaches incompatible with each other NotopenstandardsNot based on open standards

7/23/ NET - What and Why.NET Based on a standard developed by Microsoft, Intel, IBM, and others ECMA (European Computer Manufacturers Association information and communications systems)Approved as a standard by ECMA (European Computer Manufacturers Association – an international standards body for information and communications systems) ISOInternational Standards OrganizationApproved as a standard by ISO (International Standards Organization) CTSCLSC#,Standards cover CTS, CLS, C#, and other items languageagnosticDesigned to be language agnostic PlatformneutralPlatform neutral OpenOpen to development by anyone

7/23/ NET - What and Why Many others including IronPython, IronRuby, Cobol, Delphi, JavaScript, etc. The virtual machine runs this

7/23/ NET - What and Why Common Type System (CTS) All.NET languagescommon typesAll.NET languages support common types – though not necessarily using the same names System.Int32intC++ C#, IntegerVBSystem.Int32 is called int in C++ and in C#, and Integer in VB, but they are same type and can be passed back and forth between languages as arguments System.SingleSingleVBfloat C++C#,.NETSystem.Single is called Single in VB and float in C++ and C#, but all are the same type and are interchangeable in the.NET languages

7/23/ NET - What and Why Common Language Runtime (CLR) Intermediate Language (IL)All.NET compilers emit platform-neutral Intermediate Language (IL) object code (like byte-code in Java) rather than native machine language code IL hardwareOS.NET languageIL is the same regardless of hardware, OS, or.NET language Assembly.EXE.DLLOutput of a project is called an Assembly : may be either a.EXE or a.DLL CLRplatformOnly the CLR needs to know on what platform it is running

CLR, continued CLRJust-In-Time (JIT) ILnativemachinelanguageoptimized targetmachineCLR contains a Just-In-Time (JIT) compiler that turns IL into native machine language optimized for its target machine Very fast and efficient Done only once and only if needed compiledinterpretedThus code is compiled, not interpreted as in some languages CLRgarbage-collectionexception handlingcross-language debugging, distributeddebuggingCLR also handles garbage-collection, exception handling, cross-language debugging, and distributed debugging, and other common features runtimesupport.NETIncludes runtime support for thousands of.NET classes 7/23/ NET - What and Why

7/23/ NET - What and Why IL Example.method public hidebysig static void Main() cil managed {.entrypoint.entrypoint.custom instance void [mscorlib]System.STAThreadAttribute::.ctor() = Code size 14 (0xe).custom instance void [mscorlib]System.STAThreadAttribute::.ctor() = Code size 14 (0xe).maxstack 8.maxstack 8 IL_0000: nop IL_0000: nop IL_0001: newobj instance void ManageDB.frmTblMgmt::.ctor() IL_0001: newobj instance void ManageDB.frmTblMgmt::.ctor() IL_0006: call void [System.Windows.Forms]System.Windows.Forms.Application::Run(class [System.Windows.Forms]System.Windows.Forms.Form) IL_0006: call void [System.Windows.Forms]System.Windows.Forms.Application::Run(class [System.Windows.Forms]System.Windows.Forms.Form) IL_000b: nop IL_000b: nop IL_000c: nop IL_000c: nop IL_000d: ret IL_000d: ret } // end of method frmTblMgmt::Main

7/23/ NET - What and Why Runtime Compilation and Execution Native code C# code Visual Basic.NET code Which language? VB.NET compiler C# Compiler MSIL JIT compiler Form1 CLR

7/23/ NET - What and Why Platform Neutral IL portableBecause the IL code is not targeted at any platform, it is portable between systems of different HW, SW, etc. NET.exeNET.dll WindowsMac SunIBMmainframeA (.NET).exe and a (.NET).dll compiled on a Windows system will run on a Mac, a Sun, or an IBM mainframe... IF IF... CLRJIT compilerILnativecode runtime support for the.NET classes the target machine has its own CLR with a JIT compiler to convert the IL code to native code targeted to the machine on which it is to run and to provide the runtime support for the.NET classes

7/23/ NET - What and Why Common Language Runtime Class Loader IL to Native CompilersCodeManagerGarbageCollector Security Engine Debug Engine Type Checker Exception Manager Thread Support COM Marshaler Base Class Library Support

7/23/ NET - What and Why Language Interoperability.NETThe standards that are part of.NET insure that: VB.NET C#A Windows control developed in VB.NET can be used in a C# program methodbusiness-tierclass COBOL.NETVB.NET WindowsFormsA method written in a business-tier class in COBOL.NET can be invoked by a VB.NET Windows Forms front end NETstringDelphi.NET WindowsC# SSCLI Apple OS-XA.NET string in a Delphi.NET program compiled using a Borland compiler on a Windows computer can be passed to a C# method written using a SSCLI compiler running on an Apple OS-X platform

7/23/ NET - What and Why.NET Implementations.NETImplementations of.NET include NETFrameworkVisual Studio.NETMicrosoft’s.NET Framework and Visual Studio.NET SharedSourceCommonLanguageInitiativeSSCLI BSDUnixAppleOS-XThe Shared Source Common Language Initiative (SSCLI) that runs on BSD Unix and Apple OS-X MonoopensourceNovellMono - open source effort up until recently led by Novell and others 30.NETMore than 30 languages support.NET: VB.NET, C#, managed C++, Cω, Spec#, F#Microsoft: VB.NET, C#, managed C++, Cω, Spec#, F# Python, Perl, Cobol, Delphi, Pascal, Eiffel, Fortran, RPG, Scheme, Smalltalk, Ruby, Forthnon- MicrosoftPython, Perl, Cobol, Delphi, Pascal, Eiffel, Fortran, RPG, Scheme, Smalltalk, Ruby, Forth, and many others by non- Microsoft vendors.NET Frameworkadd-ins VisualStudio.NETcompilersIDE’s Borland, Mono,MacromediaThousands of tools are available from third-party vendors to aid in.NET Framework development, including thousands of add-ins for Visual Studio.NET, as well as compilers with their own IDE’s from Borland, Mono project, and Macromediaadd-ins

7/23/ NET - What and Why The.NET Framework Components Win32 and Win64 MessageQueuingCOM+ (Transactions, Partitions, Object Pooling) IISWMI Common Language Runtime.NET Framework Class Library ADO.NET and XML XML Web Services User Interface VisualBasicC++C# ASP.NET PerlPython… Database support Web Apps and Services Base Class Library JIT, GC, Exceptions, Debugging, etc. Web Server Base OS API

7/23/ NET - What and Why Thus, … Solutions/Applications.NETlanguagelanguagesprojectSolutions/Applications can be developed in any.NET language or languages (by project) that fully supports the features used by the application and that adheres to the standards Differentpartssolution differentlanguagesDifferent parts of the application (solution) can be developed in different languages VB main programclassC# classF#,A VB main program can use a class developed in C# that uses another class developed in F#, for example.NET web application separate.NET languageIn a.NET web application, each web page at a web site could be developed in a separate.NET language