The 100% Inspiration Tour.

Slides:



Advertisements
Similar presentations
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.
Advertisements

Introduction to C# Anders Hejlsberg Distinguished Engineer Developer Division Microsoft Corporation.
Introduction to .NET Framework
.NET Framework Overview
Süsteemprogrammeerimine C# keeles (Microsoft.NET,.NET Framework 2.0) Vladimir Kjahrenov.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
1.NET and C# Peter Groenewegen Vrije Universiteit
Introduction. What is.Net? The hype: “Microsoft.Net is a set of Microsoft software technologies for connecting information, people, systems, and devices.
Web Platform Introduction With a focus on “free” Mike Taulty Developer & Platform Group Microsoft Ltd
Introduction to the C# Programming Language for the VB Programmer.
Introduction to C# Raimonds Rudmanis Senior Consultant Microsoft Baltic.
C# Language Design Peter Hallam Software Design Engineer C# Compiler Microsoft Corporation.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
DotNET A Developer’s Perspective Mike Litzkow University of Wisconsin - MadisonOne.
Platforms and tools for Web Services and Mobile Applications Introduction to C# Bent Thomsen Aalborg University 3rd and 4th of June 2004.
Creating and Running Your First C# Program Telerik Software Academy Telerik School Academy.
A Free sample background from © 2001 By Default!Slide 1.NET Overview BY: Pinkesh Desai.
1 Introduction to.NET Framework. 2.NETFramework Internet COM+ Orchestration Orchestration Windows.NET Enterprise ServersBuildingBlockServices Visual Studio.NET.
.NET Overview. 2 Objectives Introduce.NET –overview –languages –libraries –development and execution model Examine simple C# program.
.NET Framework & C#.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
1.  C# is the first “component oriented” language in the C/C++ family  Everything is an object  Component concepts are first class:  Properties, methods,
Compiling and Executing Code in.Net Microsoft Intermediate Language and Common Language Runtime.
C# Overview and Features. Content I.History of C# II.Architecture III.How to install IV.Features V.Code Sample VI.Microsoft.NET Platform VII.Why use C#
MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#
Introduction to C # – Part 2 Stephen Turner Software Design Engineer Microsoft UK.
Introduction to C#  Enterprise Application  Combines High productivity of RAD & raw power of C.
Introduction to C#. C# – The Big Ideas The first component oriented language in the C/C++ family Everything.
ILM Proprietary and Confidential -
tom perkins1 XML Web Services -.NET FRAMEWORK – Part 1 CHAPTER 1.1 – 1.3.
National Taiwan University Department of Computer Science and Information Engineering National Taiwan University Department of Computer Science and Information.
Name Microsoft Student Partner Overview of the Visual Studio 2005 Express Products.
Module 1: Getting Started. Introduction to.NET and the.NET Framework Exploring Visual Studio.NET Creating a Windows Application Project Overview Use Visual.
C# 2.0 and Future Directions Anders Hejlsberg Technical Fellow Microsoft Corporation.
Introduction to C# Ali vatankhah. C# – The Big Ideas The first component oriented language in the C/C++ family The first component oriented language in.
Harsh Jegadeesan (CSD) Introduction to C#. Harsh Jegadeesan (CSD) C# – The Big Ideas The first component oriented language in the C/C++ family Everything.
PRIOR TO WEB SERVICES THE OTHER TECHNOLOGIES ARE:.
ASP.NET (Active Server Page) SNU OOPSLA Lab. October 2005.
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.
PerlNET: The Camel Talks.NET Jan Dubois The Perl Conference 6 San Diego, July 26 th 2002.
Getting Started with.NET Getting Started with.NET/Lesson 1/Slide 1 of 31 Objectives In this lesson, you will learn to: *Identify the components of the.NET.
Introduction to C# Adapted from : Anders Hejlsberg, Microsoft CSCE 5013: Hot Topics in Mobile and Pervasive Computing Nilanjan Banerjee University of Arkansas.
DEV394.NET Framework: Migrating To Managed Code Adam Nathan QA Lead Richard Lander Program Manager Microsoft Corporation.
Classes Single inheritance Single inheritance Multiple interface implementation Multiple interface implementation Class members Class members  Constants,
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.
Introduction to C# Anders Hejlsberg Distinguished Engineer Developer Division Microsoft Corporation.
July 22, 2001Introduction to.NET1 Introduction to.NET Framework Gholamali Semsarzadeh July 2001.
Text Introduction to.NET Framework. CONFIDENTIAL Agenda .NET Training – Purpose  What is.NET?  Why.NET?  Advantages  Architecture  Components: CLR,
Introduction to Web Application
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.
C# Diline Giriş.
Integration with XML Web Services
C# – The Big Ideas The first component oriented language in the C/C++ family Everything really is an object Next generation robust and durable software.
.Net A brief introduction to
Introduction to .NET Framework Ch2 – Deitel’s Book
Application Foundation
.NET and .NET Core 2. .NET Runtimes Pan Wuming 2017.
CS360 Windows Programming
Module 0: Introduction Chapter 2: Getting Started
Module 1: Getting Started
Introduction to C# AKEEL AHMED.
Programming in C# CHAPTER 1
Introduction to .NET By : Mr. V. D. Panchal Content :
Module 10: Implementing Managed Code in the Database
(Computer fundamental Lab)
The essence of C# and. Net adopted from Anders Hejlsberg (
.NET Base Type (CTS Data Type) Managed Extensions for C++ Keyword
Paul Stubbs MCSD, MCSE 4.0, MCP+I, MCT, MCAD .Net
.NET Framework Design Goals
C# – The Big Ideas The first component oriented language in the C/C++ family The first component oriented language in the C/C++ family Everything really.
Presentation transcript:

The 100% Inspiration Tour

Exploring the .NET Framework with C# David Chalmers Academic Team, Microsoft UK davidcha@microsoft.com http://blogs.gotdotnet.com/davidcha

Topics Exploring the .NET Framework SDK What actually is .NET? Understanding key Framework concepts Delving into the Common Language Runtime Introducing the C# programming language

What is .NET? Software for connecting people, information, systems and devices? Runtime for executing code Tools to help develop applications Server products to manage applications Value-added services Managed environment for developing and executing components

.NET Framework SDK A platform for building Standards based XML Web services Windows Applications Web Applications Mobile Device Applications Standards based Enhances developer productivity Simplifies application development Makes delivery of complex applications possible

Creating Our First .NET Application

A Modest Application! Module Module1 Sub Main() 10: Console.WriteLine(“I rock”) 20: GoTo 10 End Sub End Module

Introducing C# Less typing! Object Orientation Better control structures Combines best features of C/C++ Java Visual Basic

Languages with {}; using System; public class HelloWorld { static void Main(string[] args) Console.WriteLine(s); }

A Improved ‘Hello, World’ using System; public class HelloWorld { static void Main(string[] args) string[] strArray = {“I rock”, “You rock”, “We all rock”}; foreach(string s in strArray) Console.WriteLine(s); }

C# Program Structure using System; namespace System.Collections { public class Stack Entry top; public void Push(object data) { top = new Entry(top, data); } public object Pop() { if (top == null) throw new InvalidOperationException(); object result = top.data; top = top.next; return result;

Properties Properties are “smart fields” Natural syntax, accessors, inlining public class Button: Control { private string caption; public string Caption { get { return caption; } set { caption = value; Repaint(); Button b = new Button(); b.Caption = "OK"; String s = b.Caption;

Attributes public class OrderProcessor { [WebMethod] public void SubmitOrder(PurchaseOrder order) {...} } [XmlRoot("Order", Namespace="urn:acme.b2b-schema.v1")] public class PurchaseOrder [XmlElement("shipTo")] public Address ShipTo; [XmlElement("billTo")] public Address BillTo; [XmlElement("comment")] public string Comment; [XmlElement("items")] public Item[] Items; [XmlAttribute("date")] public DateTime OrderDate; public class Address {...} public class Item {...}

Indexers Indexers are “smart arrays” Can be overloaded public class ListBox: Control { private string[] items; public string this[int index] { get { return items[index]; } set { items[index] = value; Repaint(); ListBox listBox = new ListBox(); listBox[0] = "hello"; Console.WriteLine(listBox[0]);

foreach Statement Iteration of arrays Iteration of user-defined collections public static void Main(string[] args) { foreach (string s in args) Console.WriteLine(s); } foreach (Customer c in customers.OrderBy("name")) { if (c.Orders.Count != 0) { ... }

C# – The Big Ideas Everything is an Object Traditional views C++, Java: Primitive types are ‘magic’ and do not interoperate with objects Smalltalk, Lisp: Primitive types are objects, but at great performance cost C# unifies with no performance cost Deep simplicity throughout system Improved extensibility and reusability New primitive types: Decimal, SQL… Collections, etc., work for all types

C# – The Big Ideas Building Robust Code Garbage collection No memory leaks and stray pointers Exceptions Error handling is not an afterthought Type-safety No uninitialised variables, unsafe casts Versioning Pervasive versioning considerations in all aspects of language design

Advanced Coding Capabilities class FileStream: Stream { int handle; public unsafe int Read(byte[] buffer, int index, int count) { int n = 0; fixed (byte* p = buffer) { ReadFile(handle, p + index, count, &n, null); } return n; [dllimport("kernel32", SetLastError=true)] static extern unsafe bool ReadFile(int hFile, void* lpBuffer, int nBytesToRead, int* nBytesRead, Overlapped* lpOverlapped);

Objects and Types Need a way of grouping code with the data it operates on Classes Primitive types Operations on those types Ensuring interoperability Common Type System The Common Language Specification (CLS)

Libraries and the CLS Classes for objects that are generally useful or support specific application types are built into libraries Most of the base-class libraries are CLS compliant Can be called by any component you create in a CLS-compliant programming language

Don’t Start from Scratch! Lots of good content out there to learn from Quick Start Tutorials samples.gotdotnet.com/quickstart ASP.NET Starter Kits www.asp.net Sample Applications IBuySpy Pet Store Many more …

Delving into Source Code

What’s Under the Hood? Assemblies Execution Managed Execution IL Metadata Execution Class Loader Security Verification Managed Execution Just In Time Compilation Garbage Collection

Common Language Specification Common Language Runtime The .NET Framework VB C++ C# JScript … Visual Studio.NET Common Language Specification ASP.NET Windows Forms Data and XML Base Class Library Web Matrix Common Language Runtime Windows COM+ Services

Common Language Runtime Base Class Library Support Thread Support COM Marshaler Type Checker Exception Manager Security Engine Debug Engine IL to Native Compilers Code Manager Garbage Collector Class Loader

Compilation and Execution Model Source Code Language Compiler Assembly Code (IL) Metadata Execution JIT Compiler Native Code At installation or the first time each method is called

Summary Flexible platform for sharing code and data across languages Processes Machines Sites or domains Execution Environment Powerful language support Great tools and utilities for developers

Further Resources .NET Framework SDK Further Reading msdn.microsoft.com/netframework msdn.microsoft.com/vstudio Further Reading Applied .NET Framework Programming. Richter, J. (2002); Microsoft Press www.microsoft.com/mspress/books/5353.asp Inspiration Tour Site www.microsoft.com/uk/inspiration

© 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.