Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question: Fashion and reliability #526

Open
magicprinc opened this issue Nov 24, 2023 · 1 comment
Open

Question: Fashion and reliability #526

magicprinc opened this issue Nov 24, 2023 · 1 comment
Labels

Comments

@magicprinc
Copy link

magicprinc commented Nov 24, 2023

Your project is miles ahead of everyone else. I see every feature on your start page and I really want it.


my subjective wrong opinion, please ignore

Pure Java - "no comments"...
Project Lombok looks like a child's play in comparison to you.
Scala is impossible to learn, and not Java.
Kotlin is quite ugly, and not Java.
Groovy is great, but quite fat and slow and slowly dying.


The questions are:

  • Why aren't you much, much more popular? You really deserve it!

  • Are there any stability problems?

  • Are you ready for production, for critical systems?

  • Is JDK 21 supported?

  • Do it work with Lombok (if one can't remove Lombok)? Can it replace Lombok completely (has all features)?

  • Do it work with google's error-prone?

PS: I really want to start using your amazing project, but I am little afraid…

@rsmckinney
Copy link
Member

Hi @magicprinc, thanks for the kind words!

Your questions:

Why aren't you much, much more popular? You really deserve it!

Thank you, and great question! I won't pretend to know the answer; I really don't know. But, it's probably a mix of things.

Your P.S. is probably the largest hurdle. Manifold scares a lot of people, which isn't an unreasonable reaction to a library like Manifold. But it comes down to traction like everything else.

Are there any stability problems?

It's far from perfect! But it's getting better with age :) Seriously, after testing, stability is a product of feedback and bug reports. Manifold is growing slow and steady and I think stability tracks with that.

Are you ready for production, for critical systems?

Manifold is a collection of subprojects, some are sturdier than others. I'm hesitant to call any of it "ready for critical systems", but on the whole Manifold appears to be reliable enough for the early adopters I'm aware of.

Is JDK 21 supported?

Yes. Fully supported.

Do it work with Lombok (if one can't remove Lombok)?

I don't test with Lombok, so I can't say that it's 100% compatible, but I've fixed several compatibility bugs reported from people using it. They seem content using Manifold with Lombok now. Ymmv.

Can it replace Lombok completely (has all features)?

No. Manifold is not supposed to be a replacement for Lombok. In fact, I intentionally did not implement some features because I knew Lombok already had them; there was no need to replace features that work well enough.

At the same time Manifold takes a different approach at solving some of the same problems Lombok aims to solve. Take for instance, getter/setter methods. Lombok provides annotations to make it easy to generate a lot of the boilerplate code otherwise required by Java. Whereas Manifold sets out to eliminate getters and setter via the properties construct.

Do it work with google's error-prone?

I don't test with error-prone, but I am aware of at least two issues with it.

  • using manifold together with error-prone #426
  • there's another issue, I think a client may have DM me on this, but if you use manifold-strings (string templates), it supports escaping the $ in string expressions: \$. error-prone complains about this not being a legal escape char, which is technicially correct,

PS: I really want to start using your amazing project, but I am little afraid…

I can't blame you. Committing to any new library, particularly one that significantly affects how you design and/or write code, is a big deal. I suppose it comes down pros and cons with your particular needs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants