3 ms·
What's the point of a JVM when your server environment is using the x86 instruction set and running Linux? The world today is very different from the world of t
by taylodl 4y ago
What's the point of a JVM when your server environment is using the x86 instruction set and running Linux? The world today is very different from the world of the early 90's when Java was being developed. You want garbage collection, high performance, a vibrant ecosystem, and good build and distribution tools? Then you want Go.
As many others in this thread have said, using a newer (Go is 10 years old) stack is appealing to VC's, and the hotshot programmers you're trying to attract and trade salary for stock options. This is the best strategy.
If you really need to use the JVM for some reason then consider using another language on top of it such as Kotlin or Clojure. In 2022 saying your hot new startup is using Java is pretty much equivalent to saying you're using Cobol. Don't be surprised if it doesn't generate much interest from investors or developers.
- kaba0 4y agoGo’s GC is a generation behind Java’s, and while value types can alleviate the need of a good GC to a degree, long-living server applications do predominantly have very varying object lifetimes, so a GC is non-negotiable — Java usually has better performance in these use cases (it is not an accident that huge servers with terabytes of RAM running core internet services most often use Java, like Alibaba, AWS, many Google servers). Also, you sure know that Java spends most of its time executing native machine code for the architecture at hand, so your first paragraph is meaningless. On top, java’s ecosystem is much bigger than Go’s, and it has much better observability tools to monitor even prod instances.