JackbyDev

joined 2 years ago
[–] JackbyDev@programming.dev 7 points 7 months ago* (last edited 7 months ago) (2 children)

I mentioned this uses preview features twice in the first comment regarding this, so I don't know why you're "ah ha"ing. Also you don't need to read the technical document, I've quoted the entirety of the relevant text. I provided it as a citation.

You seem confused about preview features. It's not a switchable mode to reduce boiler plate. I find the name very clear, but here is more information. From JEP-12

A preview feature is a new feature of the Java language, Java Virtual Machine, or Java SE API that is fully specified, fully implemented, and yet impermanent. It is available in a JDK feature release to provoke developer feedback based on real world use; this may lead to it becoming permanent in a future Java SE Platform.

As an example, JDK 17 added pattern matching for switch statements as a preview, and by JDK 21 it was added as a full fledged feature that doesn't require usage of the enable preview flag. Presumably in some future release of Java this feature will not require the usage of a flag.

[–] JackbyDev@programming.dev 2 points 7 months ago* (last edited 7 months ago) (4 children)

Main method is not public static

It must be somewhere under the hood. Otherwise, it wont be callable and it would require an instance of an object to call. Unless the object here is the Java environment?

No. From JEP-445:

If an unnamed class has an instance main method rather than a static main method then launching it is equivalent to the following, which employs the existing anonymous class declaration construct:

new Object() {
    // the unnamed class's body
}.main();

No String[] args

They are just optional I'm sure, like C and C++. You still need them to read command line arguments.

Without the preview feature enabled, it is not an optional part of the method signature. It specifically looks for a main(String[]) signature.

[–] JackbyDev@programming.dev 3 points 7 months ago* (last edited 7 months ago)

**kwargs

"No, I don't use type annotations because they don't actually do anything. In fact I purposefully give this parameter different types for different behaviors. How is that confusing?"

[–] JackbyDev@programming.dev 7 points 7 months ago (9 children)

This is getting a little better nowadays.

> cat Hello.java
void main() {
    System.out.println("Hello, World!");
}
> java --enable-preview Hello.java
Hello, World!

Things to notice:

  1. No compilation step.
  2. No class declaration.
  3. Main method is not public static
  4. No String[] args.

This still uses preview features though. However, like you demonstrated already, compilation is no longer a required step for simplistic programs like this.

[–] JackbyDev@programming.dev 2 points 7 months ago

You may find JML interesting. https://www.openjml.org/

[–] JackbyDev@programming.dev 6 points 7 months ago (2 children)

Java is amazing and I love it, and I agree that this is not really a good list of problems. (Not that I expect green texts to be well thought out, rational, real, fair, or anything other than hyperbolic rants lol.) There are good reasons to critique it and the ways people use it, but this isn't it.

Particularly funny is the one about race conditions. That's something you'd have to deal with in any sort of multi threaded environment.

[–] JackbyDev@programming.dev 9 points 7 months ago

Spoken like someone who hasn't had to use both!

[–] JackbyDev@programming.dev 8 points 7 months ago (1 children)

I miss that ringtone though.

[–] JackbyDev@programming.dev 2 points 7 months ago

I feel you, but Mastodon has about 9 million users and BlueSky has 15 million (if the first results from a search index are to be trusted), but I could not find anywhere even close to 60% of the people in this hobby on Mastodon as I have on BlueSky.

There was a very concentrated push recently of artists (I think it was artists originally) to go to BlueSky and it's sort of echoed into similarish hobbies. So that's probably why the user makeup is a little different.

[–] JackbyDev@programming.dev 4 points 7 months ago* (last edited 7 months ago)

I'm pretty sure you get warnings trying to delete system32.

Edit: And I mean beyond the standard UAC pop-up.

[–] JackbyDev@programming.dev 2 points 7 months ago (1 children)

Not enough people on Mastodon are into the things I was using Twitter/use BlueSky for.

view more: ‹ prev next ›