this post was submitted on 13 Nov 2024
793 points (96.3% liked)

Greentext

4384 readers
1731 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
 
(page 2) 50 comments
sorted by: hot top controversial new old
[–] [email protected] 3 points 14 hours ago (6 children)

Could be worse, could be programming Javascript (or Typescript).

load more comments (6 replies)
[–] AusatKeyboardPremi 36 points 1 day ago (6 children)

I might have agreed a decade or two ago, when I knew no better. But today, I find the tribalism surrounding programming languages comical.

I don’t particularly like Java, but I use it because it pays the bills. Similarly, I use C++ (which I prefer) when my work requires it.

load more comments (6 replies)
[–] Clbull 14 points 22 hours ago (5 children)
[–] [email protected] 4 points 17 hours ago (1 children)

My experience with Java over the last 2 decades or so. Shame Android gave it extra life, thankfully Kotlin exists now.

[–] [email protected] 3 points 14 hours ago

Yup, I swore off Android dev almost entirely because of Java, and then Kotlin came out and Android programming was tolerable again. Not fun, tolerable, lipstick can only make a pig so appealing...

load more comments (4 replies)
[–] [email protected] 26 points 1 day ago (1 children)

If it took anon 30 minutes to write hello world in java, programming is not for anon.

[–] [email protected] 13 points 20 hours ago (4 children)

We bow to your wisdom, wise gatekeeper

[–] lurklurk 3 points 17 hours ago* (last edited 17 hours ago) (2 children)

It's like 5 lines of trivial code

[–] [email protected] 5 points 16 hours ago

Some of us try to understand what we're doing, rather than just copy/paste. It's easy to discount how difficult learning the basics of something is when you're already past it.

[–] [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.

load more comments (3 replies)
[–] [email protected] 147 points 1 day ago (1 children)

I also think Java is shit, but if you manage to get a NullPointerException while writing a hello world program, maybe anon is just not cut out for computers?

[–] [email protected] 79 points 1 day ago (2 children)

I always loved that Java has a NullPointerException but doesn't have the concept of pointers in the language (only references).

[–] [email protected] 42 points 1 day ago (2 children)

That is because they planed to add pointers and then gave up.

[–] [email protected] 27 points 1 day ago

I can't tell if you are making a joke but I can believe it could happen if it's Java

[–] [email protected] 14 points 1 day ago

I mean... they have them. And unsafe. You're just not supposed to use them

[–] [email protected] 16 points 1 day ago

C# has NullReferenceException and it actually makes sense.

[–] [email protected] 28 points 1 day ago (6 children)

C# masterrace and I'm tired of pretending it's not

load more comments (6 replies)
[–] [email protected] 5 points 20 hours ago (12 children)

Aside from the general stupidity, Java is a heavily front-loaded language in my experience. I'm not going to engage in any tribalism about it or claim that it's better or worse than others. As a matter of personal taste, I have come to like it, but I had to learn a lot until I reached a level of proficiency where I started considering it usable.

Likewise, there is a level of preparation on the target machines: "Platform-independent" just means you don't have to compile the program itself for different platforms and architectures like you would with C and its kin, as long as the target machines have an appropriate runtime installed.

Libraries and library management is a whole thing in every general-purpose language I've dealt with so far. DSLs get away with including everything domain-specific, but non-specific languages can't possibly cover everything. Again, Java has a steep learning curve for things like Maven - I find it to be powerful for the things I've used it in, but it's a lot to wrap your head around.

It definitely isn't beginner-friendly and I still think my university was wrong to start right into it with the first programming classes. Part of it was the teacher (Technically excellent, didactically atrocious), but it also wasn't a great entry point into programming in general.

load more comments (12 replies)
[–] jrgn 27 points 1 day ago (1 children)

Not using Eclipse helps. Using Scala helps even more

load more comments (1 replies)
[–] [email protected] 158 points 1 day ago

Java

Thats your first mistake bucko

load more comments
view more: ‹ prev next ›