Java and JVM languages (Kotlin, Scala, Clojure...) are widely used in Big tech companies and traditional companies.
However, I am wondering if there are newly created startups building on top of JVM.
I see everyone using Python, Golang or Ruby. But it seems that JVM is no longer picked.
Even though there are a lot of AI libraries being created in the JVM ecosystem, like JLama or LangChain4j.
Do you know any startup using it? Why did you choose it? Are you using GenAI?
mands|1 year ago
Running a new startup now and choose modern Java (JDK 21+) with Spring Boot and it's been fantastic. Have previously built startups using both Haskell and Python/Django in the past. Ignore the folks talking about it not being cool, heavy, boring or whatever - modern Java is just super nice and quick to work with.
Some positives we noted,
- "good-enough" integrated type system & language features, e.g. immutable records, type inference, generics, sum and product types with exhaustive pattern matching, lambdas, streams (along with the new stream-gatherers). We feel the gain isn't enough to switch to Kotlin anymore.
- Fantastic tooling, from IDEs, build systems, cloud integrations, remote debugging, settings configuration etc.
- Massive ecosystem - there are libraries for everything, and all major vendors, including cloud providers and most startups, have a Java SDK
- Spring Boot is a great framework, especially for API backends coming from Django - setting up things likes OAuth and OIDC was super easy. Spring AI is developing rapidly, for instance it got MCP support within a week or two of it being released
- Verbosity can be tamed with annotations processors, and Lombok if you desire (we do but understand some don't like it). JSpecify helps with null-checking.
- Performance is great, you just don't have to think about it at a startup scale, and Loom / Virtual Threads makes it even easier to build performant web services without the mental overhead of building `async` systems
I could go on, and like all things there are of course negatives, but we took the plunge and have been really happy with it.
john_scotland|1 year ago
ha-shine|1 year ago
theflyinghorse|1 year ago
jpe7s|1 year ago
Love Java because of how robust the JDK is with respect to Collections, Concurrency, IO and Cryptography. At the same time you can pick and choose exactly what modules you need to keep your application light weight. Also, I find Java has become more of a joy to write in recently as project Amber continues to release features every 6 months. (https://openjdk.org/projects/amber/)
Outside of the base and java.net.http JDK modules, the only external library I rely on is Bouncy Castle for the ed25519 utilities it provides. Considering some of the services sign financial transactions, it is nice to be able to minimize the risk of a malicious take over of a 3rd party library.
Only using AI for generating some of the more manual labor code.
If you are interested in building on Solana in Java check out https://github.com/sava-software/sava and https://docs.glam.systems
zoezoezoezoe|1 year ago
dakiol|1 year ago
On the other hand, Go is a breath of fresh air; the tooling is simple and one can actually learn them in no time. There's less magic, and so a bit more of repetition, but I can live with that.
I don't see the advantage of having the JVM to be honest. I just don't see why it would be needed in 2025 (the "Write once, run anywhere" is not relevant anymore).
theflyinghorse|1 year ago
oftenwrong|1 year ago
justinram11|1 year ago
Although probably not the decision I would have made, it's actually a pretty nice ecosystem that has scaled really well and been fairly easy to work with. Java 21 has _most_ of the QoL features that I like (I'd still really like a `?.` null operator that I can chain together) as well as the ability to reach for JPQL/SQL easily with JpaRepositories when performance is needed.
It's been fairly easy to onboard devs to the project even if they have not had previous experience with Java, and has maintained relatively decent code quality over the last 4 years.
I'm currently working on a LLM project for them that is being completed in Python, however, due to most of the tools being python-first and most of the LLM talent being python-first.
john_scotland|1 year ago
unknown|1 year ago
[deleted]
leros|1 year ago
You can create an API and query databases with just about anything.
george87|1 year ago
ldjkfkdsjnv|1 year ago
aristofun|1 year ago
This doesn't mean it's bad (sometimes you need big gun, something mature and advanced), just out of many startups' immediate scope.
john_scotland|1 year ago
unknown|1 year ago
[deleted]