3 ms·
It's a real good Java
by notankies 6y ago
It's a real good Java
- deepsun 6y agoUnfortunately, Go is not even close by the number of tools written for it, at least for web services, where I work. It's hard to imagine something useful that doesn't have either JVM port, or originally written in Java (testing/mocking, builders, freaking ORMs, frameworks). It's not always good though, in Java world you have to choose between multiple competing tools, while other ecosystems have mostly only one, often adopted from Java version (except Javascript, Rust, they have their own zoos). But IMHO Java is still the nursery for all kinds of tools for development.
- afrojack123 6y agoJava is actually better(faster runtime and less energy usage) than Go but where Go beats Java is memory usage. C beats all of course. https://greenlab.di.uminho.pt/wp-content/uploads/2017/09/paperSLE.pdf https://greenlab.di.uminho.pt/wp-content/uploads/2017/09/pap...
- lanstin 6y agoJava might in theory be faster but I have never seen a real Java team put out code that was capable of doing 10k requests per CPU per second. Always hitting per thread limits or logging lock contention or GC issues etc. except one thing written by a genius with NIO. Ordinary people can hit those performance numbers with Go and without special smarts.
- pjmlp 6y agoDon't mistake the tooling capabilities with those that use them.
- _ph_ 6y agoOf course one shouldn't mistake those. But one has to understand, a tool is only as valuable as it actually produces result, not as what it could produce given a theoretical perfect programmer. C is an extremely capable programming language judging on "what you could do with it", but in reality, most programmers fail to create robust C code. And most Java code suffers from programmers using it in a less than optimal manner. Also, Go does not suffer from some fundamental Java problems, though they slowly get corrected. Go has value types, unboxed arrays. Generally, no struct in Go is boxed automatically. You have first class functions in Go and of course, it is statically compiled. It is true, that Hotspot often produces very good code, but for a lot of szenarios, a statically compiled Go executable beats it, as run-time compilation is not required.
- pjmlp 6y agoJava also has AOT compilation to native code, if one is willing to pay for such tools (since around 2000, but now there is free beer AOT anyway). Value types are around the corner and I bet they will be done first than generics in Go.
- _ph_ 6y agoAs I wrote, Java is in the process of adding features that mitigate its problems. My post was pointing out a few things where Go is clearly ahead of Java.
- pjmlp 6y agoOnly on support for value types, everything else Java did it first.
- philosopher1234 6y agoYou are prolific in your hatred of go
- pjmlp 6y agoNah, just when people push their fanboyism against Java, .NET or C++, without actually knowing those ecosystems.