> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ailuruslabs.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Learning Java in 2026

This post comes after the Java User Group PH meetup last night (July 9, 2026), where, after my [talk](https://pitch.com/v/catching-up-with-the-java-renaissance-dabzzg), a few of my peers asked me for some advice on progressing their Java learning journey.

Before I lay out my response though, here's my obligatory self-evaluation: **I'm not going to claim that I'm a Java expert**; I know that I'm not there yet. Being an *expert* takes more than knowing, after all. But, I feel confident enough to share my journey so far because I think you too can learn something from it. Alas, it's not my goal to be the authority here, but rather, a peer in the same learning journey.

Got it? Alright, onward, then!

## Getting the motivation

Perhaps the hardest part in learning *anything* is first getting the motivation to start. Before you even open a book, enroll in a course, or pull up a YouTube video, you need to ask yourself why you want to learn Java at all.

1. **Is it for the promise of job opportunities?** Web development is incredibly popular right now, and you'd likely discover just as many opportunities there. Why Java specifically?
2. **Is it because you hear it's one of the most popular languages out there?** Well, yes, it might be the biggest programming language out there. But there's also C#, Kotlin if you're interested in mobile development, and Python if you're looking to get involved in AI.

I'm sure there are more questions one could ask to him or herself, but I hope the two I wrote above gave you something to mull over.

### What motivated me

I jumped around several languages, from C#, C++, Python, and *almost* Rust, before I found Java again thanks to our Object-Oriented Programming course last year, in my 2nd year of college. This alone gave me a *reason* to come back to Java.

It was then I realized that I loved the idea of building *maintainable* software, which I'm sure you'll find is one of the core promises of the Java SE platform. I started thinking that I didn't want to just write code, I wanted to make them last for long, and in such a way that fellow developers could easily pick it apart.

That's not to say you can't build maintainable software in other programming languages. In fact, you might find sometimes that it has a few big limitations when it's put up against native programming languages like C, C++, and Rust (See [State of Valhalla, Part 1: The Road to Valhalla](https://openjdk.org/projects/valhalla/design-notes/state-of-valhalla/01-background)).

The special thing I saw in Java was how *everything* just made sense. Yes, it's verbose, but I think that's part of what makes it special: it doesn't try to bury everything in *syntactic sugar*.

<Card title="What is syntactic sugar?" type="info">
  *Syntactic sugar* is the set of language features that make certain ideas and operations easier to program, typically by offering certain keywords or syntax that accomplish the same outcome as more/longer lines of code.

  A good example is Python's list comprehension feature:

  ```python theme={"theme":{"light":"catppuccin-frappe","dark":"catppuccin-macchiato"}}
  even_nums = [x for x in range(10) if x % 2 == 0]
  ```

  Which is syntactic sugar for:

  ```python theme={"theme":{"light":"catppuccin-frappe","dark":"catppuccin-macchiato"}}
  even_nums = []

  for x in range(10):
      if x % 2:
          even_nums.append(x)
  ```
</Card>
