[-] justicecoder@programming.dev 2 points 2 months ago

I believe that if a company is a large corporation, it should provide financial support and take responsibility for large-scale bug reporting.

[-] justicecoder@programming.dev 1 points 2 months ago

Unlike Java’s Optional, which is a library feature, JPlus provides null-safety at the language level. It allows developers to write code where null-safety is enforced consistently, without wrapping every value in an Optional. In that sense, JPlus brings the same kind of safety and clarity that Kotlin offers but keeps full compatibility with Java syntax and tooling.

1

JPlus is a modern programming language and compiler that acts as a superset of Java — bringing the benefits of null safety and powerful boilderplate code generation declarative features while remaining fully interoperable with existing Java code and libraries.

0

Null-pointer exceptions are a common error in Java, causing inconvenience for many developers. Preventing null pointer exceptions in advance is important, but for developers who want to focus solely on logic, handling them can be tedious. Moreover, it’s not always easy to account for every scenario. Typically, static analysis tools are used to detect potential null pointer issues, but developers still have to find and fix the code themselves. JPlus reduces that burden. Let’s write null-safe Java code with JPlus.

[-] justicecoder@programming.dev 2 points 3 months ago

It’s true that the project is still in its early stages and not very large yet. I believe that with consistent effort, the number of people contributing to this project, as well as those who want to use JPlus, will grow over time. Thank you.

3
submitted 3 months ago* (last edited 3 months ago) by justicecoder@programming.dev to c/programming@lemmy.ml

Hi everybody, this is the JPlus development team.

JPlus is a Java superset programming language, extending standard Java syntax with additional features. So far, we have introduced null-safety and boilerplate code generation features. Currently, we are planning to add Named Parameter support to JPlus. This feature allows specifying parameter names explicitly when calling methods or constructors.

The point we would like to discuss is whether to support Default Values.

Option A: Named Parameter only

  • Pros: Simpler syntax, minimal implementation and learning overhead

  • Cons: Call sites may become longer in some situations

Option B: Named Parameter + Default Value

  • Pros: More concise code, allows omitting some arguments when calling

  • Cons: Can make code slightly harder to read if too many defaults are used

We would like to gather opinions on whether default values are truly necessary in practical coding scenarios.

If you want to learn more about JPlus, please refer to the links below:

[-] justicecoder@programming.dev 2 points 3 months ago

Thank you for your opinion.

I hope you’ll continue to follow and support the growth of JPlus!

3

This post is a “promotional” message regarding support for the JPlus project. If such posts make you uncomfortable, please feel free to skip reading this.

I am currently working full-time on a project called JPlus(https://github.com/nieuwmijnleven/JPlus) which is a fully Java-compatible superset language offering modern safety and expressiveness. With JPlus, you can enhance your Java code’s safety and expressiveness without rewriting it, while fully leveraging existing Java libraries and tools.

Personally, I believe this project is a truly great idea and can bring significant benefits to the Java developer community.

Below is an article on how to provide null‑safety to Java code without rewriting the code, by using JPlus and the JPlus IntelliJ Plugin. Making your Java code null-safe without rewriting

Since the moment I came up with the idea, I have devoted all my time to developing JPlus. To be honest, I am about to reach a financial limit. To be even more candid, my financial situation was already dire when I started this project, but I believed that this project could be my lifeline. Because of that belief, I invested all my time and managed to release the MVP version of JPlus and the IntelliJ Plugin within a short period.

I am not asking for a large amount. Having already lost almost everything, completing a meaningful project like JPlus has become my ultimate goal. If 20 or more people could contribute just $1–2 per month each, I would be able to survive minimally while continuing development.

I used to think that nobody would find themselves in such a difficult personal situation in today’s world, but experiencing it firsthand has been an unexpected reality.

I want to continue working full-time on JPlus, but my funds will run out in just a few days, which is why I am writing this post.

If this message makes anyone feel uncomfortable, I sincerely apologize once again. That said, if you find this project interesting or believe it could help the Java community, even a small contribution would mean a great deal.

Become a Sponsor via Github

Become a Sponsor via PayPal.me

1

Null-pointer exceptions are a common error in Java, causing inconvenience for many developers. Preventing null pointer exceptions in advance is important, but for developers who want to focus solely on logic, handling them can be tedious. Moreover, it’s not always easy to account for every scenario. Typically, static analysis tools are used to detect potential null pointer issues, but developers still have to find and fix the code themselves. JPlus reduces that burden. Let’s write null-safe Java code with JPlus.

7
submitted 3 months ago* (last edited 2 months ago) by justicecoder@programming.dev to c/opensource@programming.dev

JPlus is a modern programming language and compiler that acts as a superset of Java — bringing the benefits of null safety and powerful boilderplate code generation declarative features while remaining fully interoperable with existing Java code and libraries.

[-] justicecoder@programming.dev 2 points 3 months ago

The idea might be enough. Lots of companies running legacy code would be interested in this idea since it would make maintaining/patching it easy.

Thank you for your response. I will take your valuable feedback into careful consideration.

[-] justicecoder@programming.dev 3 points 3 months ago

Yoy won’t find your target audience here on lemmy.

Instead you should look for companies that have open job/freelancer positions for maintaining legacy java code and pitch your project to them.

That’s a great idea. Thank you. However, I’m not sure if such opportunities would be available at my current stage.

[-] justicecoder@programming.dev 2 points 3 months ago

Ok, didn’t want to discourage you!

Thank you for your interest. We hope you’ll continue to follow the project’s progress!

[-] justicecoder@programming.dev 1 points 3 months ago

From Wikipedia:

In computer science, a preprocessor (or precompiler)[1] is a program that processes its input data to produce output that is used as input in another program. […], which is often used by some subsequent programs like compilers.

The emphasis is mine.

Both Typescript and SASS are examples of preprocessors.

By that logic, the C compiler would also be a preprocessor since it converts C code into assembly. Simply calling something a preprocessor just because its output is source code is not logically correct. The same applies to JPlus: the fact that it ultimately produces Java source code does not make it a preprocessor. Internally, it performs compiler-level processes such as AST generation, null-safety checks, and boilerplate code generation, so it should be regarded as a proper compiler.

[-] justicecoder@programming.dev 1 points 3 months ago

There’s Groovy. Their examples use a bit different syntax, like a lack of semicolons, and Gradle might also give the wrong idea. But it’s fully compatible with Java source code iirc, just adds its own stuff on top and broadens the allowed syntax a bit.

Groovy is highly compatible with Java and most Java code runs in Groovy without changes. However, it’s not 100% identical. Groovy introduces dynamic typing, additional syntax, and runtime behaviors that can differ from Java. JPlus, on the other hand, aims to keep Java syntax almost intact while adding null-safety and boilerplate code generation making it easier to apply to existing Java projects without rewriting code

[-] justicecoder@programming.dev 2 points 3 months ago* (last edited 3 months ago)

Might be useful to some, but the underlying assumption that “more features = better” is questionable in general.

You’re right. more features don’t always mean better. JPlus isn’t just about adding features; Our goal is to reduce boilerplate and enforce null-safety in existing Java code without rewriting it. Even when adding new functionality, JPlus avoids features that would be difficult for existing Java developers to adopt. All new features are designed to feel natural to Java, keeping the learning curve minimal so developers can use them intuitively without extra study. Its value comes from practical safety and developer convenience, rather than simply having more language features

[-] justicecoder@programming.dev 3 points 3 months ago

Notably, there is currently no ‘superset’ language that keeps Java syntax almost intact

There’s groovy iirc.

Groovy is highly compatible with Java and most Java code runs in Groovy without changes. However, it’s not 100% identical. Groovy introduces dynamic typing, additional syntax, and runtime behaviors that can differ from Java. JPlus, on the other hand, aims to keep Java syntax almost intact while adding null-safety and boilerplate code generation making it easier to apply to existing Java projects without rewriting code

[-] justicecoder@programming.dev 4 points 3 months ago

Isn’t kotlin a better option?

Kotlin is great for null-safety, but JPlus allows you to enforce null-safety without rewriting your existing Java code, which can be easier for teams working in legacy projects or who prefer staying in pure Java.

18
submitted 3 months ago* (last edited 3 months ago) by justicecoder@programming.dev to c/programming@programming.dev

JPlus is fully compatible with Java, offering modern language features like null safety, boilerplate code generation and other modern language features to reduce developer burden and maximize productivity.

Notably, there is currently no ‘superset’ language that keeps Java syntax almost intact while extending the language with features like null checks at the language level. JPlus aims to fill this gap, providing a language that existing Java developers can naturally learn and adopt.

8

JPlus is fully compatible with Java, offering modern language features like null safety, boilerplate code generation and other modern language features to reduce developer burden and maximize productivity.

Notably, there is currently no ‘superset’ language that keeps Java syntax almost intact while extending the language with features like null checks at the language level. JPlus aims to fill this gap, providing a language that existing Java developers can naturally learn and adopt.

17
submitted 3 months ago* (last edited 3 months ago) by justicecoder@programming.dev to c/programming@programming.dev

JPlus is fully compatible with Java, offering modern language features like null safety, boilerplate code generation and other modern language features to reduce developer burden and maximize productivity.

Notably, there is currently no ‘superset’ language that keeps Java syntax almost intact while extending the language with features like null checks at the language level. JPlus aims to fill this gap, providing a language that existing Java developers can naturally learn and adopt.

view more: next ›

justicecoder

0 post score
0 comment score
joined 3 months ago