Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
spricket
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
9 ms
·
31.
▲
by
spricket
8y ago
The fact that "AoA disagree" light and logic was an optional feature seems criminal enough to me. A sensor with no failover unless you pay for an option. Who the hell thought this was a good idea or approved it? WTF! 500 people ar
32.
▲
by
spricket
8y ago
Fair enough. The Java ecosystem is huge and I try to keep up but many things slip through the cracks, you'll find many in my furious comment history on the thread. Thanks, looking it ip
33.
▲
by
spricket
8y ago
Completely agree, except that MS was so crazy hostile to OSS that they scared off all the serious guys a decade ago. I wish them the best. The CLR has some compelling features that make it objectively better than JVM on so many levels. But
34.
▲
by
spricket
8y ago
Agree, and yeah Java is peaking "uncool". But I don't care. Call me old fashioned but the damn thing works so good I can forgive a multitude of sins
35.
▲
by
spricket
8y ago
I've done this a few times. Most are due to reflection limitations with the newodule system. They can be worked around by adding exceptions to removal of reflection metadata largely. Kinda a PITA but not too hard. Active libraries have
36.
▲
by
spricket
8y ago
You need to take the library approach. It's much like react vs angular. With angular, and spring, you get a ton out of the box but much is mediocre. Like React, you can out together your own "best of breed" java stack. It jus
37.
▲
by
spricket
8y ago
This is excellent thank you
38.
▲
by
spricket
8y ago
Yeah seriously Java's threading support is good but the boilerplate was horrific. One thing you should know is that parallel streams use default thread pool unless you specify otherwise. Had that choke up some REST handler threads a fe
39.
▲
by
spricket
8y ago
No idea that Groovy was designed by the guy of Antlr fame... Pretty humbling TBH. Check out Kotlin though. It's seriously great and doesn't share lost of the performance penalties of Groovy
40.
▲
by
spricket
8y ago
Not in base java, but some libraries essentially fix this. Vavr https://www.baeldung.com/exceptions-using-vavr But my favorite is abusing the language using Lombok SneakyThrows. It just feels dirty using it. In a good way.
41.
▲
by
spricket
8y ago
I share your frustration but this new GC should drastically reduce the issues with creating tons of garbage. There's still the infamous "allocation wall" but value types wouldn't solve that either. But they would make it
42.
▲
by
spricket
8y ago
Notably, Graal has been used extensively by TruffleRuby for a while now. It's not oficially ready for prime time but definitely promising.
43.
▲
by
spricket
8y ago
Ah yes, parallel stream(), for when you need to filter a list of 13000 entries for.... Reasons. Bad reasons. Use it all the time :)
44.
▲
by
spricket
8y ago
One of my Java guilty pleasures is pulling in some 14 year old library and it just works. Absolute gold for a company with a lotta old code sitting around. I also do a good bit of frontend and holy crap it's exhausting. That's the
45.
▲
by
spricket
8y ago
As another poster mentioned, the new type inference is great. So is lambda support. Another is Lombok.... Yeah it's not official but we use it literally everywhere and it helps a ton with data classes especially. Nullaway and a bunch o
46.
▲
by
spricket
8y ago
Wow great link. I live pretty deep in Javaland and had no idea it was that good!
47.
▲
by
spricket
8y ago
Lack of value types sucks so yes I agree. On the other hand this new GC might be fast enough that it just doesn't matter if you create garbage for most purposes
48.
▲
by
spricket
8y ago
Totally agree. C# and kin are far better designed. It's the lively Java ecosystem that keeps me around as well
49.
▲
by
spricket
8y ago
I actually agree with you here that OO is overused. Java has added quite a bit of FP in recent years though. Lombok makes immutable data classes trivial. Improved interface support for default methods make it possible to largely ignore OO i
50.
▲
by
spricket
8y ago
Newer versions of Java cache compiled classes. The startup time is maybe 10 seconds for something big running Java 11. You can also compile AOT for some performance loss at runtime but zero startup time. Android has been doing this forever
51.
▲
by
spricket
8y ago
I agree that the future looks bright for Kotlin and C# .Net Core especially. I'm also a big fan of Typescript but JS derivatives are missing many nice things like threading. But I disagree that Java is like Cobol. The syntax and genera
52.
▲
by
spricket
8y ago
Java would take the cake in almost anything speed measure you mentioned. Golang is the only one comparable in memory throughput and latency. Java with async IO like Vert.X can do higher concurrency than Erlang. As can Go. IMO Java is the mo
53.
▲
by
spricket
8y ago
You may be right about connectivity checks although I thought they recently removed Google from those. Lineage has built on top of Android permission system to prevent most apps from stealing data (Android location permission is probably th
54.
▲
by
spricket
8y ago
I'm not sure if you're trolling so I'll try to keep this short. Java is old, it's crufty. Yes. But it's extremely fast compared to anything but Go, C#, and "low level" languages nobody wants to touch for w
55.
▲
by
spricket
8y ago
It should help performance on almost any JVM app, but much more on large heaps. The GC time is lower and multi-threaded but most importantly the "pause time" is low and nearly constant (based on root set size) The old GC's al
56.
▲
by
spricket
8y ago
This has already happened in a way. Unity uses a ton of C# for scripting. While C# is somewhat nicer to work with, this low pause GC makes java a compelling option for moving much more logic into the VM language
57.
▲
by
spricket
8y ago
10 ms isn't all that much. When games load in assets they'll do various things like malloc huge chunks and you lose a few frames. If GC only causes occasional (maybe every 2 minutes) loss of a frame or two it should be no problem.
58.
▲
by
spricket
8y ago
From the tests I've seen on beta versions, no difference. The performance increase is from a different algorithm + full multithreading. Not from collecting garbage less often as is a common tactic to reduce time spent in GC
59.
▲
by
spricket
8y ago
If you care about privacy and have about $100 + 4 hours you can get a Galaxy S5 running LineageOs without GApps (use F-Droid store) . Almost completely OSS besides a few manufacturer blobs you can't really work around. I have a "n
60.
▲
by
spricket
8y ago
There's two main approaches to handling "events". Using event sourcing vs direct RPC. After our disaster I highly recommend Google's approach, A structured gRPC layer between services with blocking calls. You might think
More ›