Why Java for HEP Computing?
Previous generation of experiments used Fortran + Data Management System (== Jazelle, Zebra, BOS)
Solves Three Problems
- Ability to Represent Complex Data Structures
- Persistence (i.e. read in and write out complex structures)
- Run time access to named data in structures (for analysis)
Now time has marched on and modern experiments use C++
- Represent Complex Data
- Persistence
- Run time access to data
- Still need to build (or buy and deploy) data management system (e.g. Root, Objectivity)
Java
- Represent Complex Data
- Persistence (serialization)
- Run time access to data (reflection)
- support built-in to language