#modernjava — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #modernjava, aggregated by home.social.
-
Post-OOP Imperative Functional Java.
Model the process. Not the domain.Most Java code still asks the wrong question:
"What is this domain object?"
But production systems fail, scale, and burn because of processes, not nouns.If your system is a sequence of irreversible steps, model it as a sequence,
not as interacting objects pretending to be immortal.This follows ideas from Railway-Oriented Programming (ROP):
errors and decisions are values, not control-flow side effects.Modeling the process means you can read this top to bottom
and understand exactly what happens.
No debugger. No IDE magic. No tribal knowledge.Control flow is explicit.
You see the execution order.
Nothing hides in constructors, annotations, or overrides.Failure is a first-class concept.
Once it fails or decides early, nothing else runs.
No exception archaeology.Processes > Objects.
Real systems are workflows where refactoring is safe.Steps are reordered, removed, or replaced
without collapsing a class hierarchy.
Testing is trivial, small stepwise context — even for an AI.Feed input. Assert final result.
No mocking five layers of indirection.GraalVM / native-friendly.
No reflection rituals.
The compiler smiles.Objects are great for long-lived entities.
User actions, payments, rules, and failures are short-lived processes.I model what happens,
not what pretends to exist forever.Influenced by:
Railway-Oriented Programming,
Functional Core / Imperative Shell,
Workflow / Saga patterns,
Command pipelines,
Unix philosophy,
and value-oriented libraries like Vanilla-DI.Don't be stuck in axioms.
#PostOOP
#ImperativeFunctional
#ProcessOverObjects
#ModelTheProcess
#WorkflowFirst
#RailwayOrientedProgramming
#FunctionalCore
#ImperativeShell
#CommandPipeline
#ExplicitControlFlow
#ValueOrientedDesign
#ProcessModeling
#FailFast
#NoExceptionArchaeology
#ComposableSystems
#NativeFriendly
#GraalVM
#NoReflection
#DeterministicCode
#RefactorSafe
#SagaPattern
#UnixPhilosophy
#VanillaDI
#ModernJava
#ArchitectureMatters -
Post-OOP Imperative Functional Java.
Model the process. Not the domain.Most Java code still asks the wrong question:
"What is this domain object?"
But production systems fail, scale, and burn because of processes, not nouns.If your system is a sequence of irreversible steps, model it as a sequence,
not as interacting objects pretending to be immortal.This follows ideas from Railway-Oriented Programming (ROP):
errors and decisions are values, not control-flow side effects.Modeling the process means you can read this top to bottom
and understand exactly what happens.
No debugger. No IDE magic. No tribal knowledge.Control flow is explicit.
You see the execution order.
Nothing hides in constructors, annotations, or overrides.Failure is a first-class concept.
Once it fails or decides early, nothing else runs.
No exception archaeology.Processes > Objects.
Real systems are workflows where refactoring is safe.Steps are reordered, removed, or replaced
without collapsing a class hierarchy.
Testing is trivial, small stepwise context — even for an AI.Feed input. Assert final result.
No mocking five layers of indirection.GraalVM / native-friendly.
No reflection rituals.
The compiler smiles.Objects are great for long-lived entities.
User actions, payments, rules, and failures are short-lived processes.I model what happens,
not what pretends to exist forever.Influenced by:
Railway-Oriented Programming,
Functional Core / Imperative Shell,
Workflow / Saga patterns,
Command pipelines,
Unix philosophy,
and value-oriented libraries like Vanilla-DI.Don't be stuck in axioms.
#PostOOP
#ImperativeFunctional
#ProcessOverObjects
#ModelTheProcess
#WorkflowFirst
#RailwayOrientedProgramming
#FunctionalCore
#ImperativeShell
#CommandPipeline
#ExplicitControlFlow
#ValueOrientedDesign
#ProcessModeling
#FailFast
#NoExceptionArchaeology
#ComposableSystems
#NativeFriendly
#GraalVM
#NoReflection
#DeterministicCode
#RefactorSafe
#SagaPattern
#UnixPhilosophy
#VanillaDI
#ModernJava
#ArchitectureMatters -
Post-OOP Imperative Functional Java.
Model the process. Not the domain.Most Java code still asks the wrong question:
"What is this domain object?"
But production systems fail, scale, and burn because of processes, not nouns.If your system is a sequence of irreversible steps, model it as a sequence,
not as interacting objects pretending to be immortal.This follows ideas from Railway-Oriented Programming (ROP):
errors and decisions are values, not control-flow side effects.Modeling the process means you can read this top to bottom
and understand exactly what happens.
No debugger. No IDE magic. No tribal knowledge.Control flow is explicit.
You see the execution order.
Nothing hides in constructors, annotations, or overrides.Failure is a first-class concept.
Once it fails or decides early, nothing else runs.
No exception archaeology.Processes > Objects.
Real systems are workflows where refactoring is safe.Steps are reordered, removed, or replaced
without collapsing a class hierarchy.
Testing is trivial, small stepwise context — even for an AI.Feed input. Assert final result.
No mocking five layers of indirection.GraalVM / native-friendly.
No reflection rituals.
The compiler smiles.Objects are great for long-lived entities.
User actions, payments, rules, and failures are short-lived processes.I model what happens,
not what pretends to exist forever.Influenced by:
Railway-Oriented Programming,
Functional Core / Imperative Shell,
Workflow / Saga patterns,
Command pipelines,
Unix philosophy,
and value-oriented libraries like Vanilla-DI.Don't be stuck in axioms.
#PostOOP
#ImperativeFunctional
#ProcessOverObjects
#ModelTheProcess
#WorkflowFirst
#RailwayOrientedProgramming
#FunctionalCore
#ImperativeShell
#CommandPipeline
#ExplicitControlFlow
#ValueOrientedDesign
#ProcessModeling
#FailFast
#NoExceptionArchaeology
#ComposableSystems
#NativeFriendly
#GraalVM
#NoReflection
#DeterministicCode
#RefactorSafe
#SagaPattern
#UnixPhilosophy
#VanillaDI
#ModernJava
#ArchitectureMatters -
Post-OOP Imperative Functional Java.
Model the process. Not the domain.Most Java code still asks the wrong question:
"What is this domain object?"
But production systems fail, scale, and burn because of processes, not nouns.If your system is a sequence of irreversible steps, model it as a sequence,
not as interacting objects pretending to be immortal.This follows ideas from Railway-Oriented Programming (ROP):
errors and decisions are values, not control-flow side effects.Modeling the process means you can read this top to bottom
and understand exactly what happens.
No debugger. No IDE magic. No tribal knowledge.Control flow is explicit.
You see the execution order.
Nothing hides in constructors, annotations, or overrides.Failure is a first-class concept.
Once it fails or decides early, nothing else runs.
No exception archaeology.Processes > Objects.
Real systems are workflows where refactoring is safe.Steps are reordered, removed, or replaced
without collapsing a class hierarchy.
Testing is trivial, small stepwise context — even for an AI.Feed input. Assert final result.
No mocking five layers of indirection.GraalVM / native-friendly.
No reflection rituals.
The compiler smiles.Objects are great for long-lived entities.
User actions, payments, rules, and failures are short-lived processes.I model what happens,
not what pretends to exist forever.Influenced by:
Railway-Oriented Programming,
Functional Core / Imperative Shell,
Workflow / Saga patterns,
Command pipelines,
Unix philosophy,
and value-oriented libraries like Vanilla-DI.Don't be stuck in axioms.
#PostOOP
#ImperativeFunctional
#ProcessOverObjects
#ModelTheProcess
#WorkflowFirst
#RailwayOrientedProgramming
#FunctionalCore
#ImperativeShell
#CommandPipeline
#ExplicitControlFlow
#ValueOrientedDesign
#ProcessModeling
#FailFast
#NoExceptionArchaeology
#ComposableSystems
#NativeFriendly
#GraalVM
#NoReflection
#DeterministicCode
#RefactorSafe
#SagaPattern
#UnixPhilosophy
#VanillaDI
#ModernJava
#ArchitectureMatters -
Post-OOP Imperative Functional Java.
Model the process. Not the domain.Most Java code still asks the wrong question:
"What is this domain object?"
But production systems fail, scale, and burn because of processes, not nouns.If your system is a sequence of irreversible steps, model it as a sequence,
not as interacting objects pretending to be immortal.This follows ideas from Railway-Oriented Programming (ROP):
errors and decisions are values, not control-flow side effects.Modeling the process means you can read this top to bottom
and understand exactly what happens.
No debugger. No IDE magic. No tribal knowledge.Control flow is explicit.
You see the execution order.
Nothing hides in constructors, annotations, or overrides.Failure is a first-class concept.
Once it fails or decides early, nothing else runs.
No exception archaeology.Processes > Objects.
Real systems are workflows where refactoring is safe.Steps are reordered, removed, or replaced
without collapsing a class hierarchy.
Testing is trivial, small stepwise context — even for an AI.Feed input. Assert final result.
No mocking five layers of indirection.GraalVM / native-friendly.
No reflection rituals.
The compiler smiles.Objects are great for long-lived entities.
User actions, payments, rules, and failures are short-lived processes.I model what happens,
not what pretends to exist forever.Influenced by:
Railway-Oriented Programming,
Functional Core / Imperative Shell,
Workflow / Saga patterns,
Command pipelines,
Unix philosophy,
and value-oriented libraries like Vanilla-DI.Don't be stuck in axioms.
#PostOOP
#ImperativeFunctional
#ProcessOverObjects
#ModelTheProcess
#WorkflowFirst
#RailwayOrientedProgramming
#FunctionalCore
#ImperativeShell
#CommandPipeline
#ExplicitControlFlow
#ValueOrientedDesign
#ProcessModeling
#FailFast
#NoExceptionArchaeology
#ComposableSystems
#NativeFriendly
#GraalVM
#NoReflection
#DeterministicCode
#RefactorSafe
#SagaPattern
#UnixPhilosophy
#VanillaDI
#ModernJava
#ArchitectureMatters -
#Java now lets you match inside records, compare primitives, & run full apps without touching #Maven. @ronveen takes you inside a version where syntax, tooling & mindset finally align.
Start here: https://javapro.io/2025/06/17/modern-java/
-
#Java now lets you match inside records, compare primitives, & run full apps without touching #Maven. @ronveen takes you inside a version where syntax, tooling & mindset finally align.
Start here: https://javapro.io/2025/06/17/modern-java/
-
#Java now lets you match inside records, compare primitives, & run full apps without touching #Maven. @ronveen takes you inside a version where syntax, tooling & mindset finally align.
Start here: https://javapro.io/2025/06/17/modern-java/
-
#Java now lets you match inside records, compare primitives, & run full apps without touching #Maven. @ronveen takes you inside a version where syntax, tooling & mindset finally align.
Start here: https://javapro.io/2025/06/17/modern-java/
-
#Java now lets you match inside records, compare primitives, & run full apps without touching #Maven. @ronveen takes you inside a version where syntax, tooling & mindset finally align.
Start here: https://javapro.io/2025/06/17/modern-java/
-
Don’t start from scratch.
Quarkus supports your Spring annotations — @Controller, @Service, @Repository.
Migrate your app module-by-module and go cloud-native without breaking everything.
#SpringBoot #Quarkus #DeveloperExperience #JavaMigration #ModernJava -
Don’t start from scratch.
Quarkus supports your Spring annotations — @Controller, @Service, @Repository.
Migrate your app module-by-module and go cloud-native without breaking everything.
#SpringBoot #Quarkus #DeveloperExperience #JavaMigration #ModernJava -
Don’t start from scratch.
Quarkus supports your Spring annotations — @Controller, @Service, @Repository.
Migrate your app module-by-module and go cloud-native without breaking everything.
#SpringBoot #Quarkus #DeveloperExperience #JavaMigration #ModernJava -
Don’t start from scratch.
Quarkus supports your Spring annotations — @Controller, @Service, @Repository.
Migrate your app module-by-module and go cloud-native without breaking everything.
#SpringBoot #Quarkus #DeveloperExperience #JavaMigration #ModernJava -
Don’t start from scratch.
Quarkus supports your Spring annotations — @Controller, @Service, @Repository.
Migrate your app module-by-module and go cloud-native without breaking everything.
#SpringBoot #Quarkus #DeveloperExperience #JavaMigration #ModernJava -
Spring muscle memory? Keep it.
Quarkus supports your existing annotations like @RestController, @Autowired, @Repository — just faster. Migrate incrementally and ship apps with a native edge.
#SpringBoot #Java #Quarkus #DeveloperExperience #ModernJava #CloudNative -
Spring muscle memory? Keep it.
Quarkus supports your existing annotations like @RestController, @Autowired, @Repository — just faster. Migrate incrementally and ship apps with a native edge.
#SpringBoot #Java #Quarkus #DeveloperExperience #ModernJava #CloudNative -
Spring muscle memory? Keep it.
Quarkus supports your existing annotations like @RestController, @Autowired, @Repository — just faster. Migrate incrementally and ship apps with a native edge.
#SpringBoot #Java #Quarkus #DeveloperExperience #ModernJava #CloudNative -
Spring muscle memory? Keep it.
Quarkus supports your existing annotations like @RestController, @Autowired, @Repository — just faster. Migrate incrementally and ship apps with a native edge.
#SpringBoot #Java #Quarkus #DeveloperExperience #ModernJava #CloudNative -
Spring muscle memory? Keep it.
Quarkus supports your existing annotations like @RestController, @Autowired, @Repository — just faster. Migrate incrementally and ship apps with a native edge.
#SpringBoot #Java #Quarkus #DeveloperExperience #ModernJava #CloudNative -
Quarkus speaks fluent Spring—reuse your @RestController, @Autowired, and JpaRepository code with Spring compatibility extensions. 👩💻
Same familiar APIs. Blazing-fast, cloud-native runtime.#Java #SpringBoot #Quarkus #CloudNative #ModernJava #SpringCompatibility
-
Quarkus speaks fluent Spring—reuse your @RestController, @Autowired, and JpaRepository code with Spring compatibility extensions. 👩💻
Same familiar APIs. Blazing-fast, cloud-native runtime.#Java #SpringBoot #Quarkus #CloudNative #ModernJava #SpringCompatibility
-
Quarkus speaks fluent Spring—reuse your @RestController, @Autowired, and JpaRepository code with Spring compatibility extensions. 👩💻
Same familiar APIs. Blazing-fast, cloud-native runtime.#Java #SpringBoot #Quarkus #CloudNative #ModernJava #SpringCompatibility
-
Quarkus speaks fluent Spring—reuse your @RestController, @Autowired, and JpaRepository code with Spring compatibility extensions. 👩💻
Same familiar APIs. Blazing-fast, cloud-native runtime.#Java #SpringBoot #Quarkus #CloudNative #ModernJava #SpringCompatibility
-
Quarkus speaks fluent Spring—reuse your @RestController, @Autowired, and JpaRepository code with Spring compatibility extensions. 👩💻
Same familiar APIs. Blazing-fast, cloud-native runtime.#Java #SpringBoot #Quarkus #CloudNative #ModernJava #SpringCompatibility
-
#Java now streams with memory, discards threads instead of pooling & runs without public static void main. #VirtualThreads, Gatherers & no-boilerplate coding—@ronveen breaks down the quiet revolution
-
#Java now streams with memory, discards threads instead of pooling & runs without public static void main. #VirtualThreads, Gatherers & no-boilerplate coding—@ronveen breaks down the quiet revolution
-
Why @Annotations Will Eventually Burn You.
Preach annotation voodoo or embrace explicit method calls? Too many still cling to @PreAuthorize, entrusting their fate to framework black magic. But such blind faith is brittle. One innocent Spring Boot update, and suddenly your security vanishes unless you summon an obscure @Enable... incantation.
Prefer the custom preauthorize() method: it’s concrete, predictable, and the compiler screams when something breaks as it should. Just like how constructor injection finally defeated the field-injection cult, it’s time to retire annotation worship elsewhere too.
Consider @JsonProperty("fieldName"): sure, the object mapper might infer names correctly without it, until one day it doesn’t, because the naming strategy changes behind your back. It’s happened. It will happen again. That’s the price of depending on invisible magic. Unreadable, unpredictable, unmaintainable. Same applies to reflection.
Frameworks and their “best practices” are relics of the monolith age. Java has evolved: threads, HTTP services, logging,… all can now be built functionally, fluently, and natively. It’s not Java vs Kotlin or some trendy syntax candy. Languages, especially those that compile, already give you more than enough. The bottleneck isn’t the tool, it’s the one holding it.
#Java #SpringBoot #CleanCode #SoftwareEngineering #CodeQuality #Programming #ModernJava #DeveloperExperience #DevMindset #NoMoreMagic #ReadableCode #ExplicitOverImplicit #SayNoToAnnotations #SeparationOfConcerns #FunctionalProgramming
-
Why @Annotations Will Eventually Burn You.
Preach annotation voodoo or embrace explicit method calls? Too many still cling to @PreAuthorize, entrusting their fate to framework black magic. But such blind faith is brittle. One innocent Spring Boot update, and suddenly your security vanishes unless you summon an obscure @Enable... incantation.
Prefer the custom preauthorize() method: it’s concrete, predictable, and the compiler screams when something breaks as it should. Just like how constructor injection finally defeated the field-injection cult, it’s time to retire annotation worship elsewhere too.
Consider @JsonProperty("fieldName"): sure, the object mapper might infer names correctly without it, until one day it doesn’t, because the naming strategy changes behind your back. It’s happened. It will happen again. That’s the price of depending on invisible magic. Unreadable, unpredictable, unmaintainable. Same applies to reflection.
Frameworks and their “best practices” are relics of the monolith age. Java has evolved: threads, HTTP services, logging,… all can now be built functionally, fluently, and natively. It’s not Java vs Kotlin or some trendy syntax candy. Languages, especially those that compile, already give you more than enough. The bottleneck isn’t the tool, it’s the one holding it.
#Java #SpringBoot #CleanCode #SoftwareEngineering #CodeQuality #Programming #ModernJava #DeveloperExperience #DevMindset #NoMoreMagic #ReadableCode #ExplicitOverImplicit #SayNoToAnnotations #SeparationOfConcerns #FunctionalProgramming
-
Why @Annotations Will Eventually Burn You.
Preach annotation voodoo or embrace explicit method calls? Too many still cling to @PreAuthorize, entrusting their fate to framework black magic. But such blind faith is brittle. One innocent Spring Boot update, and suddenly your security vanishes unless you summon an obscure @Enable... incantation.
Prefer the custom preauthorize() method: it’s concrete, predictable, and the compiler screams when something breaks as it should. Just like how constructor injection finally defeated the field-injection cult, it’s time to retire annotation worship elsewhere too.
Consider @JsonProperty("fieldName"): sure, the object mapper might infer names correctly without it, until one day it doesn’t, because the naming strategy changes behind your back. It’s happened. It will happen again. That’s the price of depending on invisible magic. Unreadable, unpredictable, unmaintainable. Same applies to reflection.
Frameworks and their “best practices” are relics of the monolith age. Java has evolved: threads, HTTP services, logging,… all can now be built functionally, fluently, and natively. It’s not Java vs Kotlin or some trendy syntax candy. Languages, especially those that compile, already give you more than enough. The bottleneck isn’t the tool, it’s the one holding it.
#Java #SpringBoot #CleanCode #SoftwareEngineering #CodeQuality #Programming #ModernJava #DeveloperExperience #DevMindset #NoMoreMagic #ReadableCode #ExplicitOverImplicit #SayNoToAnnotations #SeparationOfConcerns #FunctionalProgramming
-
Why @Annotations Will Eventually Burn You.
Preach annotation voodoo or embrace explicit method calls? Too many still cling to @PreAuthorize, entrusting their fate to framework black magic. But such blind faith is brittle. One innocent Spring Boot update, and suddenly your security vanishes unless you summon an obscure @Enable... incantation.
Prefer the custom preauthorize() method: it’s concrete, predictable, and the compiler screams when something breaks as it should. Just like how constructor injection finally defeated the field-injection cult, it’s time to retire annotation worship elsewhere too.
Consider @JsonProperty("fieldName"): sure, the object mapper might infer names correctly without it, until one day it doesn’t, because the naming strategy changes behind your back. It’s happened. It will happen again. That’s the price of depending on invisible magic. Unreadable, unpredictable, unmaintainable. Same applies to reflection.
Frameworks and their “best practices” are relics of the monolith age. Java has evolved: threads, HTTP services, logging,… all can now be built functionally, fluently, and natively. It’s not Java vs Kotlin or some trendy syntax candy. Languages, especially those that compile, already give you more than enough. The bottleneck isn’t the tool, it’s the one holding it.
#Java #SpringBoot #CleanCode #SoftwareEngineering #CodeQuality #Programming #ModernJava #DeveloperExperience #DevMindset #NoMoreMagic #ReadableCode #ExplicitOverImplicit #SayNoToAnnotations #SeparationOfConcerns #FunctionalProgramming
-
Why @Annotations Will Eventually Burn You.
Preach annotation voodoo or embrace explicit method calls? Too many still cling to @PreAuthorize, entrusting their fate to framework black magic. But such blind faith is brittle. One innocent Spring Boot update, and suddenly your security vanishes unless you summon an obscure @Enable... incantation.
Prefer the custom preauthorize() method: it’s concrete, predictable, and the compiler screams when something breaks as it should. Just like how constructor injection finally defeated the field-injection cult, it’s time to retire annotation worship elsewhere too.
Consider @JsonProperty("fieldName"): sure, the object mapper might infer names correctly without it, until one day it doesn’t, because the naming strategy changes behind your back. It’s happened. It will happen again. That’s the price of depending on invisible magic. Unreadable, unpredictable, unmaintainable. Same applies to reflection.
Frameworks and their “best practices” are relics of the monolith age. Java has evolved: threads, HTTP services, logging,… all can now be built functionally, fluently, and natively. It’s not Java vs Kotlin or some trendy syntax candy. Languages, especially those that compile, already give you more than enough. The bottleneck isn’t the tool, it’s the one holding it.
#Java #SpringBoot #CleanCode #SoftwareEngineering #CodeQuality #Programming #ModernJava #DeveloperExperience #DevMindset #NoMoreMagic #ReadableCode #ExplicitOverImplicit #SayNoToAnnotations #SeparationOfConcerns #FunctionalProgramming
-
#java luminaries meeting before the start of @jcon
Currently the group is sharing many opinions on how to get "young" developers interested in #modernJava. -
#java luminaries meeting before the start of @jcon
Currently the group is sharing many opinions on how to get "young" developers interested in #modernJava. -
#java luminaries meeting before the start of @jcon
Currently the group is sharing many opinions on how to get "young" developers interested in #modernJava. -
#java luminaries meeting before the start of @jcon
Currently the group is sharing many opinions on how to get "young" developers interested in #modernJava. -
#java luminaries meeting before the start of @jcon
Currently the group is sharing many opinions on how to get "young" developers interested in #modernJava. -
1995: #Java is slow.
2025: Java is almost too fast to comprehend.
Join @javacoding on a #Performance journey through 30 years of #JVM evolution.How did Java get this fast? Find out here:
https://javapro.io/2025/04/07/hitchhikers-guide-to-java-performance/ -
1995: #Java is slow.
2025: Java is almost too fast to comprehend.
Join @javacoding on a #Performance journey through 30 years of #JVM evolution.How did Java get this fast? Find out here:
https://javapro.io/2025/04/07/hitchhikers-guide-to-java-performance/ -
Java Is Becoming a Monster (And I Love It)
I used to think Java was done. Stale. Verbose. A relic.
But now? It mutated. It spawns 5000 virtual threads like it’s nothing.I just built a REST service:
✅ Runs on virtual threads
✅ Functional pipelines
✅ Only a few MB RAM
✅ No thread-pools
✅ No leaks
✅ Pure JVMThis isn't Java 8 anymore.
✨ No Groovy. No Kotlin. No detours.
Java is now useful and gets Beautiful.And then there’s GraalVM:
If you skip reflection and runtime init, you get:
⚡ Native executables
⚡ Instant startup
⚡ Tiny memory
⚡ No runtime surprisesGame. Changed.
But OSS frameworks?
Still look frozen in 2015.
Heavy, reflective, runtime-hacked monsters.So I built my own tools:
🔥 TypeMap
→ Zero-reflection json/xlm reader & type converter
→ GraalVM native
→ Fast. Simple. Functional.
https://github.com/YunaBraska/type-map⚔️ Nano
→ Anti-framework
→ Static main, no DI magic
→ Pure, clean design
https://github.com/NanoNative/nano🧪 Nano example app
➡️ One single static main file
https://github.com/YunaBraska/nano-graalvm-example🛠 API-Doc-Crafter
➡️ Native CLI doc tool
https://github.com/YunaBraska/api-doc-crafter🧭 My Java Functional Guidelines
https://devabyss.hashnode.dev/java-functional-guidelinesJava isn't just catching up.
It’s setting the pace now.The only question is:
Can frameworks and libraries keep up?#Java #GraalVM #VirtualThreads #FunctionalProgramming #JVM #ModernJava #coding #Programming
-
Java Is Becoming a Monster (And I Love It)
I used to think Java was done. Stale. Verbose. A relic.
But now? It mutated. It spawns 5000 virtual threads like it’s nothing.I just built a REST service:
✅ Runs on virtual threads
✅ Functional pipelines
✅ Only a few MB RAM
✅ No thread-pools
✅ No leaks
✅ Pure JVMThis isn't Java 8 anymore.
✨ No Groovy. No Kotlin. No detours.
Java is now useful and gets Beautiful.And then there’s GraalVM:
If you skip reflection and runtime init, you get:
⚡ Native executables
⚡ Instant startup
⚡ Tiny memory
⚡ No runtime surprisesGame. Changed.
But OSS frameworks?
Still look frozen in 2015.
Heavy, reflective, runtime-hacked monsters.So I built my own tools:
🔥 TypeMap
→ Zero-reflection json/xlm reader & type converter
→ GraalVM native
→ Fast. Simple. Functional.
https://github.com/YunaBraska/type-map⚔️ Nano
→ Anti-framework
→ Static main, no DI magic
→ Pure, clean design
https://github.com/NanoNative/nano🧪 Nano example app
➡️ One single static main file
https://github.com/YunaBraska/nano-graalvm-example🛠 API-Doc-Crafter
➡️ Native CLI doc tool
https://github.com/YunaBraska/api-doc-crafter🧭 My Java Functional Guidelines
https://devabyss.hashnode.dev/java-functional-guidelinesJava isn't just catching up.
It’s setting the pace now.The only question is:
Can frameworks and libraries keep up?#Java #GraalVM #VirtualThreads #FunctionalProgramming #JVM #ModernJava #coding #Programming
-
Java Is Becoming a Monster (And I Love It)
I used to think Java was done. Stale. Verbose. A relic.
But now? It mutated. It spawns 5000 virtual threads like it’s nothing.I just built a REST service:
✅ Runs on virtual threads
✅ Functional pipelines
✅ Only a few MB RAM
✅ No thread-pools
✅ No leaks
✅ Pure JVMThis isn't Java 8 anymore.
✨ No Groovy. No Kotlin. No detours.
Java is now useful and gets Beautiful.And then there’s GraalVM:
If you skip reflection and runtime init, you get:
⚡ Native executables
⚡ Instant startup
⚡ Tiny memory
⚡ No runtime surprisesGame. Changed.
But OSS frameworks?
Still look frozen in 2015.
Heavy, reflective, runtime-hacked monsters.So I built my own tools:
🔥 TypeMap
→ Zero-reflection json/xlm reader & type converter
→ GraalVM native
→ Fast. Simple. Functional.
https://github.com/YunaBraska/type-map⚔️ Nano
→ Anti-framework
→ Static main, no DI magic
→ Pure, clean design
https://github.com/NanoNative/nano🧪 Nano example app
➡️ One single static main file
https://github.com/YunaBraska/nano-graalvm-example🛠 API-Doc-Crafter
➡️ Native CLI doc tool
https://github.com/YunaBraska/api-doc-crafter🧭 My Java Functional Guidelines
https://devabyss.hashnode.dev/java-functional-guidelinesJava isn't just catching up.
It’s setting the pace now.The only question is:
Can frameworks and libraries keep up?#Java #GraalVM #VirtualThreads #FunctionalProgramming #JVM #ModernJava #coding #Programming
-
Java Is Becoming a Monster (And I Love It)
I used to think Java was done. Stale. Verbose. A relic.
But now? It mutated. It spawns 5000 virtual threads like it’s nothing.I just built a REST service:
✅ Runs on virtual threads
✅ Functional pipelines
✅ Only a few MB RAM
✅ No thread-pools
✅ No leaks
✅ Pure JVMThis isn't Java 8 anymore.
✨ No Groovy. No Kotlin. No detours.
Java is now useful and gets Beautiful.And then there’s GraalVM:
If you skip reflection and runtime init, you get:
⚡ Native executables
⚡ Instant startup
⚡ Tiny memory
⚡ No runtime surprisesGame. Changed.
But OSS frameworks?
Still look frozen in 2015.
Heavy, reflective, runtime-hacked monsters.So I built my own tools:
🔥 TypeMap
→ Zero-reflection json/xlm reader & type converter
→ GraalVM native
→ Fast. Simple. Functional.
https://github.com/YunaBraska/type-map⚔️ Nano
→ Anti-framework
→ Static main, no DI magic
→ Pure, clean design
https://github.com/NanoNative/nano🧪 Nano example app
➡️ One single static main file
https://github.com/YunaBraska/nano-graalvm-example🛠 API-Doc-Crafter
➡️ Native CLI doc tool
https://github.com/YunaBraska/api-doc-crafter🧭 My Java Functional Guidelines
https://devabyss.hashnode.dev/java-functional-guidelinesJava isn't just catching up.
It’s setting the pace now.The only question is:
Can frameworks and libraries keep up?#Java #GraalVM #VirtualThreads #FunctionalProgramming #JVM #ModernJava #coding #Programming
-
Java Is Becoming a Monster (And I Love It)
I used to think Java was done. Stale. Verbose. A relic.
But now? It mutated. It spawns 5000 virtual threads like it’s nothing.I just built a REST service:
✅ Runs on virtual threads
✅ Functional pipelines
✅ Only a few MB RAM
✅ No thread-pools
✅ No leaks
✅ Pure JVMThis isn't Java 8 anymore.
✨ No Groovy. No Kotlin. No detours.
Java is now useful and gets Beautiful.And then there’s GraalVM:
If you skip reflection and runtime init, you get:
⚡ Native executables
⚡ Instant startup
⚡ Tiny memory
⚡ No runtime surprisesGame. Changed.
But OSS frameworks?
Still look frozen in 2015.
Heavy, reflective, runtime-hacked monsters.So I built my own tools:
🔥 TypeMap
→ Zero-reflection object mapper
→ GraalVM native
→ Fast. Simple. Functional.
https://github.com/YunaBraska/type-map⚔️ Nano
→ Anti-framework
→ Static main, no DI magic
→ Pure, clean design
https://github.com/NanoNative/nano🧪 Nano example app
➡️ One single static main file
https://github.com/YunaBraska/nano-graalvm-example🛠 API-Doc-Crafter
➡️ Native CLI doc tool
https://github.com/YunaBraska/api-doc-crafter🧭 My Java Functional Guidelines
https://devabyss.hashnode.dev/java-functional-guidelinesJava isn't just catching up.
It’s setting the pace now.The only question is:
Can frameworks and libraries keep up?#Java #GraalVM #VirtualThreads #FunctionalProgramming #JVM #ModernJava #coding #Programming
-
🚀 Java 24 is here! 🦾
Modern Java has outpaced frameworks, waiting for them to catch up. With GraalVM, Virtual Threads, Native Compilation, and Functional Programming, do we even need frameworks anymore? 🤔
🔹 Java 24 optimizations I love:
✅ JEP 450 - Compact Object Headers for memory efficiency
✅ JEP 488 - Primitive types acting like objects⚠️ No more 32-bit x86 support!
Java releases features only when they are ready. No half-baked experiments. Can’t wait for future operators like ?, ??, !., and ?..
Java is evolving fast. Are you keeping up? 🚀
#Java24 #GraalVM #VirtualThreads #ModernJava #FunctionalProgramming #programming
-
🚀 Java 24 is here! 🦾
Modern Java has outpaced frameworks, waiting for them to catch up. With GraalVM, Virtual Threads, Native Compilation, and Functional Programming, do we even need frameworks anymore? 🤔
🔹 Java 24 optimizations I love:
✅ JEP 450 - Compact Object Headers for memory efficiency
✅ JEP 488 - Primitive types acting like objects⚠️ No more 32-bit x86 support!
Java releases features only when they are ready. No half-baked experiments. Can’t wait for future operators like ?, ??, !., and ?..
Java is evolving fast. Are you keeping up? 🚀
#Java24 #GraalVM #VirtualThreads #ModernJava #FunctionalProgramming #programming
-
🚀 Java 24 is here! 🦾
Modern Java has outpaced frameworks, waiting for them to catch up. With GraalVM, Virtual Threads, Native Compilation, and Functional Programming, do we even need frameworks anymore? 🤔
🔹 Java 24 optimizations I love:
✅ JEP 450 - Compact Object Headers for memory efficiency
✅ JEP 488 - Primitive types acting like objects⚠️ No more 32-bit x86 support!
Java releases features only when they are ready. No half-baked experiments. Can’t wait for future operators like ?, ??, !., and ?..
Java is evolving fast. Are you keeping up? 🚀
#Java24 #GraalVM #VirtualThreads #ModernJava #FunctionalProgramming #programming
-
🚀 Java 24 is here! 🦾
Modern Java has outpaced frameworks, waiting for them to catch up. With GraalVM, Virtual Threads, Native Compilation, and Functional Programming, do we even need frameworks anymore? 🤔
🔹 Java 24 optimizations I love:
✅ JEP 450 - Compact Object Headers for memory efficiency
✅ JEP 488 - Primitive types acting like objects⚠️ No more 32-bit x86 support!
Java releases features only when they are ready. No half-baked experiments. Can’t wait for future operators like ?, ??, !., and ?..
Java is evolving fast. Are you keeping up? 🚀
#Java24 #GraalVM #VirtualThreads #ModernJava #FunctionalProgramming #programming
-
🚀 Java 24 is here! 🦾
Modern Java has outpaced frameworks, waiting for them to catch up. With GraalVM, Virtual Threads, Native Compilation, and Functional Programming, do we even need frameworks anymore? 🤔
🔹 Java 24 optimizations I love:
✅ JEP 450 - Compact Object Headers for memory efficiency
✅ JEP 488 - Primitive types acting like objects⚠️ No more 32-bit x86 support!
Java releases features only when they are ready. No half-baked experiments. Can’t wait for future operators like ?, ??, !., and ?..
Java is evolving fast. Are you keeping up? 🚀
#Java24 #GraalVM #VirtualThreads #ModernJava #FunctionalProgramming #programming
-
🚨 When your code is a few KB, but your dependencies rival AAA game installations. Still believe in fairy tales of secure code?
Gigabytes of code you didn't write. Licences you didn't read. Security flaws you didn't anticipate. Yet, you trust them. Adorable.
Not just Node.js. Gradle caches, AWS libs with 400 sub-dependencies + reflection parties. In control? How cute.
I use plain Java with jlink + jpackage. Minimal. Secure. No bloat.
Fewer deps = fewer surprises. Because I care.
But hey, keep stacking that Jenga tower. Watching it fall will be fun.
#MinimalismMatters #CleanCode #DependencyHell #JavaPurist #DoYouEvenCare #LessIsMore #CodeSmart #TechDebt #DependencyManagement #JavaDeveloper #SecureCoding #LightweightCode #ModernJava #RefactorYourLife #NoBloat #CodeQuality #developer #code