In this presentation from the JVM Language Summit 2009, Allison Randal discusses what it means for a language to be dynamic, the spectrum between static and dynamic languages, dynamic typing, dynamic dispatch, introspection, dynamic compilation, dynamic loading, and a summary of the main differences between static and dynamic.
In this presentation from the JVM Languages Summit 2009, Cliff Click discusses the Von Neumann architecture, CISC vs RISC, the rise of multicore, Instruction-Level Parallelism (ILP), pipelining, out-of-order dispatch, static vs dynamic ILP, performance impact of cache misses, memory performance, memory vs CPU caching, examples of memory/CPU cache interaction, and tips for improving performance.
Neal Gafter explains why Microsoft has introduced dynamic typing in C# 4.0, what it is useful for - Interoperate with dynamic languages, Using reflection-like API, Interacting with COM -, what is DLR, and why they have chosen the dynamic type instead of other possible solutions.
In this presentation, Charles Nutter discusses JRuby, invokedynamic, JRuby performance, Duby, the motivation behind creating Duby, Duby syntax, future plans for Duby, Surinx, the motivation behind creating Surinx, and how Duby and Surinx are helping JRuby.
David Pollak makes an introduction to Scala showing how basic language constructs like boxing, generics, structural types, tail calls, and others, are used and how they are translated into byte code.
In his keynote at JVM Languages Summit 2009, Rich Hickey advocated for the reexamination of basic principles like state, identity, value, time, types, genericity, complexity, as they are used by OOP today, to be able to create the new constructs and languages to deal with the massive parallelism and concurrency of the future.
In this presentation from the JVM Languages Summit 2008, Neal Gafter discusses closures on the JVM. Topics covered include the JVM libraries, the challenges of running other languages on the JVM, language-specific wrapper/shim libraries, ways of making the JVM more language-friendly, whether lambda expressions are too hard, the history of closures, and forking the JVM to support closures.
In this presentation from the JVM Languages Summit 2008, David Chase discusses Fortress, a Fortran-based highly parallel programming language. Topics covered include the origins of Fortress, mathematical syntax, the challenges of running on the JVM, parsing, work stealing, transactions, continuations, problems with blocking, the type system, type mapping, multiple dispatch and profiling.
In this presentation from the JVM Languages Summit 2008, Charles Nutter discusses bringing JRuby to the JVM, why Ruby is hard to implement, JIT compilation, precompilation, core Ruby implementation, Java library method access, method call semantics, scopes, open classes, heap-based frames, library challenges, strings, regexps, I/O, green threads, POSIX features, C lib support and future plans.
In this presentation from the JVM Languages Summit 2008, John Pampuch discusses the HotSpot compiler, the history of Java performance, HotSpot development philosophies and challenges, optimization, inlining, virtual methods, loop unrolling, constant folding, escape analysis, synchronization improvements, JVM library improvements, processor-specific optimizations, and tips for better performance.
In this presentation from the JVM Languages Summit 2008, Rich Hickey discusses Clojure, which is an implementation of Lisp. Topics covered include Clojure features and syntax, example code, interoperation with Java, Clojure and functional programming, persistent data structures, concurrency semantics, references, transactions, software transactional memory, agents, implementation and pain points.