# What’s in the Bag: Java, But Make It Modern

*Part 1 of a new series on JVM technologies, Kotlin, and the tools worth your time in 2025.*

For the past three decades, I’ve had a complicated relationship with Java. It was one of the first languages I wrote “real” software in, but over the years I drifted toward more expressive, flexible ecosystems — Ruby, Elixir, TypeScript. Java always felt like something you had to fight a little to enjoy.

But lately, something’s shifted.

I’ve been circling back to the JVM, not because I miss Java, but because I’ve been pulled in by **Kotlin** — a language that manages to feel modern, expressive, and dare I say… joyful?

If Java is the multi-tool that gets the job done, Kotlin is the well-balanced wedge that just feels right in your hand.

---

## So what’s this series?

This “What’s in the Bag” JVM series is my way of exploring the tools and ideas that are making Java exciting again — at least for me. I'm focusing less on traditional enterprise stacks and more on **lightweight, elegant technologies** that feel closer to the kind of development I enjoy in TypeScript.

Here’s what you can expect:

1. **A Kotlin primer** – Why I think it’s the best thing I’ve used on the JVM in a long time.
    
2. **A look at Ktor** – A JetBrains-built server framework that makes writing APIs in Kotlin surprisingly fun.
    
3. **Some working examples** – APIs, dev tools, and patterns that remind me of the joy of fast iteration.
    
4. **A few comparisons** – Why these tools are worth a second look even if you’ve moved past Java.
    

---

## Why Kotlin?

Kotlin hits a sweet spot that few languages do:

* **Null safety that works**
    
* **Coroutines and structured concurrency**
    
* **First-class tooling from JetBrains**
    
* **Concise syntax with real type safety**
    

And maybe most surprisingly — it’s just *fun* to write.

If you’ve ever thought *“I wish JavaScript had a type system that didn’t hate me”*, or *“I wish TypeScript ran on the server with real threads”*, Kotlin might be your thing.

---

## Where this is going

I’m going to keep each entry focused, digestible, and grounded in real code. The goal isn’t to teach Kotlin from scratch — it’s to show what makes these tools **worth your time** in 2025, even if you never thought you’d look at a `.kt` file again.

Let’s get back in the bag.

---

### Next Up: Kotlin for TypeScript Developers

We'll explore Kotlin's core features, what makes it elegant, and how it compares to the tools you already know.
