Effective C# 50 Specific Way to Improve Your C# Item 50 Scott68.Chang.

Slides:



Advertisements
Similar presentations
Agenda Definitions Evolution of Programming Languages and Personal Computers The C Language.
Advertisements

Introduction to .NET Framework
SYSTEM PROGRAMMING & SYSTEM ADMINISTRATION
Programming Languages Marjan Sirjani 2 2. Language Design Issues Design to Run efficiently : early languages Easy to write correctly : new languages.
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.
SSCLI: The Microsoft Shared Source CLI Implementation Mark Lewin Microsoft Research
Slides prepared by Rose Williams, Binghamton University Chapter 1 Getting Started 1.1 Introduction to Java.
Java for High Performance Computing Jordi Garcia Almiñana 14 de Octubre de 1998 de la era post-internet.
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages Chapter 3 : Describing Syntax and Semantics Operational Semantics.
Introduction to Databases
Data Management I DBMS Relational Systems. Overview u Introduction u DBMS –components –types u Relational Model –characteristics –implementation u Physical.
Programming Languages Structure
Introduction to Databases Transparencies
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
Intro to C# Language Richard Della Tezra IS 373. What Is C#? C# is type-safe object-oriented language Enables developers to build a variety of secure.
Chapter 8: Introduction to High-level Language Programming Invitation to Computer Science, C++ Version, Third Edition.
1. 2 Chapter 1 Introduction to Computers, Programs, and Java.
Session-02. Objective In this session you will learn : What is Class Loader ? What is Byte Code Verifier? JIT & JAVA API Features of Java Java Environment.
SEC(R) 2008 Intel® Concurrent Collections for C++ - a model for parallel programming Nikolay Kurtov Software and Services.
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Programming Languages: Telling the Computers What to Do Chapter 16.
Chapter 1: Introduction to Visual Basic.NET: Background and Perspective Visual Basic.NET Programming: From Problem Analysis to Program Design.
C++ Programming. Table of Contents History What is C++? Development of C++ Standardized C++ What are the features of C++? What is Object Orientation?
1 8/29/05CS360 Windows Programming Professor Shereen Khoja.
Session 1 - Introduction and Data Access Layer
Understanding Code Compilation and Deployment Lesson 4.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Chapter 1. Introduction.
Introduction .NET Framework
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#
Java Introduction Lecture 1. Java Powerful, object-oriented language Free SDK and many resources at
Computing with C# and the.NET Framework Chapter 1 An Introduction to Computing with C# ©2003, 2011 Art Gittleman.
Introduction to MDA (Model Driven Architecture) CYT.
1 Module Objective & Outline Module Objective: After completing this Module, you will be able to, appreciate java as a programming language, write java.
Python – Part 1 Python Programming Language 1. What is Python? High-level language Interpreted – easy to test and use interactively Object-oriented Open-source.
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages.
Chapter 1 Section 1.1 Introduction to Java Slides prepared by Rose Williams, Binghamton University Kenrick Mock, University of Alaska Anchorage.
tom perkins1 XML Web Services -.NET FRAMEWORK – Part 1 CHAPTER 1.1 – 1.3.
Fall 2006Slides adapted from Java Concepts companion slides1 Introduction Advanced Programming ICOM 4015 Lecture 1 Reading: Java Concepts Chapter 1.
Chapter 1 Program design Objectives To describe the steps in the program development process To introduce the current program design methodology To introduce.
Term 2, 2011 Week 1. CONTENTS Problem-solving methodology Programming and scripting languages – Programming languages Programming languages – Scripting.
C# Language Panithan Chandrapatya Agenda C# History C# Goals C# Fixes C# Contribution C# Features C# Success C# Example.
Design Concepts By Deepika Chaudhary.
Chapter 2: A Brief History Object- Oriented Programming Presentation slides for Object-Oriented Programming by Yahya Garout KFUPM Information & Computer.
1Mr.Mohammed Abu Roqyah. Database System Concepts and Architecture 2Mr.Mohammed Abu Roqyah.
Chapter 1 Introduction. Chapter 1 - Introduction 2 The Goal of Chapter 1 Introduce different forms of language translators Give a high level overview.
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
1 Chapter 1 Introduction to Databases Transparencies.
The Software Development Process
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
 Programming - the process of creating computer programs.
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.
How Are Computers Programmed? CPS120: Introduction to Computer Science Lecture 5.
Java – in context Main Features From Sun Microsystems ‘White Paper’
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Chapter 1: Introduction to Visual Basic.NET: Background and Perspective Visual Basic.NET Programming: From Problem Analysis to Program Design.
Program Design. Simple Program Design, Fourth Edition Chapter 1 2 Objectives In this chapter you will be able to: Describe the steps in the program development.
Introduction to Programming 1 1 2Introduction to Java.
Application architectures Advisor : Dr. Moneer Al_Mekhlafi By : Ahmed AbdAllah Al_Homaidi.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
Sung-Dong Kim, Dept. of Computer Engineering, Hansung University Java - Introduction.
.NET Omid Darroudi.
Before You Begin Nahla Abuel-ola /WIT.
Chapter 1 Introduction.
Introduction to Compiler Construction
System Design and Modeling
Chapter 1 Introduction.
Web Ontology Language for Service (OWL-S)
CS360 Windows Programming
Chap 1. Getting Started Objectives
Presentation transcript:

Effective C# 50 Specific Way to Improve Your C# Item 50 Scott68.Chang

Agenda Item 50: Learn About the ECMA Standard Item 50: Learn About the ECMA Standard

Item 50: Learn About the ECMA Standard

European Computer Manufacturers Association (ECMA) The ECMA standard is the official word on how every feature in the C# language behaves. The ECMA standard is the official word on how every feature in the C# language behaves. – ECMA-334 defines the 1.0 standard for the C# language. – ECMA-335 defines the Common Language Runtime (CLR) and Common Language Infrastructure (CLI) standards.

Goals of C# C# is intended to be a simple, modern, general- purpose, object-oriented programming language. C# is intended to be a simple, modern, general- purpose, object-oriented programming language. The language should provide: The language should provide: – strong type checking, array bounds checking, detection of attempts to use uninitialized variables, and automatic garbage collection – Software robustness, durability, and programmer productivity are important. The language is intended for use in developing software components suitable for deployment in distributed environments. The language is intended for use in developing software components suitable for deployment in distributed environments.

Goals of C# (cont.) Source code portability is very important Source code portability is very important – especially for those programmers already familiar with C and C++. Support for internationalization is very important. Support for internationalization is very important. C# is intended to be suitable for C# is intended to be suitable for – writing applications for both hosted and embedded systems, – ranging from the very large that use sophisticated operating systems, down to the very small having dedicated functions.

Goals of C# (cont.) C# applications are intended to be economical with regard to memory and processing power requirements C# applications are intended to be economical with regard to memory and processing power requirements – the language was not intended to compete directly on performance and size with C or assembly language.

ECMA 334 The representation of C# programs; The representation of C# programs; The syntax and constraints of the C# language; The syntax and constraints of the C# language; The semantic rules for interpreting C# programs; The semantic rules for interpreting C# programs; The restrictions and limits imposed by a conforming implementation of C#. The restrictions and limits imposed by a conforming implementation of C#. The mechanism by which C# programs are transformed for use by a data-processing system; The mechanism by which C# programs are transformed for use by a data-processing system; The mechanism by which C# applications are invoked for use by a data-processing system; The mechanism by which C# applications are invoked for use by a data-processing system;

ECMA 334 (cont.) The mechanism by which input data are transformed for use by a C# application; The mechanism by which input data are transformed for use by a C# application; The mechanism by which output data are transformed after being produced by a C# application; The mechanism by which output data are transformed after being produced by a C# application; The size or complexity of a program and its data that will exceed the capacity of any specific data processing system or the capacity of a particular processor; The size or complexity of a program and its data that will exceed the capacity of any specific data processing system or the capacity of a particular processor; All minimal requirements of a data-processing system that is capable of supporting a conforming implementation. All minimal requirements of a data-processing system that is capable of supporting a conforming implementation.

Common Language Infrastructure (CLI) Written in multiple high-level languages can be executed in different system environments without the need to rewrite those applications to take into consideration the unique characteristics of those environments. Written in multiple high-level languages can be executed in different system environments without the need to rewrite those applications to take into consideration the unique characteristics of those environments.

ECMA 335 Concepts and Architecture Concepts and Architecture – Overall architecture of the CLI – Common Type System (CTS) – Virtual Execution System (VES) – Common Language Specification (CLS) Metadata Definition and Semantics Metadata Definition and Semantics – physical layout (as a file format) – logical contents (as a set of tables and their relationships) – semantics (as seen from a hypothetical assembler, ilasm) CIL Instruction Set CIL Instruction Set – Describes the Common Intermediate Language (CIL) instruction set.

ECMA 335 (cont.) Profiles and Libraries Profiles and Libraries – Overview of the CLI Libraries, – A companion file, CLILibrary.xml, provides details of each class, value type, and interface in the CLI Libraries. Debug Interchange Format Debug Interchange Format – Describes a standard way to interchange debugging information between CLI producers and consumers. Annexes Annexes – Sample programs written in CIL Assembly Language (ILAsm) – machine-readable description of the CIL instruction set – a set of guidelines used in the design of the libraries and portability considerations.

Summary ECMA 334 可參考 ECMA 334 可參考 – The C# Programming Language, by Anders Hejlsberg, Scott Wiltamuth, and Peter Golde (Addison-Wesley, 2003). ECMA 335 可參考 ECMA 335 可參考 – The Common Language Infrastructure Annotated Standard, by James Miller and Susann Ragsdale (Addison-Wesley, 2003).