expressive-java VS Immutables

Compare expressive-java vs Immutables and see what are their differences.

expressive-java

Example of matching Scala's case class expressiveness in Java 8, Java 15 and Java 17 (by Randgalt)

Immutables

Annotation processor to create immutable objects and builders. Feels like Guava's immutable collections but for regular value objects. JSON, Jackson, Gson, JAX-RS integrations included (by immutables)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
expressive-java Immutables
6 6
14 3,365
- 0.3%
0.0 7.1
almost 2 years ago about 2 months ago
Java Java
- Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

expressive-java

Posts with mentions or reviews of expressive-java. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-12-24.
  • Deconstructing Records in Pattern Matching - Inside Java Newscast #26
    1 project | /r/java | 3 Jun 2022
  • ExpressiveJava: Re-implementing a simple Scala interpreter in JDK 8/15/17. JDK 17 code nearly identical with use of Records + Pattern Matching + Sealed Types.
    4 projects | /r/java | 24 Dec 2021
    With JDK17 and the introduction of Record types, sealed classes/interfaces, and pattern-matching the implementation can come close to ver-batim mirroring the Scala 2 one: - Scala: https://www.scala-lang.org/old/node/56.html - JDK 17 Java: https://github.com/Randgalt/expressive-java/blob/master/java-17/src/main/java/examples/SimpleInterpreter.java
  • ExpressiveJava: Rewriting simple Scala interpreter – JDK17 code nearly identical
    2 projects | news.ycombinator.com | 12 Dec 2021
    I wanted to share this little project I found. The author has been writing Java re-implementations of the same Scala interpreter over the years as newer JDK versions & features are released.

    With JDK17 and the introduction of Record types, sealed classes/interfaces, and pattern-matching the implementation can come close to ver-batim mirroring the Scala 2 one:

    https://github.com/Randgalt/expressive-java/blob/master/java...

    Unfortunately, the Scala org website is down right now, so the original code can be viewed here for the moment:

    https://web.archive.org/web/20200103022853/https://www.scala...

    (Or also in the repo: https://github.com/Randgalt/expressive-java/blob/master/scal...)

    The final feature that is needed to really seal the deal, is part of JEP 405 for destructuring + binding to values in patterns ("Deconstruction patterns"):

    https://github.com/Randgalt/expressive-java/issues/3

    https://openjdk.java.net/jeps/405

  • Why Co–Star Uses Haskell
    7 projects | news.ycombinator.com | 5 Nov 2021
    using records and ADTs (sealed types) with pattern match "switch" and the net result is an almost verbatim translation.

    https://github.com/Randgalt/expressive-java/issues/1

    There is one ugly line which JDK18 will fix, "destructuring in pattern captures/match".

Immutables

Posts with mentions or reviews of Immutables. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-07-13.