Talk: JVM Creature Comforts
Ghadi Shayban's talk at the conj is about the Java Virtual Machine. In case you don't know, the JVM was originally designed by James Gosling and originally only hosted Java. Recently, the JVM has become the target platform for some very popular languages, including Groovy, JRuby, Scala, and of course Clojure.
I always recommend studying up on history. James Gosling gave a talk a while ago about How the JVM Spec Came To Be. It's a personal history that chronicles the experiences that led up to the design decisions that are embedded in the JVM today. A good introduction to how the JVM method invocation works in bytecode (very basically) is Charles Nutter's keynote at JAX 2012. It's also a good introduction to invokedynamic and Method Handles, also mentioned in the talk description.
Briefly, invokedynamic is a way to dynamically dispatch based on language-specific semantics in a fast way. Method Handles are a way to refer to a method directly as first-class values. Some other things mentioned: value types are a proposal to support immutable aggregate types directly in Java. classdynamic is an idea for instantiating patterns of classes.
Why it matters
About Ghadi Shayban
This post is one of a series called Pre-conj Prep.
You may like the PurelyFunctional.tv Newsletter
For more inspiration, history, interviews, and trends of interest to functional programmers, get the free PurelyFunctional.tv Newsletter.
Clojure pulls in ideas from many different languages and paradigms, and also from the broader world, including music and philosophy. The PurelyFunctional.tv Newsletter shares that vision and weaves a rich tapestry of ideas from the daily flow of library releases to the deep historical roots of computer science.
Clojure/conj is a conference organized and hosted by Cognitect. This information is in no way official. It is not sponsored by nor affiliated with Clojure/conj or Cognitect. It is simply me curating and organizing public information about the conference.