John Rose is a consulting engineer at Oracle, working on the OpenJDK project. He started working on Java technology at Sun Microsystems in 1997, contributing widely to functionality and performance of the JDK stack. The variety of his past projects includes inner classes, the initial port of HotSpot to SPARC, the Unsafe API, profile-driven JIT optimizations, JVM metadata tuning for object processing, scripting language design and implementation, and Pack200 application compression. As a longtime member of the HotSpot compiler group, John has enjoyed participating in numerous JIT improvements that have helped make HotSpot a premier foundation for productive programming. Before joining Sun, John worked on dynamic and hybrid languages, including Common Lisp, Scheme ("esh"), and dynamic bindings for C++, as well as compiler advanced development. Still earlier he invented (with Guy Steele and Stephen Wolfram) the C* parallel language at Thinking Machines.
The JCP community named John Outstanding Spec Lead 2011 for "his excellence in ensuring consensus across the community -- both EG members and the wider JVM language community." He had previously been nominated for this honor in 2008 as well. Within the JCP program, John co-led JSR 200, which successfully standardized and improved a hyper-compression algorithm. As a member of the JSR 241 Expert Group, he contributed a semi-formal grammar to the Groovy scripting language. Most recently, as Spec Lead for JSR 292, he worked on specifying new support in the JVM standard for dynamic invocation and related facilities. JSR 292 won the JCP distinction Most Innovative JSR 2011 and Most Innovative Java SE/EE JSR 2006. John is founder of the Da Vinci Machine Project, which includes the Reference Implementation for JSR 292, as well as other more experimental JVM features to serve the needs of programming language implementors.
John blogs and speaks at technical conferences, including JavaOne, Oracle JVM Language Summit, and Microsoft Lang.NEXT. He has published several papers on invokedynamic, the JVM, and other topics for Principles and Practice of Programming in Java (PPPJ), Virtual Machines and Intermediate Languages (VMIL), Java Grande/ISCOPE (JGI), and other conferences. He holds two US patents, #6996825 "Method and apparatus for efficient object sub-typing," and #6711576 "Method and apparatus for implementing compact type signatures in a virtual machine environment."
John has a bachelor's in Mathematics with honors and a second bachelor's in English with honors, both from University of California, Santa Barbara, California (1983). He is a part-time high school teacher of Intellectual History. His appetite for learning is insatiable, luring him into history, literature, language, mathematics, physics, philosophy, and theology. He and his kids take turns playing on the piano, and he even goes outside for an occasional walk.