Overview
Explore the challenges and insights gained from porting Doom 3 to Java in this 52-minute Devoxx conference talk. Delve into the fundamentals of game development and discover why Java, despite its widespread use, hasn't become a major player in video game development. Learn about the differences between Java and C++, including operator overloading, unsigned primitives, and memory management. Examine areas where Java could improve by learning from C++, as well as instances where Java surpasses its counterpart. Gain valuable insights into topics such as immutability, pointers, macros, and floating-point operator precedence. Uncover the lessons learned from this ambitious project and consider the potential for Java's future in game development.
Syllabus
Intro
Boring intro: history
Operator overloading
Unsigned primitives
Immutability: const vs final
Pointers
Death by Macros
Hungarian Camels
Unholy union
Destructor
Default arguments
The memory watcher
Pop goes the callstack
Floating point operator precedence
Conditional breakpoints
A backwards compatible story?
Taught by
Devoxx