Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
vips7L
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
33 ms
·
811.
▲
by
vips7L
2y ago
You can enforce some invariants during construction: record Point(int x, int y) { Point { if (x < 0) throw new IllegalArgumentException() } } or if you want to assert something is not null:
812.
▲
by
vips7L
2y ago
Wouldn't the lambda here by always escape? It gets created in the function and passed into another one. Looking at the byte code it looks like it always allocates in when its in the interpreter: invokedynamic #16, 0
813.
▲
by
vips7L
2y ago
Size 89 font for the code samples too
814.
▲
by
vips7L
2y ago
IIRC less than half of all deployments are on Java 8. Most of the community has moved past it.
815.
▲
by
vips7L
2y ago
Gradle files are less verbose than the equivalent Maven pom.xml but Gradle tends to have other issues like: complex builds that are hard to maintain, not running on the latest JVM version without some wait time, and constantly breaking beca
816.
▲
by
vips7L
2y ago
Scala's great if you can end up in a code base that is "scala as a better java" instead of "scala as haskell on the jvm".
817.
▲
by
vips7L
2y ago
Any of them except for the Oracle Commercial build.
818.
▲
by
vips7L
2y ago
I don’t really understand the argument either. GraalJS is an implementation of ES2023 with additional features from graal on top. Just because its implementation wasn’t originally for a web browser makes it not “canonical”?
819.
▲
by
vips7L
2y ago
IIRC it was also because the Eclipse community didn’t want to go through the Java Enhancement Process which the javax name is tied to.
820.
▲
by
vips7L
2y ago
I don't think that's true and I don't think there is any data to back that up. We've already seen in the C# community rapid adoption of nullness markers. This whole goal post moving and the idea that if we can't hav
821.
▲
by
vips7L
2y ago
> Anyone who breaks them knows it's on them, and if they don't, they certainly should have. I agree, the issue arises when library developers make this decision and application developers have to deal with the fall out of that.
822.
▲
by
vips7L
2y ago
But that doesn't break compatibility like you claimed and it also doesn't support your conclusion that it will not likely be used. > he compiler doesn't know, so the only way the compiler can ensure null safety for using o
823.
▲
by
vips7L
2y ago
I don't see how this is relevant. This purely puts control into the hands of application developers. It lets them know exactly what correctness, portability, and integrity guarantees their application has. The application developer STI
824.
▲
by
vips7L
2y ago
Again I think you have a deep misunderstanding of how this works. This puts control into the hands of the everyday application developer! It ensures that the application developer knows what correctness, portability, and integrity guarantee
825.
▲
by
vips7L
2y ago
Awesome, you now have a private fork! You the application developer now know your code isn't portable with the library! The JVM also can do its optimizations without having integrity change from under its feet at runtime! Win win!
826.
▲
by
vips7L
2y ago
It seems like you have a misunderstanding of how this works. If you want or NEED to do the things that break integrity you still can do them. You just need to enable them at the command line and admit that "yes I know these things brea
827.
▲
by
vips7L
2y ago
> Java 1.8 is good enough for eternity, so they have to break it to keep getting a salary. Java 8 is an antiquated runtime that under performs in all categories against other modern runtimes. > What needs to be fixed in Java is the Vi
828.
▲
by
vips7L
2y ago
> You have a very strange threat model given how stunningly trivial it is to decompile .class files I don't see how this is relevant. I'm talking at runtime. If I have a class: class Point { private final int x;
829.
▲
by
vips7L
2y ago
As an application developer I love these changes. I do not want some library calling out to architecture specific binaries without me knowing. I want to have to enable that for them so I know that my application is portable. I do not want r
830.
▲
by
vips7L
2y ago
I don't think I agree. C# added it and its gone well and Java is adding null safety without breaking backwards compatibility at all.
831.
▲
by
vips7L
2y ago
https://docs.scala-lang.org/scala3/reference/experimental/ex...
832.
▲
by
vips7L
2y ago
His book Domain Driven Design Made Functional is really good. It really opened my eyes on DDD.
833.
▲
by
vips7L
2y ago
JBang can grab dependencies for you.
834.
▲
by
vips7L
2y ago
Jbang has a similar feature: https://www.jbang.dev/documentation/guide/latest/dependencie...
835.
▲
by
vips7L
2y ago
I don’t particularly think subtyping is harmful. It can be misused, but everything in programming can be misused.
836.
▲
by
vips7L
2y ago
Sure, I just think that’s being pedantic.
837.
▲
by
vips7L
2y ago
Yeah they seem to be trying to force the conversation into encapsulation == mutability when that flatly is just not true. There are tons of immutable objects that benefit from encapsulation and there is plenty of internal immutable state th
838.
▲
by
vips7L
2y ago
Compile times, lots of backwards compatibility breaking, and the forced functional everything from the community even though it was designed to be a blend of OO and FP.
839.
▲
by
vips7L
2y ago
I really disagree. You don’t need polymorphism or inheritance. The core of OOP is objects and encapsulation. Putting behaviour next to the data. It has nothing to do with mutability.
840.
▲
by
vips7L
2y ago
I write software for this industry, the thought of not involving the FDA genuinely scares me.
More ›