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

Greentext

4390 readers
927 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
[–] KoalaUnknown@lemmy.world 56 points 2 days ago (13 children)

Am I weird for liking Java? I feel like it just makes so much more sense than other languages.

[–] Serinus@lemmy.world 51 points 2 days ago (18 children)

C# is nearly the same, but much, much better.

  • It doesn't (usually) come with the Java culture 8 layers of abstraction. This isn't in the Java language. This isn't in OO. Yet nearly every Java programmer makes things way more complicated than it needs to be.
  • It's a prettier language. Similar syntax with less bullshit.
  • It's open source
  • It's still multiplatform. Modern dotnet / C# works on anything.
  • Both Visual Studio and Visual Studio code are great IDEs that blow Eclipse out of the water
  • It's one of the most common business languages.
  • It's going to be supported forever.

If I could restrict the world of programming to two languages, it'd be C# and Rust. C# for most things and Rust for a lower level language.

load more comments (18 replies)
[–] dev_null@lemmy.ml 12 points 2 days ago* (last edited 2 days ago) (3 children)

I thought I like Java until I tried Kotlin. It's everything I liked about Java, but with everything wrong with it fixed.

load more comments (3 replies)
[–] sentient_loom@sh.itjust.works 26 points 2 days ago

I like how straight-forward the syntax is. And it also seems orderly to have everything be a class. There's a system to it.

I'm using C++ for a project now and I like it in a similar way, but there's more freedom (everything doesn't HAVE to be a class). So with C++ I'll never go back to Java (unless it's for a job).

[–] SorteKanin@feddit.dk 7 points 2 days ago (3 children)

Honestly I would consider that a bit weird. At the very least, old-fashioned. If you like Java, it makes me think you haven't tried a better more modern language to compare it with.

load more comments (3 replies)
load more comments (9 replies)
[–] Ilovethebomb@lemm.ee 72 points 2 days ago (41 children)

Can anyone who's actually dealt with Java tell me how much Anon is exaggerating?

[–] bluelion@sh.itjust.works 44 points 2 days ago (3 children)
  • a hello world doesn't need libraries in Java
  • installing JDK takes at most 5 steps, depending on the OS
  • a nullpointerexception is more likely the developper's fault (unassigned value, calling a function on a null object)
  • IntelliJ is easy to install and modern (granted, other IDEs are very ancient)
  • developping GUI apps is a PITA, no matter the ecosystem (generally)

The rest is more or less spot on (no idea about concurrency issues though)

[–] Blue_Morpho@lemmy.world 28 points 2 days ago (2 children)

nullpointerexception is more likely the developper's fault

Of course it was the developer's fault. But it's absurd a language without pointers throws an error about pointers.

load more comments (2 replies)
load more comments (2 replies)
[–] Lysergid@lemmy.ml 28 points 2 days ago* (last edited 2 days ago) (2 children)

95% exaggeration. Here is reality:

  • yeah you need main class coz it’s OO-language. Though, not required anymore, which should’ve been done once Java got scrip language capabilities (jshell) back in JDK 9. But as of today not required anymore
  • imports exist in most if not all languages. Gotta be insane writing them manually in 2010 let alone 2024
  • installing Java runtime (JRE) is as simple as installing any app. Though for installing JDK you need 5 mins for setting PATH. Think about JDK as like TSC or Webpack and JRE as a Browser. I’d argue installing and configuring JDK is simpler than TSC or Webpack
  • Unless you doing some non-trivial multi-threading your stack trace will tell you exactly where is your NPE. You gotta be as blind as my teammates to spend more than 1 minutes to find where it is coz it literally tells you file and line numer where Exception occurred
  • I mean, yeah if you use IDE from 2000 it will look like it. IntelliJ looks modern, though I don’t like the fact latest versions look like VSCode
  • I hardly reach 3G of deps from all 10 projects I have on my workstation.
  • IDK what anon means by ecosystem here, Java ecosystem is quite standard across the board. JDK(std lib), Maven/Gradle(deps, build, publishing), Spring Framework (all sorts of blueprints and solutions to standard app level problems), Hibernate/JPA (ORM), JUnit+Mockito (testing). These are tools and libs used in 90% of projects I worked on. Of course there will be more depending on project needs. Layers? It’s not like language imposes any layers whatsoever. It’s just common practice to have 3-4 layers and some glue in-between.
  • don’t do GUI in Java it sucks and will suck until Java gets string interpolation. Hopefully soon
  • concurrency is actually the only thing which is really bloated in Java. Which will change with next LTS version if I remember correctly. And it’s not that hard if you actually read the f manual and not just “try and hope”. Again it will become much more efficient and easier to follow soon. As of now - yeah, not trivial. But people mostly prematurely optimize, so karma
  • Java is kinda have 20 ways to do same thing but actually no. Java built with idea of providing simple building blocks. Then it provides more specific API built on top of those building blocks. It allows to have API which solves typical problems and provides capability to solve custom problems with those building blocks. People often confuse this as many ways to do one thing but it’s like saying “I can have byte array why I need string data type”. Those are different levels of abstraction

Edit: typos

[–] rumba@lemmy.zip 19 points 2 days ago

95% exaggeration if he is a real programmer.

If he just tried to walk into Java knowing nothing or maybe PHP, and refused to RTFA, he might experience about 30% to 40% of that I just trying to do everything wrong.

load more comments (1 replies)
[–] chunkystyles@sopuli.xyz 26 points 2 days ago (9 children)

I've been programming in Java professionally for 11 years. It's not just embellishment, it's outright lying.

Threads giving you race conditions? All concurrent programming will do that if you're shit at it.

Java has come a long way. I will admit that UI in Java is terrible. I would never do that.

load more comments (9 replies)
[–] schteph@lemmy.world 27 points 2 days ago (3 children)

Java is religiously backwards compatible. Modern java projects are not as enterprisey and boilerplatey, but, as jdk21 is backwards compatible with jdk1.3, you can still happily write code as if it's 2003.

Additionally, the java space is huge, so just wildly googling will probably not help you that much.

load more comments (3 replies)
load more comments (37 replies)
[–] jrgn@lemmy.world 28 points 2 days ago (1 children)

Not using Eclipse helps. Using Scala helps even more

load more comments (1 replies)
[–] Orbituary@lemmy.world 34 points 2 days ago (6 children)

My old boss is one of the 3 initial creators of Java. He ran our department the same way this greentext reads.

He was also a paedo. You can figure out the rest if you dig.

[–] remi_pan@sh.itjust.works 16 points 2 days ago

Known for : the Java programming language, internet sex crime and the fantasy defense.

load more comments (5 replies)
[–] Clbull@lemmy.world 14 points 2 days ago (6 children)
load more comments (6 replies)
[–] WormFood@lemmy.world 17 points 2 days ago (7 children)

object orientated programming is the wrong idiom for almost all problems, and even in the few cases where it makes sense, you have to be very careful or it'll hurt you

[–] 31337@sh.itjust.works 10 points 2 days ago (1 children)

Idk. Maybe it's because I learned OOP first that it makes more sense to me; but OOP is a good way to break down complex problems and encapsulate them into easily understable modules. Languages like Java almost force everyone on the project to use similar paradigms and styles, so it's easier for everyone to understand the code base. Whenever I've worked on large non-OOP projects, it was a hard-to-maintain mess. I've never worked on projects such as the Linux kernel, and I'm hoping it's not an unmaintainable mess, so I'm pretty sure it's possible to not use OOP on large projects and still be maintainable. I am curious if they still use OOP concepts, even though they are not using strictly OOP.

I also like procedural python for quick small scripts. And although Rust isn't strictly OOP, it obviously borrows heavily from it. Haskell is neat, but I haven't used it enough to be proficient or develop good sense of application architecture.

I've done production work in C, but still used largely OOP concepts; and the code looks much different than code I've seen that was written before C++ was popular.

load more comments (1 replies)
load more comments (6 replies)
[–] Ab_intra@lemmy.world 29 points 2 days ago (1 children)

Just imagine how it must have been to code Minecraft 🤣

[–] joyjoy@lemm.ee 33 points 2 days ago* (last edited 2 days ago) (4 children)

They only had to deal with LWJGL. The corporate java world has to use Spring.

Edit: They also had to deal with all the fans saying they should've written it in C#.

load more comments (4 replies)
load more comments
view more: ‹ prev next ›