Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
gf000
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
15 ms
·
421.
▲
by
gf000
7mo ago
But arguably your intent would be much more clear with something like `map (printf "%d %d" m _) ns` or a lambda. I don't think parent is saying that partial application is bad, far from it. But to a reader it is valuable i
422.
▲
by
gf000
7mo ago
> Most mature Java project has moved to Kotlin. Demonstrably false, not even close Re Gradle using groovy/kotlin: so what? Gradle is not a standard any more than Maven, and java is not primary used as a scripting language, so it mak
423.
▲
by
gf000
7mo ago
Jokes are only funny when they have an ounce of truth to them. Oracle was the one who open-sourced the whole of the JDK, and is the main contributor to OpenJDK by far, which is completely open-source with the same license as the Linux kerne
424.
▲
by
gf000
7mo ago
> For example, appending to a string in a loop. That only happens because of how Java handles strings. In C++, that's very fast. As fast as it can get, really. Since it all goes into the same buffer that gets mutated and expands at
425.
▲
by
gf000
7mo ago
> can't freeze/resume the state I mean, both of your points are a thing, see https://www.azul.com/products/components/falcon-jit-compiler... for LLVM as a JIT compiler and https://openjdk.o
426.
▲
by
gf000
7mo ago
But you only need to do that before a release. You can just develop with the normal JVM with ultra fast incremental builds and hot reload.
427.
▲
by
gf000
7mo ago
Well, Android is not running Java, it runs Android runtime (dalvik) byte code. In general, depending on when it was, that runtime is much much simpler and does a lot more at compile time at the expense of less JIT optimization. It's al
428.
▲
by
gf000
7mo ago
Not sure why you are down voted. Depending on how its used it could actually be detrimental to performance. The JVM may optimize many short lived objects better than a pool of objects with less reasonably lifetimes.
429.
▲
by
gf000
7mo ago
> all optimizations You might want to take a look at what actually happens here. The only reason Go can compile this fast is that it does barely any optimizations. And yeah, javac also does a literal transfomation to Java byte code, no d
430.
▲
by
gf000
7mo ago
I am fairly familiar with FP concepts, though lack experience with large FP-only code bases, so I don't think the OOP-blinder things apply to me. Visitor pattern is meant to address the other half of the expression problem - you have n
431.
▲
by
gf000
7mo ago
It's not a good core abstraction for a build tool to not be able to do proper iterative builds. And thus it's not a good model for IDEs neither, while with Gradle it never gets out of sync, with Maven it can easily happen that som
432.
▲
by
gf000
7mo ago
> Telegram is not end to end encrypted. By default. It can be enabled though on a per conversation basis.
433.
▲
by
gf000
7mo ago
Honestly can't tell if this is not sarcasm/rage bait. Teams that has 3 different UI frameworks on every platform (but your best bet is the web)? With the Microsoft login that tends to loop forever redirecting to God knows where? I
434.
▲
by
gf000
7mo ago
Even Rust has a runtime. Compared to that Go's is absolutely fat though.
435.
▲
by
gf000
7mo ago
It's just that Maven doesn't have a good core abstraction and it is not a reliable build system. Like even with base plugins, let alone with additional ones you can't be sure that a build actually picked up every change, you
436.
▲
by
gf000
7mo ago
Unless you are using a strictly FP language, you are always basically using objects. And all the stuff like factories and everything exist in FP as well, it's pretty short sighted to say otherwise. These are patterns that may or may no
437.
▲
by
gf000
7mo ago
With all due respect, I'm fairly sure that anyone using "VM" the same way as you do here really think of it as a container or what. It's a runtime, and go also has a similar, fairly fat runtime. It's just burnt into
438.
▲
by
gf000
7mo ago
I wouldn't use application servers today, but they were solving many of the same issues as whole kubernetes clusters do, decades ago. The Java (now Jakarta) EE standard on top is a good base for third party implementations to "spe
439.
▲
by
gf000
7mo ago
And a fat runtime with a garbage collector. Like people can write all sorts of programs with a GC, that was never the issue. But then just stay truthful, otherwise C# is also a system PL.
440.
▲
by
gf000
7mo ago
In what way does that "design" show up in Go, besides marketing?
441.
▲
by
gf000
7mo ago
Because almost my definition you can't handle errors in the component, otherwise you would have a conditional and not an error. E.g. if I do some IO like "make a copy of these files" and get an error/exception, it's
442.
▲
by
gf000
7mo ago
GraalVM indeed does a lot more than Go, it's a full optimizing compiler while Go does very little optimiations. But burning a JVM next to a jar file is not hard at all, one could make something like cosmopolitan.
443.
▲
by
gf000
7mo ago
Do you need extra-low latency, even at very high percentile and are willing to give away a bit of throughput for it? ZGC At almost every other case: G1 (the default, just don't add any flags). Do you want to trade off using less memory
444.
▲
by
gf000
7mo ago
Mill does work with idea (via the build server protocol), and the ideas behind it are very sound (a build tool is basically a function calling other functions - on which they depend. You just want to parallelize their running and cache thei
445.
▲
by
gf000
7mo ago
Didn't mean to say that syntactic sugar is bad. But when Java touches a language feature they prefer doing it only when absolutely necessary and even then having the biggest part be in the runtime if possible. E.g. in the lazy case, it
446.
▲
by
gf000
7mo ago
Yeah, but you only have to do that before shipping. You can just test/develop with "normal" java, you even get hot-reloading.
447.
▲
by
gf000
7mo ago
Java compiles as fast as go, so not really sure what's the problem - you can basically use it in an "integration loop" with no problem.
448.
▲
by
gf000
7mo ago
So just type classes? How does a type class help with composition? They do help with the expression problem (adding support for an "interface" after definition), and via parametric polymorphism they might give you a bit with regar
449.
▲
by
gf000
7mo ago
I get the snark, but also - there is this "ideal Java code style" that most experienced devs tend towards. Unfortunately I don't see anything like that for Kotlin (yet?), and there are a bunch of patterns that I really dislik
450.
▲
by
gf000
7mo ago
Shady people is one thing, marketing a language with impossible claims is another. People got interested in the language over wildl claims that are simply CS-wise impossible. Later, these were removed from the site and you are left with a..
More ›