Andrey Breslav introduces the upcoming Kotlin language created by JetBrains, a general purpose JVM-based language, statically typed, object-oriented, and meant to be more concise than Java.
Jevgeni Kabanov creates a CPU model in Java in an attempt to explain the underlying mechanism of memory performance bottlenecks and the need for a correlated hardware, OS and JVM improvement.
As Java continues to age, many developers ask how a language for general purpose & business computing would look if designed today. The result is Ceylon - a prototype language for the JVM which attempts to combine the strengths of Java with the power of higher order functions and declarative programming. This talk from QCon Beijing 2011, Gavin King introduces Ceylon for the first time.
Danny Coward talks on how Oracle intends to maintain Java in the front line by investing in two features that are trendy today: support for multiple JVM languages and parallel programming.
Ola Bini offers advice to those interested in using the JVM with languages other than Java, talking about language interoperability, polyglot patterns, build tools, tweaking the JVM, and JVM tools.
Guy Steele, Douglas Crockford, Josh Bloch, Alex Payne, Bruce Tate, and Ted Neward (moderator) hold a discussion on the future of programming. Topics included: the future beyond functional, running JVM/CLR on many cores, what is the future of type checking and type systems, languages for education, comparing DSLs and ubiquitous languages, proving code correctness, functional and parallelism.
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.