JPlus is a modern programming language and compiler that acts as a superset of Java —
bringing the benefits of null safety, concise syntax, and powerful declarative features
while remaining fully interoperable with existing Java code and libraries.
✨ Why JPlus?
Java is a powerful and battle-tested language, but developers often face:
- Verbose boilerplate (getters/setters, constructors, etc.)
- Dangerous NullPointerExceptions
- Lack of modern language features like ?:(Elvis), smart casts, or pattern matching
JPlus solves this by introducing modern features on top of Java — without breaking compatibility.
JPlus code compiles to standard JVM bytecode, enabling full use of Java libraries and frameworks.
🔐 Null Safety & Modern Syntax Features
JPlus enforces strict null checks at compile-time and introduces Kotlin-style operators:
| Feature | Description | 
|---|---|
| TypevsType? | Explicit non-nullable and nullable types | 
| ?. | Null-safe access operator | 
| ?: | Elvis operator for default/fallback values | 
| Smart Casts | Safe type narrowing after null checks | 
| Type Inference | Reduce verbosity, no need to declare obvious types | 
| Pattern Matching | Clean switch/iflogic with type-safe guards | 
| Async Syntax (planned) | Future-ready syntax with async/awaitsupport | 
  
  
  🔧 NEW: apply Syntax for Replacing Lombok
JPlus introduces the new apply statement — a powerful declarative alternative to Lombok annotations.
🔁 Replace This:
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class User {
    private String name;
    private int age;
}
✅ With This:
apply data, builder, constructors(all, no);  
public class User {     
    private String name;     
    private int age; 
}
💡 Even Nested Classes:
apply data, constructor(required, all, no), builder;  
apply {  
    User.Profile: getter, setter, equality, constructor(all);
}  
public class User {  
    private String name;    
    private int age;  
    public class Profile {        
        String nickname;    
    }
}
All boilerplate — constructors, getters/setters, toString, equals, builder — generated as plain Java.
For full code and output, see:
Go to Example 6
🔭 Coming Soon: IntelliJ Plugin
We are actively developing an IntelliJ IDEA plugin to provide:
- 🔍 Syntax highlighting and autocomplete for - .jplusfiles
- ⚠️ Real-time null-check error detection 
- 🚀 One-click compile-to-Java and build integration 
Stay tuned — the plugin will make JPlus production-ready for real-world development!
💝 Support Development
JPlus is a one-person open-source project under active development.
If you find value in this work and want to help shape the future of Java development:
👉 Support the Project via PayPal
Your contribution supports language tooling, plugin development, and community outreach.
The benefits will ripple across the entire Java community.
💬 Get Involved
- ⭐ Star the project on GitHub 
- 🐛 Report bugs and suggest features 
- 🧠 Contribute code or docs 
- 💬 Join the community discussions (coming soon) 
🔗 Learn More
- License (Apache 2.0) 
 

 
    
Top comments (0)