• sugar_in_your_tea@sh.itjust.works
    link
    fedilink
    arrow-up
    3
    arrow-down
    2
    ·
    edit-2
    14 hours ago

    And most IDEs will autogenerate it for you.

    That said, I think it highlights everything I hate about Java:

    public class MyClass {

    Why does it need to be a class? I’m not constructing anything?

    public static void main(String[] args) {

    Why is this a method? It should be a top-level function. Also, in most cases, I don’t care about the arguments, so those should be left out.

    System.out.println(“Hello world!”);

    Excuse me, what? Where did System come from, and why does it have an “out” static member? Also, how would I format it if I felt so inclined? So many questions.

    And here are examples from languages I prefer:

    C:

    #include “stdio.h”

    Ok, makes sense, I start with nothing.

    int main() {

    Makes sense that we’d have an entrypoint.

    printf(“Hello world”);

    Again, pretty simple.

    Python:

    print(“Hello world”)

    Ok, Python cheats.

    Rust:

    fn main() {

    Ooh, entrypoint.

    println!(“Hello world”);

    I have to understand macros enough to realize this is special, but that’s it.

    In C, Python, and Rust, complexity starts later, whereas Java shoves it down your throat.