Alex Buckley presents some of the challenges for JVM to become a universal virtual machine, serving the needs of Java and non-Java languages, being useful both to statically and dynamically-typed languages, and supporting an ever growing number of languages and their features targeting the platform.
Mark Thomas explains what are the common OutOfMemoryError failures that could appear when running Java applications, showing how to diagnose such errors. He also discusses the JVM and tc Server configuration parameters affecting memory settings.
Tom Enebo explains reasons for choosing JRuby: Hotspot optimizations, JVM Garbage Collectors, tools like profilers. Also: how JRuby helps to write cleaner, more expressive code with Java libraries.
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.
Jonas Bonér talks about Scala: using OO and the type system to create reusable components, using closures, high-order functions, immutability to create coherent and deterministic code, using Actors to create concurrent and event-driven systems, and using ORM, AOP, DI and Testing with Scala.
Erlang is built on 3 components: language, OTP, and VM. Francesco Cesarini explains the role played by each component in order to ensure Erlang’s highly successful concurrency model which has been used in communication systems for more than 15 years. The presentation is accompanied by live demos and many questions are taken from the audience.
In this presentation recorded at QCon London 2009, after a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed in front of the audience.
In this presentation recorded at QCon London 2008, Ola Bini talks about the current status of the JVM regarding languages running on top of it and the need to evolve in order to support dynamic languages.
A look at the different Ruby virtual machines (JRuby, MagLev, IronRuby, Rubinius, MacRuby) and how to choose what fits best within the enterprise.
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.