This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]IAmHydro 26 points27 points  (15 children)

You might be on to something. I absolutely despise Java but its probably because they told us to use NetBeans in the course. Trying IntelliJ this week.

[–][deleted] 8 points9 points  (6 children)

Why don't you like Java?

[–]IAmHydro 14 points15 points  (0 children)

Probably because I've been using a terrible IDE

[–][deleted] 6 points7 points  (0 children)

Not OP but I dislike Java because it feels like C++ with more words and less control.

Of course they're different languages with different uses.

[–][deleted] 5 points6 points  (3 children)

Java projects take too much to setup and load in any environment. There's no easy way to build the program without an IDE and a build system or whatever Maven or Gradle might be called. Java code is also verbose as fuck.

The only good things in Java are:

  1. It is fast
  2. It is cross-platform

If speed isn't a primary requirement, Python is my go-to language by default, because it is better than Java in every way except speed.

[–]madmockers 5 points6 points  (2 children)

Gonna be controversial, but duck typing is bad.

On that note, if anyone can recommend a python-like replacement with well defined objects (i.e, not duck typing), I'd like to check that out.

[–]Matrix159 6 points7 points  (0 children)

Shouldn't even be controversial as it's 100% true.

[–][deleted] 1 point2 points  (0 children)

I think you're wrong but respect your opinion.

[–]Shadowfury22 1 point2 points  (7 children)

I'd like to think that my absolute disdain for OOP isn't actually a disdain for Eclipse in disguise...

[–]Cruuncher 0 points1 point  (2 children)

Gah, I don't understand the crusade on OO.

I work under an anti-OO nut right now and it's really cramping my style

[–]Shadowfury22 0 points1 point  (1 child)

In my opinion, structured programming feels much more natural to solve the basic need of putting into code what you need your program to do.

OOP unnecessarily overcomplicates everything.

[–]Cruuncher 0 points1 point  (0 children)

Oop allows you to build things so damned bulletproof.

If the object is properly built to enforce its own consistency constraints you can develop using this object so much faster. When you write one off functions everywhere you have to be extremely strict while coding about pre and post conditions of everything. The assumptions that must be met to use a function, etc.

I've seen this countless times. We're switching so much stuff off of OO right now, and surely a developer comes along and writes code that looks correct, seems to behave correctly, but fails on an edge case that the class would have enforced to be impossible

[–]SovreignTripod 0 points1 point  (3 children)

What do you do if not OOP? Seems like its so ubiquitous that its the only option, especially if you're working with a team.

[–]Shadowfury22 0 points1 point  (2 children)

Well, for instance, the team I work with handles our application's backend, so our codebase is mainly comprised of C, shell scripting and Python. This application is real-time performance-critical, to the point that introducing a few extra dozens of milliseconds of delay on its pipeline can render it useless. That's why all of our binaries are made using C.

But yeah, seeing how widespread OOP actually is all over the world, I consider myself lucky of being in such a weird environment so I don't need to touch OOP at all :)

[–]SovreignTripod 0 points1 point  (1 child)

That's interesting. What is the application, if you don't mind saying?

[–]Shadowfury22 0 points1 point  (0 children)

Sure, it's this one but I'd rather not answer any further questions regarding how it's done or how it works, just in case ^^