Java & Programing languagesConference50min
The (De)-Evolution of Java
This talk traces Java’s evolution by “running” a Java 25 program backward through earlier versions, removing newer features and fixing code to keep it working. The example reveals how much Java has changed over time and offers insight into its philosophy of gradual language evolution.
talk.summaryAiDisclaimer
Ben EvansIBM / Red Hat
Programming languages evolve over time, as new features and better ways of working arrive. However, in many cases, the overall extent of just how much change is occurring (& how quickly) can be obscured.
In this talk, we'll take a moment to pause and consider an extended example that illustrates just how much things have changed, using a novel way of approaching the ideas of "growing a language", using a novel way of approaching the ideas of "growing a language".
By starting from an example Java 25 program and "running it backwards" through the versions, losing language features as we go and noting the fixes that need to happen to make it continue to run we will build up a picture of just how much Java has evolved in recent years.
Along the way, we'll meet some unexpected results, and gain some deeper insight into Java's philosophy of gradual language evolution.
In this talk, we'll take a moment to pause and consider an extended example that illustrates just how much things have changed, using a novel way of approaching the ideas of "growing a language", using a novel way of approaching the ideas of "growing a language".
By starting from an example Java 25 program and "running it backwards" through the versions, losing language features as we go and noting the fixes that need to happen to make it continue to run we will build up a picture of just how much Java has evolved in recent years.
Along the way, we'll meet some unexpected results, and gain some deeper insight into Java's philosophy of gradual language evolution.
Ben Evans
Ben Evans is a Java Champion and Senior Principal Software Engineer at IBM, where he is the Technical Lead for Observability for Red Hat Cloud Native Runtimes. Previously he was Lead Architect for Instrumentation at New Relic, and co-founded jClarity, a performance tools startup acquired by Microsoft.
He has also worked as Chief Architect for Listed Derivatives at Deutsche Bank and as Senior Technical Instructor for Morgan Stanley. He served for 6 years on the Java Community Process Executive Committee, helping define new Java standards.
Ben is the author of eight books, including "Optimizing Cloud Native Java", “Java in a Nutshell” and the “The Well-Grounded Java Developer” and writes regularly for Oracle's Java Magazine and other industry publications. He speaks regularly at conferences worldwide.
He has also worked as Chief Architect for Listed Derivatives at Deutsche Bank and as Senior Technical Instructor for Morgan Stanley. He served for 6 years on the Java Community Process Executive Committee, helping define new Java standards.
Ben is the author of eight books, including "Optimizing Cloud Native Java", “Java in a Nutshell” and the “The Well-Grounded Java Developer” and writes regularly for Oracle's Java Magazine and other industry publications. He speaks regularly at conferences worldwide.