programming

62
The Future of Development

Upload: kapcom-rawal

Post on 13-Jan-2015

59 views

Category:

Engineering


9 download

DESCRIPTION

About Programming

TRANSCRIPT

Page 1: Programming

The Future of Development

Page 2: Programming

.NET is a major technology change for Microsoft and the software world. Just like the computer world moved from DOS to Windows, now they are moving to .NET. But don't be surprised if you find anyone saying that "I do not like .NET and I would stick with the good old COM and C++". There are still lot of people who like to use the bullock-cart instead of the latest Honda car.

Page 3: Programming

.NET technology was introduced by Microsoft, to catch the market from the SUN's Java. Few years back, Microsoft had only VC++ and VB to compete with Java, but Java was catching the market very fast. With the world depending more and more the Internet/Web and java related tools becoming the best choice for the web applications, Microsoft seemed to be loosing the battle. Thousands of programmers moved to java from VC++ and VB. This was alarming for Microsoft and many of the Microsoft fan's kept on asking "is Microsoft sleeping?". And Microsoft had the answer. One fine morning, they announced : "We are not sleeping. We have the answer for you.". And that answer was .NET.

Page 4: Programming

But Microsoft has a wonderful history of starting late but catching up quickly. This is true in case of .NET too. Microsoft put their best men at work for a secret project called Next Generation Windows Services (NGWS)., under the direct supervision of Mr. Bill Gates. The outcome of the project is what we now know as .NET. Even though .NET has borrowed most of it's ideas from Sun's J2EE, it has really outperformed their competitors.

Page 5: Programming
Page 6: Programming

USER Any Time, Any Place, Any Device

Internet

XML BASED WEB SERVICES

ERP SOURCES – Business Source – Customer Source – Sales Details at Head Office – Server, Back Office, Infrastructure

Notification Schedule Authentication

Page 7: Programming

Application Types

System Software

Application Software

Direct System Programming is Not Possible in DOTNET its designed for Software And Application Only

Page 8: Programming

Great For New/Existed/Fresh/Beginners/Expert Developers

Only Technology Specially Designed for Programmer Society

Basic Intension of Microsoft .NET is No Need to Learn New Language From Ground Up. Developer can use Existed

Language and Adapt .NET Application

Language Provided By MicrosoftC++, C#, J#, VB.NET, Jscript.NET, F#

Third Parties Languages Perl, Python, Pascal, APL, Cobol, Eiffel, Haskell, ML, Smalltalk,

Page 9: Programming

Application of Types in DOTNET

Its Just Start of DOTNET For Any One Individual Developers

Console Application

DesktopApplication

Windows Services

WebServices

ASP.NET/MVCApplication

MobileSmart Devices

WPFRich GUI

Page 10: Programming
Page 11: Programming

Platform

Page 12: Programming

It's An Environment For Developing And Running Application Featuring Of Development Of Web Based Services, Rich

Standard Runtime Services Available To Components Written In Variety Of Programming Language And Its Providing Inter

Language And Inter Machine Inoperability

Page 13: Programming

is DOTNET Platform Independence ?

Page 14: Programming

DOTNET Developing and Executing Platform

Hardware

Assembly Code

Operating System

MS.NET JRE

C and C++ Programming

.NET APPLICATION

JAVAAPPLICATION

is

Page 15: Programming

Made for only Windows OS

Page 16: Programming

Type of DOTNET Environment

Run Time SDK

Page 17: Programming

Runtime For Both on Production and Development

Environment

Page 18: Programming

Software Development KitOnly For Development Environment

Page 19: Programming

Components

CLRCommon Language Runtime

FCLFramework Class Library

To achieve these broad objectives, .NET Framework is separated into 3 parts:

ToolsProgramming Tools

Page 20: Programming

Programming Tools The programming tools include everything you need for coding and debugging, including

DebuggingException Handling

Server Side Improvement IDE .NET Compliers

C#, VB,Jscript,

Page 21: Programming

IDE and RAD Tools Only For Development Environment

Common Environment for All Languages Can be use for Every Type of DOTNET Application

Can increase the Development Environment By adding some other component Can work for Other Technology

One Man Army for DOTNET

Page 22: Programming

Is these all things are Free

YESNeed a Licensed Windows OS

Page 23: Programming

MS .NET Visual Studio Express Edition Its Free and Perfect For Beginner in DOTNET

Page 24: Programming

MS .NET Visual Studio Professional Edition Its Not Free Protease

Page 25: Programming

We are Always on

If You are Programmer on .NET

Page 26: Programming

Base Class Library Or

Framework Class Library

Page 27: Programming

Framework Class Library The .NET Framework class library is a library of classes, interfaces, and value types that provide access to system functionality. It is the foundation on which .NET Framework applications, components, and controls are built. The namespaces and namespace categories in the class library are listed in the following table and documented in detail in this reference. The namespaces and categories are listed by usage, with the most frequently used namespaces appearing first.

Page 28: Programming

Framework Class Library Input Output Operation Windows Messages

String Handling Database Management

Managing Array Evaluation of Mathematic Function

Access Files and Folders Drawing

Access Registry Managing Errors

Security Connecting Internet And XML

Windowing Many, Many, Many, More

Page 29: Programming
Page 30: Programming

Framework Class Library Advantages 1. Language Independents 2. Completely Object Oriented 3. Fully Extensible 4. Packed In Form of DLL5. Well Optimized Performance

Page 31: Programming

Learn the Programming Language Syntax and Base Class Library Remain Same

Page 32: Programming

Namespace1. A Namespace is Logical Collection of Classes and other Types with Unique

Name2. The Structure of the Namespace is like a tree where all the related Class Are

Like Leaves3. Base Class Library Began With “SYSTEM”

Page 33: Programming

Versions of DOTNET

Page 34: Programming

Versions and Version Dependency

Version 1.0 in Year 2002 Standalone Version 1.1 in Year 2003 Standalone Version 2.0 in Year 2005 Standalone

Version 3.0 in Year 2006 Over .NET 2.0Version 3.5 in Year 2007 Over .NET 3.0Version 4.0 in Year 2010 Standalone Version 4.5 in Year 2012 Replace 4.0

All Versions Can Be Installed Side By Side on Same Machine

Page 35: Programming

Version CompatibilityDoesn't Support Backward and Forward Compatibility

The Version of Development Machine and Production Machine Must Be Same

Page 36: Programming

Common Language Runtime [CLR]

Page 37: Programming
Page 38: Programming
Page 39: Programming

Source Code Complier

IL and Metadata

Linker

EXE Code

Class Loader

Verifier Test

JIT Complier

Native Code

Meta Data Engine

Other Native Code

Class Loader

Output

Flowchart of CLR Activities for Execution

a Program

Page 40: Programming

Protease… Its Time to Know The Execution Process of DOTNET Application

.NET Source Code Language Complier MSIL CIL IL

CLRCommon Language Runtime

Native Code

Code Executed8 Steps

Page 41: Programming

Step – 1

The compilers of CLS-compliant languages compile the source code and generate an intermediate code, called MSIL code, and metadata. MSIL Code contains a CPU independent set of instructions, which describes how to load, store, initialize, and call. They also contains instructions to perform arithmetic and logical operations, access memory directly, control the flow of execution, handle exceptions and perform other operations. methods on objects

Page 42: Programming

Step – 2

Before you execute the MSIL code, you need to compile it into CPU-specific instructions. To execute the code, the runtime requires information about the code that is in the metadata. The metadata describes the code and defines the types that the code contains as well as references to other types that the code uses at run time. MSIL Code and metadata both located in the .PE (portable executable) file.

Page 43: Programming

Step – 3

Portable Executable in .NETWhen we execute .PE file, the class loader loads the MSIL code and metadata from the portable executable file into the run-time memory.

Page 44: Programming

Demo by Showing the MSIL Code on DOTNET Application

Page 45: Programming

Step –4

Calling Entry PointAfter the MSIL code and metadata are loaded into the memory, the code manager calls the entry point method, which is Main, Win Main or DllMain method. An entry-point method is the first method to be executed when you run your application.

Page 46: Programming

Step –5

The Garbage collector performs periodic checks on the managed heap to identify the objects that are no longer required by the program and removes them from memory.

Garbage Collection in .NET

Page 47: Programming

Step –6

The applications running within the common language runtime can utilize the managed multithreading support. The .NET Framework allows a single process to be divided into one or more sub processes called application domains. Each application domain can contain one or more threads. The runtime monitors all the threads that have executed code within its process .

Managed Multithreading support

Page 48: Programming

Step –7

The common language runtime also allows managed code to interoperate with unmanaged code. One of the components of the common language runtime is the COM marshaler, which performs marshaling of data when data passes between managed and unmanaged execution environments.

Interoperate With Unmanaged Code

Page 49: Programming

Step –8

Then with the help of JIT the IL code is converted into Native code or we can say Intermediate set of instructions are converted into CPU set of instruction.

Just in Time Compiler

Page 50: Programming

DOTNET Application Executed…..Its Time Review

Page 51: Programming

Review of Code Compilation and Execution

Source Code

LanguageCompliers

MSIL

MetadataCompilation

EXE OR DLLAlso call

Assembly

JITJust in Time

Source Code

Execution

Page 52: Programming
Page 53: Programming

Very Important for use to Understand the MSIL and METDATA

MetadataMetadata about the types used in the programMetadata about references to other assembliesData about programs and their types is called metadata, and is stored in the programs’ assemblies.

MSILIts Stand for Microsoft Intermediate Language, also Know as IL,CILMSIL Instruction is Platform Independent for Any Hardware or Processor The core component of the .NET Framework is the CLR, which sits on top of the OS and Manage Program

Page 54: Programming
Page 55: Programming

Its Very Important to understand of Compiling and Execution of DOTNET Programming

Question and Answer Session on .NET components

Page 56: Programming
Page 57: Programming

So Application Developer Something Special For You in DOTNET

Page 58: Programming

Data-centric desktop business applications

| WPF .NET |Windows Forms |Light Switch for desktop|

Page 59: Programming

Data-centric web business applications

ASP.NET | ASN.NET MVC

Page 60: Programming

Apps for Office

Apps for Office Modal |Office VBA

Page 61: Programming

Sorry Protease But Game is Not Over

Page 62: Programming