this post was submitted on 13 Nov 2024
788 points (96.1% liked)

Greentext

4383 readers
1946 users here now

This is a place to share greentexts and witness the confounding life of Anon. If you're new to the Greentext community, think of it as a sort of zoo with Anon as the main attraction.

Be warned:

If you find yourself getting angry (or god forbid, agreeing) with something Anon has said, you might be doing it wrong.

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 1 points 14 hours ago* (last edited 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.