Jim Fawcett CSE687 – Object Oriented Design Spring 2003

Slides:



Advertisements
Similar presentations
Chapter 18 Vectors and Arrays
Advertisements

Extensibility, Safety and Performance in the SPIN Operating System Presented by Allen Kerr.
Why COM and.Net? Jim Fawcett CSE775 – Distributed Objects Spring 2005.
New Faculty Orientation Blackboard Academic Suite 7.1 University of the Pacific June 28, 2015.
12.1 Exceptions The limitations of traditional methods of exception handling Error conditions are a certainty in programming Programmers make.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
Object Oriented Software Development 1. Introduction to C# and Visual Studio.
From C++ to C#. Web programming The course is on web programming using ASP.Net and C# The course is on web programming using ASP.Net and C# ASP.Net is.
OOP Languages: Java vs C++
Computing with C# and the.NET Framework Chapter 1 An Introduction to Computing with C# ©2003, 2011 Art Gittleman.
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
CSE 425: Object-Oriented Programming I Object-Oriented Programming A design method as well as a programming paradigm –For example, CRC cards, noun-verb.
1 Software Systems Development CEN Spring 2011 TR 12:30 PM – 1:45 PM ENB 116 Instructor:Dr. Rollins Turner Dept. of Computer Science and Engineering.
Introduction and Features of Java. What is java? Developed by Sun Microsystems (James Gosling) A general-purpose object-oriented language Based on C/C++
CSE 425: Data Types I Data and Data Types Data may be more abstract than their representation –E.g., integer (unbounded) vs. 64-bit int (bounded) A language.
CS533 Concepts of Operating Systems Jonathan Walpole.
Design issues for Object-Oriented Languages
Jim Fawcett CSE687 – Object Oriented Design Spring 2001
Jim Fawcett CSE 691 – Software Modeling and Analysis Fall 2000
Teaching with C Sharp Rob Miles.
Jim Fawcett CSE687 – Object Oriented Design Spring 2015
Windows Programming Environments
CSE687 - Object Oriented Design class notes Survey of the C++ Programming Language Jim Fawcett Spring 2005.
Jim Fawcett CSE687-OnLine – Object Oriented Design Summer 2017
Copyright © Jim Fawcett Spring 2017
CSE791 - Distributed Objects, Spring 2002
Jim Fawcett CSE775 – Distributed Objects Spring 2017
Jim Fawcett CSE687 – Object Oriented Design Spring 2001
Abstract Factory Pattern
Jim Fawcett CSE687 – Object Oriented Design Spring 2016
Chapter 1 Introduction.
Jim Fawcett CSE681 – SW Modeling & Analysis Fall 2014
Jim Fawcett CSE775 – Distributed Objects Spring 2009
CSE687 – Object Oriented Design
Jim Fawcett CSE687 – Object Oriented Design Spring 2015
Jim Fawcett CSE687 – Object Oriented Design Spring 2015
The C++ Standards Committee: Progress & Plans
CSE687 - Object Oriented Design class notes Survey of the C++ Programming Language Jim Fawcett Spring 2004.
Create Virtual Directory Windows 8 - IIS 8.5
Jim Fawcett CSE687 – Object Oriented Design Spring 2005
Linux Processes & Threads
C# and the .NET Framework
Chapter 1 Introduction.
Jim Fawcett CSE687-OnLine – Object Oriented Design Summer 2017
Design and Implementation
Jim Fawcett CSE775 – Distributed Objects Spring 2012
Jim Fawcett CSE687 – Object Oriented Design Spring 2016
Abstract Factory Pattern
CMPE419 Mobile Application Development
Intent (Thanks to Jim Fawcett for the slides)
CS360 Windows Programming
Introduction to Internet Programming
Jim Fawcett CSE687 – Object Oriented Design Spring 2009
Lecture 1 Making a C# GUI Program
Realizing Concurrency using Posix Threads (pthreads)
Web Development Using ASP .NET
Realizing Concurrency using the thread model
More Object-Oriented Programming
Chapter 7 –Implementation Issues
Realizing Concurrency using Posix Threads (pthreads)
Realizing Concurrency using the thread model
CSCE 221 Professor Lupoli TAMU CSCE 221 Intro.
CSE 153 Design of Operating Systems Winter 2019
Processes David Ferry, Chris Gill, Brian Kocoloski
CMPE419 Mobile Application Development
Jim Fawcett CSE681 – SW Modeling & Analysis Fall 2018
Automation and IDispatch
Jim Fawcett CSE687 – Object Oriented Design Spring 2014
Jim Fawcett CSE681 – Software Modeling and Analysis Fall 2006
Jim Fawcett CSE687 – Object Oriented Design Spring 2015
Presentation transcript:

Jim Fawcett CSE687 – Object Oriented Design Spring 2003 Assessment – C++ Jim Fawcett CSE687 – Object Oriented Design Spring 2003

C++ - Strengths Is very powerful Language emphasizes performance Can program at very low level or very high level of abstraction Has direct access to memory User defined objects are first class citizens Supports structured design, object oriented design, and generic design Has a flexible memory model – static, stack, and heap Language emphasizes performance You don’t pay for features you don’t use Almost no runtime checking Is platform agnostic Language and standard library apply to all platfroms Easy to isolate platform dependencies in small modules. Has a governing standard

C++ Strengths C++ is widely used There are a lot of resources available: Stroustrup’s Site Herb Sutter's Site CodeProject Chris Sell's Site Boost C++ Library C++ at Microsoft

C++ - Weaknesses C++ is a complex language Safety is not automatic Context dependent Has a lot of rules that are not enforced by the compiler Use virtual destructors Use initializers in constructors Don’t return references to temporaries Most rules have exceptions Compiler will generate void ctor, but only if no other ctor defined Compiler will always generate copy ctor Safety is not automatic No bounds checking Direct access to memory Can break the type system with casts Thrown exceptions can leave program in undefined state.

C++ - Weaknesses Things not supported by the language Threads and synchronization Directory services Graphical User Interfaces Network programming Internet programming Database operations

C# - Strengths

Ok, That’s a joke! I like C# too.

Resources To Help You Class Texts Reference in SciTech Library – Carnagie Hall, south east corner Friday morning help sessions: 9:00 – 12:00 in CST 2-120 Teaching Assistants: Office Hours Help Sessions One or two session covering Visual Studio IDE MadLab, 010 Link, scheduled as needed

End of Assessment