<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Scala on JAVAPRO International</title><link>https://javapro-en.svenruppert.com/tags/scala/</link><description>Recent content in Scala on JAVAPRO International</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Tue, 27 Jan 2026 07:00:01 +0000</lastBuildDate><atom:link href="https://javapro-en.svenruppert.com/tags/scala/index.xml" rel="self" type="application/rss+xml"/><item><title>What I (Still) Miss: My Most Wanted Java Features</title><link>https://javapro-en.svenruppert.com/what-i-still-miss-my-most-wanted-java-features/</link><pubDate>Tue, 27 Jan 2026 07:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/what-i-still-miss-my-most-wanted-java-features/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;Java, the grandfather of JVM languages, continues to evolve and is becoming richer in features with each update, thus steadily improving the productivity of developers. In parallel with this evolution, other languages have popped up with their own sets of features (and often with more freedom to experiment than Java). Some of these features have made their way into Java, others will be added eventually, and others may continue to be debated for quite some time.&lt;br&gt;
This article is written from the perspective of a Java programmer (and teacher) who also writes plenty of Scala (and a few other languages). Through code examples, it discusses a few of the features I miss the most when returning to Java, namely inferred semicolons, tuples, named arguments, local functions, tail-recursion optimization, type aliases, opaque types, and variance annotations.&lt;/p&gt;</description></item><item><title>Untapped Potential in the Java Build Tool Experience</title><link>https://javapro-en.svenruppert.com/untapped-potential-in-the-java-build-tool-experience/</link><pubDate>Thu, 23 Oct 2025 07:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/untapped-potential-in-the-java-build-tool-experience/</guid><description>&lt;p&gt;The Java language is known to be fast, safe, and easy, but Java build tools like Maven or Gradle don&amp;rsquo;t always live up to that reputation. This article will explore what &amp;ldquo;could be&amp;rdquo;: where current Java build tools fall short in performance, extensibility, and IDE experience, and the reasons to believe that we can do better. We will end with a demonstration of an experimental build tool &amp;ldquo;Mill&amp;rdquo; that makes use of these ideas, proving out the idea that Java build tooling has the potential to be much faster and easier to use than it is today.&lt;/p&gt;</description></item><item><title>The Rise of JVM Languages: Kotlin, Scala, Groovy, and More</title><link>https://javapro-en.svenruppert.com/the-rise-of-jvm-languages-kotlin-scala-groovy-and-more/</link><pubDate>Thu, 09 Oct 2025 07:00:00 +0000</pubDate><guid>https://javapro-en.svenruppert.com/the-rise-of-jvm-languages-kotlin-scala-groovy-and-more/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;As Java marks its 30th anniversary in 2025, it remains a foundational force in software development. However, one of its most enduring contributions is not just the language itself but the Java Virtual Machine (JVM). The JVM has paved the way for numerous modern programming languages by providing a stable, efficient, and interoperable runtime environment.&lt;/p&gt;
&lt;p&gt;Over the years, developers have embraced JVM-based languages. These languages offer alternative syntax styles, functional programming paradigms, and dynamic scripting capabilities. At the same time, they maintain seamless compatibility with Java. This article explores the growth of JVM languages. It highlights Kotlin, Scala, and Groovy, along with other influential options such as Clojure, JRuby, and Jython. These languages have extended the reach of the JVM, empowering developers with increased flexibility and productivity.&lt;/p&gt;</description></item></channel></rss>