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