πJPlus β A Modern Java Superset Language #178501
Unanswered
nieuwmijnleven
asked this question in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Select Topic Area
Show & Tell
Body
JPlus is a Java superset language running on the JVM that enhances developer productivity while staying fully compatible with the Java ecosystem.
π Why Support JPlus?
JPlus fills a unique gap in the Java ecosystem:
π₯ Watch the demo video: JPlus IntelliJ Plugin Demo
Currently, there is no other language that extends Java in this way while keeping the syntax familiar to Java developers.
β¨ Key Features
?.operators to safely access nullable variables without riskingNullPointerException?:to provide default values when a variable is nullβ Example β β Combining
?.and?:OperatorsJPlus supports combining the null-safe access operator (
?.) and the Elvis operator (?:)to simplify complex null-handling logic into clean and concise expressions.
π Example β
NullsafeWithElvisOperator.jpluss1is a nullable variable.s1 ?: "jplus"β assigns"jplus"ifs1is null.s1?.length() ?: 0β safely callslength()ons1, returns0ifs1is null.β Output (Java code generated by JPlus)
β Example β‘ β Using apply for Data Class and Nested Class Boilerplate Elimination
JPlus introduces the apply keyword to replace common Java boilerplate code such as getters, setters, constructors, builders, and more.
It serves as a language-level alternative to Lombok annotations, offering a clean and declarative syntax.
π Example β
ApplyStatement.jplusdata: Automatically generates getters, setters, equals(), hashCode(), and toString()builder: Generates a User.Builder class for fluent object creationconstructors(required, all, no):Generates a constructor with all/required fields and a no-argument constructorequality: Generates equals() and hashCode() methodsapply { User.Profile: ... }: Applies boilerplate generation specifically to the Profile inner classβ Output (Java code generated by JPlus)
This allows developers to keep code DRY and expressive even with deeply nested structures.
π οΈ Current Status
πβ―Github repository
π₯ Watch the demo video
π₯ Download: intellij-plugin-0.1-mvp-alpha.zip
π‘ Why Your Support Matters
JPlus is actively developed and community contributions and sponsorships are critical:
Your sponsorship accelerates development and helps bring safer, cleaner, and more productive Java development to the community.
πΈ How to Sponsor
Even a small contribution helps shape the future of JPlus!
Thank you for supporting JPlus β together, we can make Java development safer, more productive, and enjoyable. πβ―Github repository
Beta Was this translation helpful? Give feedback.
All reactions