amber-docs
FizzBuzz Enterprise Edition
amber-docs | FizzBuzz Enterprise Edition | |
---|---|---|
58 | 335 | |
144 | 21,463 | |
0.0% | 1.0% | |
4.6 | 0.0 | |
about 2 months ago | 4 months ago | |
HTML | Java | |
GNU General Public License v3.0 only | - |
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
FizzBuzz Enterprise Edition
-
Golang – when programmers had smaller egos
Java encourages (partly through language design and partly through its community/ecosystem) [Enterprise Grade Programming](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpris...). The problem isn't the language per se, but that most code bases will require you to earn an architecture astronaut certification for that particular code base.
But also, the Go spec is a couple of pages and the Java spec is, uh, it's taking a while to load for me... ah yes, 876 pages. How's that learning curve?
-
The 4-chan Go programmer
It gets worse (this isn't too much of an exaggeration): https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpris....
As an undergrad, I once spent about half an hour peer programming with a computer science PhD - it was enlightening.
He didn't have the slightest understanding of software - calling me out for things like not checking that the size of a (standard library) data structure wasn't negative.
Sometimes there's a scary lack of understanding and competency where you'd expect to find it.
Sometimes these things are done for a reason; sometimes it's actually sane and sometimes it's just a way to deal with the lunacy of a codebase forged by the madmen who came before you.
-
16 Principles for Tech-led Start-ups as a Software Engineer
Now if we have all the time in the world, we can make the thing as complicated as we like: https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition.
- FizzBuzz Enterprise Edition
-
The Minimum Valuable Product Architecture Death Trap
In code, this means you must have clear separation of concerns, so future changes are less likely to require scattered changes throughout your code base. Clean Architecture is a certified classic for this subject, just remember to not overdo it in the wrong area and end up with Enterprise Edition FizzBuzz.
- FizzBuzzEnterpriseEdition
-
Simple Lasts Longer
That "Hello World Enterprise Edition" looks dangerously under-engineered - I could understand it! Far better to follow the best practices demonstrated in the Fizz Buzz Enterprise Edition...
https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpris...
-
Writing Clean Code with FastAPI Dependency Injection
Clean code is a balancing act - you’ll want to make sure you don’t turn your codebase into something like this.
- Milyen hasznos Github repokat ismertek?
What are some alternatives?
adoptium.net - Development of the website has moved to https://github.com/adoptium/website-v2
Simple Java Mail - Simple API, Complex Emails (Jakarta Mail smtp wrapper)
jmolecules - Libraries to help developers express architectural abstractions in Java code
Logback - The reliable, generic, fast and flexible logging framework for Java.
prettier-java - Prettier Java Plugin
awesome-functional-python - A curated list of awesome things related to functional programming in Python.
vim-fibo-indent - Fibonacci Indentation for Vim.
yGuard - The open-source Java obfuscation tool working with Ant and Gradle by yWorks - the diagramming experts
record-builder - Record builder generator for Java records
Java-Hello-World-Enterprise-Edition
adoptium
bitburner - Bitburner Game