HNHacker News
TopNewBestAskShowJobs

kaba0

9,807 karma · joined November 1, 2020

submissionscomments
kaba0··on Choose Boring Technology and LLMs
Java is more widely used even within Google itself, and every single positive mentioned applies multiple-folds to it. Java has significantly more, battle-hardened libraries, and in the territory of web backends it is definitely by far the biggest player. Any service worth its weight will have a Java connection library made first, and that will often be of the highest quality. Many libraries are depended on by multiple software giants, not just Google.

Java is also GCd with significantly better implementationS, they have far better throughput, and they also have a low-latency one where pause time is actually decoupled from heap size, unlike what Go does with simply blocking threads under load.

Also, Java has virtual threads which are the same as go routines, so not even that is a relevant difference.

And due to it being a bigger language, more of it will be found in LLM data sets, ergo LLMs will more useful in case of Java.

kaba0··on Choose Boring Technology and LLMs
I absolutely loved that talk, thanks for sharing!
kaba0··on Choose Boring Technology and LLMs
Terseness is not only about practicality. Even if AI writes it for me, it requires a huge deal more reading comprehension on my part to properly check it. E.g. an if err block every couple lines will actively hinder reading that code, and is an easy source for errors to hide (no, just because you check the value of err doesn't make it proper error handling).
kaba0··on Choose Boring Technology and LLMs
I mean, what does go actually bring to the table? That's a modern language only in release date, it is absolutely not worthy of being next to rust in terms of novelty.

Also, old languages can be improved still. Java has some gotchas that will probably forever be fossilized into the language, but it still managed to get algebraic data types, proper pattern matching, virtual threads, etc.

Also, add to it Brook's famous paper and we can see that "new, modern" language will fail to account for even single digit productivity improvements, let alone order of magnitude differences. Me adding an already working, battle-tested dependency is the only real productivity booster.

(Nonetheless, I'm absolutely not against change, and I absolutely love language design as a topic. I just think that any language that wants to live in its own hermetic world has to give a really good reason for that choice)

kaba0··on A simple to use Java 8 JWT Library
Though to be fair, since a few years ago Java 8 is no longer the most popular java version.
kaba0··on JVM Anatomy Quarks
Java does the sane thing within containers, and you definitely not have to set memory settings anywhere else, unless you want some very specific behavior.
kaba0··on JVM Anatomy Quarks
Java is one of the couple of platforms that do have virtual threads (others being Erlang, go and Haskell), and by far the biggest among these..

Is it not you who stagnated a bit?..

kaba0··on JVM Anatomy Quarks
Go is definitely not an ergonomic language.
kaba0··on JVM Anatomy Quarks
There are more Java devs out there than people living in my country. I don't think generalizing this way is helpful, there are many different styles of Java development, and developers have vastly different skill sets.
kaba0··on JVM Anatomy Quarks
Flamewar-y reply to a flamewar-y comment:

Java is better than Go on every count, and almost all of your cases are 90% done by Java, so it's quite clearly a very good choice for almost everything.

kaba0··on Show HN: Jaws – a JavaScript to WASM ahead-of-time compiler
First of all, past performance is not indicative of future results.

Second, it's obviously much easier to double your user base from 2 to 4, than from 10 million to 20. New languages tend to have a fast initial growth, but then the curve flattens and no significant change comes after. Java hasn't been on a decline in the absolute sense, the whole market has just grown and has more players now, so the same mindshare gives less of a percentage now. Nonetheless, no language has come even close to the top 3 languages (js, python, java) in popularity that were released in the last 20 years, so what makes you think that Rust will be the one that avoids the flattening of its growth?

kaba0··on Show HN: Jaws – a JavaScript to WASM ahead-of-time compiler
Google has been doing it 2 decades ago with Gmail and the like. They could compile java to js. More recently, clojure and c#'s blazor come to mind that have the same ability.
kaba0··on Cops suspect iOS 18 iPhones are communicating to force reboots
Unless you are shot dead for reaching into your pocket..
kaba0··on Cops suspect iOS 18 iPhones are communicating to force reboots
It's encrypted, period. Apple having the key doesn't make it plain text.
kaba0··on Show HN: Jaws – a JavaScript to WASM ahead-of-time compiler
> complex web apps

Heh? I really like Rust, but it has absolutely zero advantage for this domain compared to the existing million choices. Unless you are doing some low-end web stuff with packets, any managed language will have a much better developer experience. Async rust is not particularly easy, and something like Java's virtual threads will give you both the ergonomics and the throughput, and then we haven't even talked about how much bigger the relevant ecosystem is (remember that the only order of magnitude improvement in dev productivity is from code you don't have to write)

kaba0··on Show HN: Jaws – a JavaScript to WASM ahead-of-time compiler
How is it even remotely in the same category as Java?
kaba0··on Bringing Faster Exceptions to Rust
But in the given context, returning a Return type will almost by necessity involve a conditional at the caller site, so for an apples to apples comparison that should be compared, not a linear return and nothing else.
kaba0··on Linux Syscall Support
But a kernel mode switch is definitely more expensive than a trivial (likely cached) jump instruction.
kaba0··on Linux Syscall Support
And for what it's worth, the reason Windows has such a high binary backwards compatibility that win 98 programs can easily run on win 11 or so is that they have this extra abstraction layer.
kaba0··on Trump wins presidency for second time
I'm sure voting sensibly in a democracy, understanding all the consequences it will have on oneself, the nation and on foreign people was definitely part of the function to be optimized for (besides that evolution doesn't work like that)
kaba0··on Trump wins presidency for second time
Did you also listen to, or just watched and imagined something else?
kaba0··on Trump wins presidency for second time
Because people are morons
kaba0··on Trump wins presidency for second time
Have you ever heard him speak?! Quite literally asking, are people just voting/liking him based on static images and deliberately cut to look somewhat acceptable videos? I swear his speech is worse than Biden's has ever been.
kaba0··on Trump wins presidency for second time
The charisma of an old, demented moron? He failed as a public speaker even before he got this old, I have heard non-native 5 years old speak better than him.

Plus he is spineless, lying, rapist.. well, sure it is a kind of a charisma. One fitting for some video game villain.

kaba0··on Writing secure Go code
In competitions of real world code in a language that has been in use for close to 30 years, and I can find a java 1.1 program that will both compile as source on the latest version, AND the original compiled version itself will run on a modern JDK as is.
kaba0··on Writing secure Go code
I mean, C is also memory safe when run within valgrind.. at an obvious large performance cost.
kaba0··on Writing secure Go code
Not at all. Java or C# can end up in a logical bug from that, but they will never corrupt their runtime. So in java you can just try-catch whatever bad stuff happens there, and go on afterwards.

Go programs can literally segfault from a data race. That's no memory safety.

kaba0··on Writing secure Go code
I mean, a very serious security vulnerability is/was row hammering, where an attacker was waiting on flipping a bit they have no access to by continuously flipping neighboring ones. Compared to that a race condition is "trivial" to exploit.
kaba0··on Writing secure Go code
Yeah, and C is memory safe in absence of memory safety bugs..
kaba0··on Writing secure Go code
But ordinary go code is not memory safe. Data racing can trivially happen just by using the language's primitives. It requires no special keyword like unsafe, or native FFI like in other, actually memory safe languages (rust, or of the GCd kind, java, c#, Js)
← PreviousPage 2 of 34Next →