C#: Project Cool Arthur Ketchel II Keith Francisco Chris McInnis.

Slides:



Advertisements
Similar presentations
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 12 Introduction to ASP.NET.
Advertisements

Portability and Safety Mahdi Milani Fard Dec, 2006 Java.
.NET Framework Overview Pingping Ma Nov 16 th, 2006.
The Type System1. 2.NET Type System The type system is the part of the CLR that defines all the types that programmers can use, and allows developers.
George Blank University Lecturer. CS 602 Java and the Web Object Oriented Software Development Using Java Chapter 4.
C#.NET C# language. C# A modern, general-purpose object-oriented language Part of the.NET family of languages ECMA standard Based on C and C++
Trey Mack James Moore Osa Osar-Emokpae
ISYS 512 Business Application Design and Development with.Net David Chao.
History  We first begin with Java which was released in 1995 by Sun Microsystems  Initially Java was 100% interpreted at runtime and was very slow 
C#/.NET Jacob Lewallen. C# vs.NET.NET is a platform. Many languages compile to.NET: –VB.NET –Python.NET –Managed C++ –C#
Data Abstraction and Object- Oriented Programming CS351 – Programming Paradigms.
Introducing the Common Language Runtime for.NET. The Common Language Runtime The Common Language Runtime (CLR) The Common Language Runtime (CLR) –Execution.
ASP.NET Programming with C# and SQL Server First Edition
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.
Introducing the Common Language Runtime. The Common Language Runtime The Common Language Runtime (CLR) The Common Language Runtime (CLR) –Execution engine.
Java CourseWinter 2009/10. Introduction Object oriented, imperative programming language. Developed: Inspired by C++ programming language.
Tahir Nawaz Visual Programming C# Week 2. What is C#? C# (pronounced "C sharp") is an object- oriented language that is used to build applications for.
Peter Juszczyk CS 492/493 - ISGS. // Is this C# or Java? class TestApp { static void Main() { int counter = 0; counter++; } } The answer is C# - In C#
Platforms and tools for Web Services and Mobile Applications Introduction to C# Bent Thomsen Aalborg University 3rd and 4th of June 2004.
Differences between C# and C++ Dr. Catherine Stringfellow Dr. Stewart Carpenter.
C# Tutorial From C++ to C#. Some useful links Msdn C# us/library/kx37x362.aspxhttp://msdn.microsoft.com/en- us/library/kx37x362.aspx.
JAVA v.s. C++ Programming Language Comparison By LI LU SAMMY CHU By LI LU SAMMY CHU.
CS /23/081 A Quick and Caffeinated Overview Presented by Chris Start O bject Oriented Programming Languages:
Introduction to .Net Framework
ISYS 512 Business Application Design and Development with.Net David Chao.
Session 1 - Introduction and Data Access Layer
Meir Botner David Ben-David. Project Goal Build a messenger that allows a customer to communicate with a service provider for a fee.
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.
.NET Framework & C#.
Adapted from Prof. Necula UCB CS 1641 Overview of COOL ICOM 4029 Lecture 2 ICOM 4029 Fall 2008.
Distributed Systems (236351) Tutorial 1 - Getting Started with Visual Studio C#.NET.
Component-Based Software Engineering Introduction to.NET Paul Krause.
Advanced Programming Collage of Information Technology University of Palestine, Gaza Prepared by: Mahmoud Rafeek Alfarra Lecture 2: Major Concepts of Programming.
Introduction to C# C# is - elegant, type-safe, object oriented language enabling to build applications that run on the.NET framework - types of applications.
C#C# Introduction CS3260 Dennis A. Fairclough Version 1.0 Introduction CS3260 Dennis A. Fairclough Version 1.0.
Languages and IDE (Integrated Development Environment)
Applied Computing Technology Laboratory QuickStart C# Learning to Program in C# Amy Roberge & John Linehan November 7, 2005.
C# Versus Java Author: Eaddy, Marc Source: Software Tools for the Professional Programmer. Dr. Dobb's Journal. Feb2001, Vol. 26 Issue 2, p74 Hong Lu CS699A.
1 C# A brief overview by Jack Senechal and Bryan Powell.
E FFECTIVE C# 50 Specific Ways to Improve Your C# Second Edition Bill Wagner محمد حسین سلطانی.
C# Language Panithan Chandrapatya Agenda C# History C# Goals C# Fixes C# Contribution C# Features C# Success C# Example.
ISYS 350 Business Application Development David Chao.
C# EMILEE KING. HISTORY OF C# In the late 1990’s Microsoft recognized the need to be able to develop applications that can run on multiple operating system.
C Sharp Web & Internet Programming Group Diana, Aren, Jeff, & Adam, Farrin 5/5/20081CS 311.
Introduction to Java Chapter 7 - Classes & Object-oriented Programming1 Chapter 7 Classes and Object-Oriented Programming.
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.
PROGRAMMING IN C#. Collection Classes (C# Programming Guide) The.NET Framework provides specialized classes for data storage and retrieval. These classes.
 In the java programming language, a keyword is one of 50 reserved words which have a predefined meaning in the language; because of this,
Object Oriented Software Development 4. C# data types, objects and references.
Java Programming, Second Edition Chapter Twelve Advanced Inheritance Concepts.
Classes, Interfaces and Packages
CIS 200 Test 01 Review. Built-In Types Properties  Exposed “Variables” or accessible values of an object  Can have access controlled via scope modifiers.
A comparison of C-Sharp and Java Zunaid Jogee Supervisor: T. Stakemire.
ISYS 512 Business Application Design and Development with.Net David Chao.
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.
1 C# - Inheritance and Polymorphism. 2 1.Inheritance 2.Implementing Inheritance in C# 3.Constructor calls in Inheritance 4.Protected Access Modifier 5.The.
Text Introduction to.NET Framework. CONFIDENTIAL Agenda .NET Training – Purpose  What is.NET?  Why.NET?  Advantages  Architecture  Components: CLR,
Session 02 Module 3: Statements and Operators Module 4: Programming constructs Module 5: Arrays.
UMass Lowell Computer Science Java and Distributed Computing Prof. Karen Daniels Fall, 2000 Lecture 10 Java Fundamentals Objects/ClassesMethods.
 It is a pure oops language and a high level language.  It was developed at sun microsystems by James Gosling.
Sung-Dong Kim, Dept. of Computer Engineering, Hansung University Java - Introduction.
Object Oriented Programming in
CIS 200 Test 01 Review.
Java Primer 1: Types, Classes and Operators
Introduction Enosis Learning.
CS360 Windows Programming
Introduction Enosis Learning.
(Computer fundamental Lab)
ICOM 4029 Fall 2003 Lecture 2 (Adapted from Prof. Necula UCB CS 164)
Presentation transcript:

C#: Project Cool Arthur Ketchel II Keith Francisco Chris McInnis

Language Paradigm Simple, Modern, General Purpose Structured, Imperative, Objected Oriented Designed for Software Component Development Not designed to compete with C on performance or size. − JIT compiled

Historical Context C# was developed by Microsoft. Lead Architect: Anders Hejlsberg − Worked on other languages, such as: Delphi Codename of C# was Project Cool − Microsoft denies this but there is evidence to prove otherwise in code snippets and file paths. The language received its name from music, as a sharp (#) is a semi-tone above the base note.

C#’s Origin Before creating C#, Microsoft implemented a modified Java environment, called J++. Microsoft was said to have added features in a manner that violated platform neutrality, violating a license agreement that Microsoft signed with Sun Microsystems in return for using the Java brand. Sun Microsystems sued and won, preventing Microsoft from using the Java brand and thus further production of J++. With the release of the.NET framework (and C#), the project was revived in the form of J#. During the development, C# was driven by CLR or Common Language Runtime. At compile-time, a.NET compiler converts such code into CIL code. At runtime, the CLR's just-in-time compiler converts the CIL code into code native to the operating system

C# and Java Both languages are Objected Oriented, Garbage Collected and run-time compiled (JIT). In Java, wrapper classes must be used for primitive types in order to translate between their primitive data and object forms. − Java: Integer.toString(42); − C#: 42.toString(); Unlike Java, C# allows conditional compilation using preprocessor directives. C# only supports unchecked exceptions, which do not require the programmer to declare and catch all exceptions thrown by a method.

The C Language Family Comparison of C# to C and C++ − C# has no global variables or functions. All methods and members must be declared within classes. − In C#, local variables cannot shadow variables of the enclosing block, unlike C and C++. − C# supports a strict boolean type, bool, and does not allow conversion between an integer meaning bool (0, false – 1, true) − In C#, multiple inheritance is not supported, although a class can implement any number of interfaces. − Accessors called properties can be used to modify an object with syntax that resembles C++ member field access (get and set). − C# has a unified type system. This means that all types, including primitives such as integers, are subclasses of the System.Object class. For example, every type inherits a ToString() method. (42.ToString() calls the ToString() method of an integer)

C# Language Concepts Object Oriented − Everything from data types to classes inherit from a base Object class − No global variables or methods, everything is encased within classes.

C# Language Concepts Memory Management − Memory cannot be explicitly freed. Memory is managed by the garbage collector. − Garbage collector protects against memory leaks. − Pointers can only be used within unsafe code blocks.

C# Interesting Concepts You may use foreach on lists as well as for loops. Properties can expose member variables much like get and set methods. partial classes help break down large class files.

Future Concepts (C# v3.0) Language Integrated Query will allow for queries on SQL, XML, collections, and more (from, where, select) Automatic properties will decrease code length.

Code Sample (factorial – recursion)

Code Sample (factorial – foreach)

Code Sample (factorial – for)