G ame P rogramming L anguages Jesse Forrest COP4020 10.14.05.

Slides:



Advertisements
Similar presentations
Overview of Data Structures and Algorithms
Advertisements

Compilers and Language Translation
OBJECT ORIENTED PROGRAMMING M Taimoor Khan
Programming Creating programs that run on your PC
Chapter 1: An Overview of Computers and Programming Languages J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program.
Software: Systems and Application Software
COMPSCI 125 Spring 2011 Section What is computer science? … the study of the theoretical foundations of information and computation and their implementation.
Chapter 3.2 C++, Java, and Scripting Languages. 2 C++ C used to be the most popular language for games Today, C++ is the language of choice for game development.
Chapter 3.2 C++, Java, and Scripting Languages “The major programming languages used in game development.”
CS 206 Introduction to Computer Science II 10 / 14 / 2009 Instructor: Michael Eckmann.
Data Structures Introduction. What is data? (Latin) Plural of datum = something given.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages C++ Programming:
Sadegh Aliakbary Sharif University of Technology Fall 2011.
C++ Crash Course Class 1 What is programming?. What’s this course about? Goal: Be able to design, write and run simple programs in C++ on a UNIX machine.
C++ for Java Programmers Chapter 1 Basic Philosophical Differences.
© Paradigm Publishing Inc Chapter 12 Programming Concepts and Languages.
Platforms for Learning in Computer Science July 28, 2005.
CHAPTER 4: INTRODUCTION TO COMPUTER ORGANIZATION AND PROGRAMMING DESIGN Lec. Ghader Kurdi.
Introduction 01_intro.ppt
Language Evaluation Criteria
Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.
Chapter 1 Coding Introduction.
Programming With Java ICS201 University Of Hail1 Chapter 12 UML and Patterns.
Starting Chapter 4 Starting. 1 Course Outline* Covered in first half until Dr. Li takes over. JAVA and OO: Review what is Object Oriented Programming.
Invitation to Computer Science 5th Edition
Introduction to Programming Lecture Number:. What is Programming Programming is to instruct the computer on what it has to do in a language that the computer.
Sadegh Aliakbary Sharif University of Technology Spring 2011.
Topics Introduction Hardware and Software How Computers Store Data
Converting Repeating Decimals to Fractions
สาขาวิชาเทคโนโลยี สารสนเทศ คณะเทคโนโลยีสารสนเทศ และการสื่อสาร.
Sadegh Aliakbary Sharif University of Technology Fall 2010.
UNIVERSITI TENAGA NASIONAL “Generates Professionals” CHAPTER 4 : Part 2 INTRODUCTION TO SOFTWARE DEVELOPMENT: PROGRAMMING & LANGUAGES.
Why Java? A brief introduction to Java and its features Prepared by Mithat Konar.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Cosc 2150: Computer Organization
Sadegh Aliakbary Sharif University of Technology Fall 2012.
Advanced Programming Collage of Information Technology University of Palestine, Gaza Prepared by: Mahmoud Rafeek Alfarra Lecture 2: Major Concepts of Programming.
1 2. Program Construction in Java Programming Fundamentals.
Visual C++ Programming: Concepts and Projects
Programming for Beginners Martin Nelson Elizabeth FitzGerald Lecture 5: Software Design & Testing; Revision Session.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages.
Software Design 1.1 Tapestry classes -> STL l What’s the difference between tvector and vector  Safety and the kitchen sink What happens with t[21] on.
Chapter 12 Computer Programming. Chapter Contents Chapter 12: Computer Programming 2  Section A: Programming Basics  Section B: Procedural Programming.
CS 206 Introduction to Computer Science II 02 / 23 / 2009 Instructor: Michael Eckmann.
Module 4 Part 2 Introduction To Software Development : Programming & Languages Introduction To Software Development : Programming & Languages.
1 Text Reference: Warford. 2 Computer Architecture: The design of those aspects of a computer which are visible to the programmer. Architecture Organization.
The course. Description Computer systems programming using the C language – And possibly a little C++ Translation of C into assembly language Introduction.
SWEN 5130Requirements Engineering Algebraic Specification Slide 1 Algebraic Specification u Specifying abstract types in terms of relationships between.
SNU OOPSLA Lab. 1 Great Ideas of CS with Java Part 1 WWW & Computer programming in the language Java Ch 1: The World Wide Web Ch 2: Watch out: Here comes.
FORTRAN History. FORTRAN - Interesting Facts n FORTRAN is the oldest Language actively in use today. n FORTRAN is still used for new software development.
Multiplying and Dividing Signed Integers
Introduction Mehdi Einali Advanced Programming in Java 1.
Chapter 1 An Overview of Computers and Programming Languages.
Programming Languages Salihu Ibrahim Dasuki (PhD) CSC102 INTRODUCTION TO COMPUTER SCIENCE.
Objective of the course Understanding the fundamentals of the compilation technique Assist you in writing you own compiler (or any part of compiler)
Design Pattern Introduction in Data Structures Purpose  Natural integration of patterns into data structures education Plan  Cover traditional topics.
Chapter 1 Coding Introduction.
Source Transformations
Programming Paradigms
Analysis and Comparison is ICS4U
CMSC201 Computer Science I for Majors Lecture 11 – Program Design
An Overview of Java.
An Introduction to Visual Basic .NET and Program Design
PROGRAMMING What is it?.
Coding Concepts (Sub- Programs)
Programming Paradigms
CMSC201 Computer Science I for Majors Lecture 12 – Program Design
Dr. Clincy Professor of CS
Presentation transcript:

G ame P rogramming L anguages Jesse Forrest COP

Topics Covered Evolution of Programming Languages How each level of programming languages affected game production. Future of programming languages in respect to game programmers.

Game Evolution Digital Circuits How did digital circuits affect programming languages? How was this an improvement from analog electronic development?

Game Evolution Digital Circuits

Game Evolution Assembly Language The birth of early game consoles Is Assembly a high-level or low-level language? What was the problem that game programmers ran into when using Assembly?

Game Evolution Assembly Language Pitfall - written in Assembly

Game Evolution C Language Why was the C language created? How did C make large scale game programming possible? What were the downsides of C in regards to gaming?

Game Evolution C Language

Game Evolution C++ and Java What was the benefit of C++ and Java:  Merge functions and data into a class  Object orientation helps modeling graphic interfaces, complex systems, and objects in games.  Java went a step further and added garbage collection.

Game Evolution C++ and Java What was poor about C++ and Java:  Modeled complex relationships between objects poorly.  C++ was not binary platform independent.  Java failed to have high performance.

Game Evolution C++ and Java

Game Evolution Next Generation What is parametric polymorphism? Allows you to use high-level algorithms and containers (arrays, trees, sorting routines) in a very general way. C++ attempts this concept poorly with templates.

Game Evolution Next Generation To simplify this concept lets look at the following task: // add arrays A, B. Put result in C. int A[10], B[10], C[10]; A solution is: int i; for (i=0;i<=9;i++) C[i] = A[i] + B[i];

Game Evolution Next Generation Beginners (newbies) would think that because they can add integers as C=A+B, and the arrays seem compatible that they should be able to type: C=A+B;

Game Evolution Next Generation Any C programmer would know that this syntax is incorrect, but try explaining it to a newbie. Whenever you can replace a complex piece of code with an equivalent simpler piece of code, you’ve multiplied your productivity as a programmer. This is the basic idea of polymorphism.

Game Languages: Past, Present, and Future An overview of what we have discussed: click here.click here For an overall view of the history of games due to programming languages: click here. click here