amber-docs
Persistent Collection
Our great sponsors
amber-docs | Persistent Collection | |
---|---|---|
58 | 4 | |
142 | 746 | |
0.7% | - | |
5.1 | 6.6 | |
4 days ago | about 1 month ago | |
HTML | Java | |
GNU General Public License v3.0 only | GNU General Public License v3.0 or later |
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.
amber-docs
-
Record Patterns point to Java language designers losing their compass
Record patterns are one step on the path to general pattern matching utility. The bigger building block is general deconstructors. I recommend reading Functional Transformation of Immutable Objects by Brian Goetz. The idea of "withers" shown there requires deconstructors:
- Which Kotlin features do you think Java still needs to steal, if any?
-
JDK 20 G1/Parallel/Serial GC Changes
https://github.com/openjdk/amber-docs/blob/master/eg-drafts/...
This is the vague plan.
-
Deconstruction patterns [Brian Goetz]
You may be joking but...
-
Java Records as Embeddables with Hibernate 6
Here is the much more detailed version: https://github.com/openjdk/amber-docs/blob/master/eg-drafts/reconstruction-records-and-classes.md
-
Where does the dislike/hate for Java come from?
This kind of pattern matching is discussed in the design notes: https://github.com/openjdk/amber-docs/blob/master/site/design-notes/patterns/pattern-match-object-model.md
-
Making Lenses Practical in Java
True, but that only pushes the question of value down the line.
I'm curious about lenses because Java did have a serious problem that required a solution: working with "simple" data correctly was difficult. The chosen solution was ADTs, so we did buy into that. But the approach being explored for transforming records (https://github.com/openjdk/amber-docs/blob/master/eg-drafts/...) only works one level at a time rather than for an entire path. So I wonder how valuable it would be to have a solution for paths. If the answer is that it's mostly valuable for an approach we haven't bought into yet, then we might not need to consider it just yet.
-
How I got involved in the Rust community
Just a heads up, something like that spread operator is actually coming sooner or later to java: https://github.com/openjdk/amber-docs/blob/master/eg-drafts/...
Pattern matching (for records) is already a preview feature.
- Should you still be using Lombok?
- Cascade operator in Java
Persistent Collection
-
I had a great experience with Scala and hopefully it will get more popular
So does Java! Also, kotlinx.collections is still not stable and I don't think they are intending to make it so any time soon.
-
What’s so great about functional programming anyway?
> If you are using containers, always, always, always use immutable containers from Google Guava unless you have an exceptionally good reason.
I actually prefer pcollections: https://github.com/hrldcpr/pcollections
AtomicReference + immutable data types is a really nice way to program in Java, and is basically the way most Clojure programs are written.
- Why Java's Records Are Better* Than Lombok's Data and Kotlin's Data Classes
-
Libraries, Frameworks and Technologies you would NOT recommend
You might consider persistent collections instead of immutable collections, I believe it is more optimized https://github.com/hrldcpr/pcollections
What are some alternatives?
adoptium.net - Development of the website has moved to https://github.com/adoptium/website-v2
Big Queue - A big, fast and persistent queue based on memory mapped file.
jmolecules - Libraries to help developers express architectural abstractions in Java code
tape - A lightning fast, transactional, file-based FIFO for Android and Java.
record-builder - Record builder generator for Java records
Apache Parquet - Apache Parquet
prettier-java - Prettier Java Plugin
SBE - Simple Binary Encoding (SBE) - High Performance Message Codec
FizzBuzz Enterprise Edition - FizzBuzz Enterprise Edition is a no-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes.
Protobuf - Protocol Buffers - Google's data interchange format
vim-fibo-indent - Fibonacci Indentation for Vim.
dexx - Persistent (immutable) collections for Java and Kotlin