<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Immutability on JAVAPRO International</title><link>https://javapro-en.svenruppert.com/tags/immutability/</link><description>Recent content in Immutability on JAVAPRO International</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Thu, 07 May 2026 07:00:01 +0000</lastBuildDate><atom:link href="https://javapro-en.svenruppert.com/tags/immutability/index.xml" rel="self" type="application/rss+xml"/><item><title>Kotlin kontra Java - Part 3 - Language for Interop</title><link>https://javapro-en.svenruppert.com/kotlin-kontra-java-part-3-language-for-interop/</link><pubDate>Thu, 07 May 2026 07:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/kotlin-kontra-java-part-3-language-for-interop/</guid><description>&lt;p&gt;When you start a new project on the JVM, should you pick Java or Kotlin? Why not both?&lt;/p&gt;
&lt;p&gt;You can use any Java library you want in Kotlin, you can even co-write your software in both languages (e.g. one team I work with writes their JUnit tests in Kotlin, their main code in Java) and migrate to Kotlin or back to Java over time. &lt;a href="https://kotlinlang.org/docs/java-interop.html"&gt;Kotlin is designed with Java interoperability in mind&lt;/a&gt;, because JetBrains wanted to migrate their IDEs (IntelliJ IDEA, WebStorm, etc.) incrementally to the language. But how does that work? What does Kotlin do, so that interop to this degree becomes possible?&lt;/p&gt;</description></item><item><title>Security in the Age of Java 25: New Language Tools for Safer Code</title><link>https://javapro-en.svenruppert.com/security-in-the-age-of-java-25-new-language-tools-for-safer-code/</link><pubDate>Tue, 30 Dec 2025 07:00:03 +0000</pubDate><guid>https://javapro-en.svenruppert.com/security-in-the-age-of-java-25-new-language-tools-for-safer-code/</guid><description>&lt;p&gt;Security is more than just encryption - it&amp;rsquo;s also about how you write code. There are several Java security features that can help prevent logic bugs, misuse of types, and unexpected state mutations. Learn how sealed classes, pattern matching, and records can reinforce domain modeling, reduce null checks, and prevent injection-prone scenarios.&lt;/p&gt;
&lt;h2 id="introduction-why-java-security-features-matters-more-than-ever"&gt;Introduction: Why Java security features Matters More Than Ever&lt;/h2&gt;
&lt;p&gt;Application security has never been a static field. Over the past two decades, the Java platform has evolved not just as a runtime for enterprise applications but as a trusted foundation for industries ranging from finance and healthcare to government systems. Security breaches, once attributed primarily to poor encryption or missing authentication, now more often stem from subtler flaws: unchecked input, leaky abstractions, and poorly modeled domain logic.&lt;/p&gt;</description></item></channel></rss>