Joda-Beans
featured
Our great sponsors
Joda-Beans | featured | |
---|---|---|
2 | 163 | |
141 | - | |
0.0% | - | |
6.2 | - | |
7 days ago | - | |
Java | ||
Apache License 2.0 | - |
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.
Joda-Beans
-
Don’t call it a comeback: Why Java is still champ
That means I don't forget about fields (as can happen if you're just doing `person.setX()` all the time). It's easy to see what is what when reading it. I can delete fields I don't want to initialize at the time. Yes, maybe immutable objects are the One True Way, but C# lets me choose (I can label properties with an initializer `init` rather than a setter `set` and then they're immutable).
Kotlin offers stuff like this too because it's really useful toward creating code that's easy to create and maintain. Go also lets you initialize structs in a similar fashion.
Java has come back to us a decade or more late with records. They're not bad, but they're only offering one thing. They don't cover what C#, Kotlin, Go, and other languages have offered for so long.
The annoying thing about Java is that it doesn't feel pragmatic a lot of the time. It feels like the language hates stealing ideas from others. It's Java: people steal ideas from Java, not the other way around. People do crazy things just to get POJOs including Immutables (http://immutables.github.io), AutoValue (https://github.com/google/auto/), Lombok (https://projectlombok.org), Joda Beans (https://www.joda.org/joda-beans/), and maybe more. They generate lots of code at compile time or do funky runtime stuff.
It just feels like Java misses the pragmatic stuff and still kinda doesn't want to handle that. I feel a bit silly harping on things like POJOs and setting data on a new object, but that's a big part of day-to-day stuff and it definitely pushes users away from Java towards languages that seem "better" simply because they don't have Java's oddly strong attachment to not offering simple value objects. Yes, again, records do something - but it feels like Java ignored how people are using Kotlin, Go, C#, and more and didn't go for something that would have been as widely applicable and pragmatic as it could have been.
Java has a lot of great stuff like great GCs (yes), lots of cool research, great performance, and Project Loom is really exciting. I just wish the language would lean a little more practical.
-
With the recent changes to Discord's branding, here's a proposition for a new tagline for C#. Thoughts?
I know I've been talking about properties a bunch, but let's look at Java. Java Beans are terrible - so terrible that the community has a number of workarounds. Immutables (https://immutables.github.io) lets you generate builders, Lombok (https://projectlombok.org) has their annotations that do runtime and IDE magic, there's Joda-Beans (https://www.joda.org/joda-beans/), there's the new Java Records if you want immutable-only and non-compatibility with lots of libraries, there are people using Kotlin for their data classes and Java for other things... Properties are this simple thing that lets C# work with the whole getter/setter pattern without being horribly annoying - there's just this weird { get; set; } thing that I can ignore because I don't care.
featured
- Non-code contributions are the secret to open source success
-
Why are there open source projects of big tech companies that don't like community contributions?
I recommend reading https://github.com/readme/featured/how-open-is-open-source to understand some of the maintainers perspective.
- Is Laravel the happiest developer community on the planet?
- TypeScript and the dawn of gradual types
- Coding accessibility: Building autonomy with AI
- How ‘open’ should your open source be?
- Methodus Toolz
What are some alternatives?
javawriter - A Java API for generating .java source files.
KeyDB - A Multithreaded Fork of Redis
FreeBuilder - Automatic generation of the Builder pattern for Java
phpmon - Lightweight, native Mac menu bar app that helps you manage multiple PHP installations, locate config files and more. Also interacts with Laravel Valet.
SDMLib
upscheme - Database migrations and schema updates made easy
NetworkParser - Framework for serialization to Json, XML, Byte and Excel, therefore an oviparous wool milk sow J
phantomuserland - Phantom: Persistent Operating System
Lombok - Very spicy additions to the Java programming language.
trivy-action - Runs Trivy as GitHub action to scan your Docker container image for vulnerabilities
javageci - Java Code Generation Framework
viewi - Unique and efficient front-end framework for PHP