Introducing C++ to Java Programmers by Kip Irvine updated 2/27/2003.

Slides:



Advertisements
Similar presentations
Chapter 19 Standard Template Library. Copyright © 2006 Pearson Addison-Wesley. All rights reserved Learning Objectives Iterators Constant and mutable.
Advertisements

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 12 Introduction to ASP.NET.
Copyright 2001, ActiveState. XSLT and Scripting Languages or…XSLT: what is everyone so hot and bothered about?
C++ Language Fundamentals. 2 Contents 1. Introduction to C++ 2. Basic syntax rules 3. Declaring and using variables.
Introduction to C++ Programming. Brief Facts About C++ Evolved from C Designed and implemented by Bjarne Stroustrup at the Bell Labs in the early 1980s.
Buffer Overflow Causes. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle. Buffer Overflow Causes Author: Jedidiah.
Lab#1 (14/3/1431h) Introduction To java programming cs425
Java.  Java is an object-oriented programming language.  Java is important to us because Android programming uses Java.  However, Java is much more.
George Blank University Lecturer. CS 602 Java and the Web Object Oriented Software Development Using Java Chapter 4.
Nov 10, Fall 2006IAT 8001 Debugging. Nov 10, Fall 2006IAT 8002 How do I know my program is broken?  Compiler Errors –easy to fix!  Runtime Exceptions.
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++
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Chapter 15 - C++ As A "Better C" Outline 15.1Introduction.
CS1061: C Programming Lecture 22: A Brief Look at C++ A. O’Riordan, 2004.
1 ICS103 Programming in C Lecture 2: Introduction to C (1)
C++ vs. Java: Similiarities & Differences Dr. Jeyakesavan Veerasamy Director of CS UTDesign program & CS Teaching Faculty University.
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.
Honors 101, Fall 2006 Please do not sit in back of room! Lots of info on web page Join the mailing list Download Eclipse and start using it Read the text.
Introduction To C++ Programming 1.0 Basic C++ Program Structure 2.0 Program Control 3.0 Array And Structures 4.0 Function 5.0 Pointer 6.0 Secure Programming.
Lecture 1: Overview of Java. What is java? Developed by Sun Microsystems (James Gosling) A general-purpose object-oriented language Based on C/C++ Designed.
 2000 Prentice Hall, Inc. All rights reserved. 1 Introduction to Computers and C Programming Outline Introduction What Is a Computer? Computer Organization.
Sadegh Aliakbary Sharif University of Technology Fall 2011.
Java Security Updated May Topics Intro to the Java Sandbox Language Level Security Run Time Security Evolution of Security Sandbox Models The Security.
Python Introduction.
COMPUTER PROGRAMMING. Introduction to C++ History Merges notions from Smalltalk and notions from C The class concept was borrowed from Simular67 Developed.
JAVA v.s. C++ Programming Language Comparison By LI LU SAMMY CHU By LI LU SAMMY CHU.
C++ for Java Programmers Chapter 1 Basic Philosophical Differences.
“C” Programming Language CIS 218. Description C is a procedural languages designed to provide lowlevel access to computer system resources, provide language.
Java Security. Topics Intro to the Java Sandbox Language Level Security Run Time Security Evolution of Security Sandbox Models The Security Manager.
Effective C# 50 Specific Way to Improve Your C# Item 50 Scott68.Chang.
CS 350 Operating Systems & Programming Languages Ethan Race Oren Rasekh Christopher Roberts Christopher Rogers Anthony Simon Benjamin Ramos.
CSCI 224 Introduction to Java Programming. Course Objectives  Learn the Java programming language: Syntax, Idioms Patterns, Styles  Become comfortable.
 2008 Pearson Education, Inc. All rights reserved Introduction to Computers, the Internet and World Wide Web.
C++ Programming. Table of Contents History What is C++? Development of C++ Standardized C++ What are the features of C++? What is Object Orientation?
Sadegh Aliakbary Sharif University of Technology Spring 2011.
CSC300 Visual Programming Dr. Craig Reinhart. Objectives Teach the basics of C++ –You won’t be an expert but hopefully a very good novice –GUI development.
1 8/29/05CS360 Windows Programming Professor Shereen Khoja.
11 Getting Started with C# Chapter Objectives You will be able to: 1. Say in general terms how C# differs from C. 2. Create, compile, and run a.
Jun 16, 2014IAT 2651 Debugging. Dialectical Materialism  Dialectical materialism is a strand of Marxism, synthesizing Hegel's dialectics, which proposes.
C++
Why Java? A brief introduction to Java and its features Prepared by Mithat Konar.
Introduction to Programming. When you program, you are programming the instruction set of the CPU (machine language). Intel 8080 CPU.
By – Tanvir Alam.  This tutorial offers several things.  You’ll see some neat features of the language.  You’ll learn the right things to google. 
Sadegh Aliakbary Sharif University of Technology Fall 2012.
Algorithm Programming Bar-Ilan University תשס"ח by Moshe Fresko.
Introduction and Features of Java. What is java? Developed by Sun Microsystems (James Gosling) A general-purpose object-oriented language Based on C/C++
Applied Computing Technology Laboratory QuickStart C# Learning to Program in C# Amy Roberge & John Linehan November 7, 2005.
Robert Crawford, MBA West Middle School.  Explain how the binary system is used by computers.  Describe how software is written and translated  Summarize.
C++ History C++ was designed at AT&T Bell Labs by Bjarne Stroustrup in the early 80's Based on the ‘C’ programming language C++ language standardised in.
C# Language Panithan Chandrapatya Agenda C# History C# Goals C# Fixes C# Contribution C# Features C# Success C# Example.
COP4020 Programming Languages Names, Scopes, and Bindings Prof. Xin Yuan.
Pointers and Dynamic Memory Allocation Copyright Kip Irvine 2003, all rights reserved. Revised 10/28/2003.
1 Dynamic Memory Allocation –The need –malloc/free –Memory Leaks –Dangling Pointers and Garbage Collection Today’s Material.
Computer Programming 2 Why do we study Java….. Java is Simple It has none of the following: operator overloading, header files, pre- processor, pointer.
We will talking about story of JAVA language. By Kristsada Songpartom.
Introduction to c++ programming - object oriented programming concepts - Structured Vs OOP. Classes and objects - class definition - Objects - class scope.
CS 11 C++ track: lecture 1 Administrivia Need a CS cluster account sysadmin/account_request.cgi Need to know UNIX (Linux)
Chapter 3 - Language Design Principles
1. An Introduction A Programming Language A Technology Java Development Kit Java API One Language: Three Editions Standard Edition Enterprise Edition.
Protecting C Programs from Attacks via Invalid Pointer Dereferences Suan Hsi Yong, Susan Horwitz University of Wisconsin – Madison.
Java Example Presentation of a Language. Background Conception: Java began as a language for embedded processors in consumer electronics, such as VCR,
CMSC 202 Advanced Section Classes and Objects: Object Creation and Constructors.
Slides by Kent Seamons and Tim van der Horst Last Updated: Nov 11, 2011.
Introduction to C# Programming with Microsoft.NET AY
Intro. to Computer Programming Eng. Nehal A. Mohamed Spring Semester-2016.
Sung-Dong Kim, Dept. of Computer Engineering, Hansung University Java - Introduction.
Language-Based Security: Overview of Types Deepak Garg Foundations of Security and Privacy October 27, 2009.
Eugene Hsu.
Ada – 1983 History’s largest design effort
Brought to you by C++ Tutorial Brought to you by
.Net Framework Details Imran Rashid CTO at ManiWeber Technologies.
Presentation transcript:

Introducing C++ to Java Programmers by Kip Irvine updated 2/27/2003

Copyright 2003, Kip Irvine. All rights reserved. Philosophy of C++ Bjarne Stroustrup invented C++ in the early 1980's at Bell Laboratories. First called "C with classes". Design Goals:  Compatibility with existing ANSI C code (C++ compilers must compile ANSI C programs)  Object-oriented capabilities  Efficient running speed (native code, little or no runtime checks)  Simple language syntax (semantics are complex!) Constantly Evolving  compiler vendors are always behind the latest standard  example: templates and namespaces came later

Copyright 2003, Kip Irvine. All rights reserved. Compatibility C++ standard is intentionally fuzzy on many implementation details For a long time, C++ was not standardized, so compiler vendors interpreted the specification in a variety of ways.  examples: string class, container library, input/output formatting  be suspicious of any C++ compiler released before

Copyright 2003, Kip Irvine. All rights reserved. Important C++ Libraries Standard C Library  low-level functions for manipulating strings, arrays, input- output, and math. Not object-oriented. Standard C++ Library  containers and algorithms  incorporates many classes from the Standard C library. STL (Standard Template Library)  Containers and Algorithms  Documented and distributed by Silicon Graphics:  Similar to Standard C++ library

Copyright 2003, Kip Irvine. All rights reserved. Books on C++ Eckel, Bruce. Thinking in C++ (2/e). Prentice-Hall, Stroustrup, Bjarne. The C++ Programming Language (3/e). Addison-Wesley, Stroustrup, Bjarne. The Design and Evolution of C++ by Bjarne Stroustrup. Lippman, Stan. The C++ Primer (3/e). Addison- Wesley, Irvine, Kip. C++ and Object-Oriented Programming. Prentice-Hall, 1997.

Copyright 2003, Kip Irvine. All rights reserved. C++'s Lax Security C++ alllows unsecure or unsafe code to compile and run. Examples:  uninitialized variables can be used  programmers must do their own garbage collection  memory leaks can result  dangling pointer can crash a program  no index checking on arrays might crash, or might corrupt other data  buffer overflow (common hacker attack)  invalid typecasts

Copyright 2003, Kip Irvine. All rights reserved. Multithreading Not part of C++ language Supported by specific compiler vendor libraries  example: Microsoft Foundation Classes (MFC)

Copyright 2003, Kip Irvine. All rights reserved. But C++ is Really OK Don't let the previous slides scare you  just have to learn to be careful C++ is a great language, with a huge installed code base  most of the world uses C++ for high-performance applications You can get paid a lot of money if you're good Might have to learn the Windows API  (spend another year doing that) Alternative: managed code in Microsoft C++.Net

Copyright 2003, Kip Irvine. All rights reserved. The End