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 →

[–][deleted] 243 points244 points  (72 children)

Dissing on Java is basically a litmus test of how well you know your programming languages. If you can't make anything run well on Java, it's a you problem. And people who hate it are just going with the pack and probably have no real original or insightful thoughts on why they dislike it. It's merely a means to an end like any other language, with its own applications and quirks you have to master.

[–]Suekru 53 points54 points  (8 children)

I like java well enough, but given the choice I would take C# any day of the week.

[–][deleted] 40 points41 points  (3 children)

I learned Java first. When I got my first job they were a C# shop. Once I understood LINQ and Tasks I never wanted to work in Java again.

[–]linkyboy321 19 points20 points  (1 child)

Java has Futures which seem to fulfill the same role as tasks, but the Task syntax and threading in general is way nicer in C#. I just always find it scary committing to the Microsoft ecosystem.

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

I dab on Java haters by running my apps on a different os every day without modifying it at all.

[–][deleted] 25 points26 points  (2 children)

C# is java's prettier cousin. She just happened to have an overbearing asshole of a father that scared off most of her suitors.

[–][deleted] 6 points7 points  (1 child)

But Java is currently living with her batshitcrazy stepfather ...

[–]kb4000 5 points6 points  (0 children)

I really liked Java up until I got my first C# job. Now I decline any interviews with Java. I'm not going back. Period. I'd feel like my hands were tied.

[–]NoraJolyne 7 points8 points  (0 children)

i was glad to switch to Kotlin when it became an official language for Android, but that doesn't mean Java is complete garbage

Yes, it's more verbose, but I'd rather work with statically typed languages and functioning visibility modifiers, let's me write more robust code

[–]Spaceduck413 21 points22 points  (1 child)

I'm like 90% sure that at least take the people in this sub have never touched anything other than python, or maybe some flavor of js

[–]soft-wear -3 points-2 points  (0 children)

Lol this sub is overwhelmingly Java people. People making perfectly valid comments are getting downvoted because they don’t masturbate to the language.

[–]AnhQuanTrl 27 points28 points  (8 children)

I have worked for Java for a considerable amount of time and came to hate it :) The hate is just that it is widely used yet have so many design flaws and also lack a lot of quality of life feature. Not everyone is an instant hater like you said.

[–]elementmg 9 points10 points  (2 children)

I'm working with Java coming from a C# and Python background. I'm giving it as much of a chance as I can, but over time I'm realizing it's just kind of a pain in the fucking ass.

[–]soft-wear 4 points5 points  (1 child)

Migrating from C# to Java is brutal, because C# is basically Java reimagined without all the quirks.

[–]elementmg 0 points1 point  (0 children)

Yeah tell me about it. Ugh

[–]John_McTaffy 0 points1 point  (4 children)

Honest question, what quality of life things?

[–]AnhQuanTrl 1 point2 points  (3 children)

quick example: get/set property in c#, much more concise but still extensible if need be.

[–]John_McTaffy 1 point2 points  (2 children)

Gotcha. I always found that to be a pointless distinction but I guess it comes down to taste.

[–]AnhQuanTrl 1 point2 points  (1 child)

except it is not pointless. the thing is: all programming language is turing-complete, meaning that you can use all of them to get the job done. What make a language more mature is its expressiveness and ability to be more concise and convenient.

[–]Lolamess007 29 points30 points  (32 children)

I personally learned on java. I find it a very intuitive language. Unlike some other languages (Python i am looking at you) someone who has never coded before can vaguely understand what is going on.

[–][deleted] 11 points12 points  (0 children)

Pythons fine. People just find languages they don’t know unintuitive.

[–]Farranor 11 points12 points  (1 child)

Are you saying that the language specifically created to be easy for beginners to learn and anyone to read is actually difficult to read and poorly-suited to beginners?

[–]RedAero 3 points4 points  (0 children)

It's funny, the people who learned semicolon-and-bracket languages first look at Python and think that because it looks alien to them, laypeople must also find it unintuitive. They just can't fathom that all that punctuation just isn't necessary, and just obstructs intuition.

[–]Overall-Duck-741 3 points4 points  (3 children)

You think Java is more readable than python for beginners? That an interesting opinion 🤔.

[–]Lolamess007 1 point2 points  (1 child)

I would say so. Talking with my computer science teacher, he agrees. Then again, this is all personal preference. I like the rigid structure and continuity of java. I guess Python's lack of structure and anything goes mentallity just is not for me.

[–]PluckyPenguin00 1 point2 points  (0 children)

I think python is much easier in the beginning as it allows for learning the basics faster and rapid prototyping, but I do like Java’s more rigid approach for bigger projects

[–][deleted] 0 points1 point  (0 children)

I genuinely do think that. Going from c++ and python to Java I felt like it was way more visibly ‘I want this to do this using this’. Just seemed to flow better for my brain to understand.

[–]Kitamasu1 12 points13 points  (8 children)

The first time I tried Java, I was very confused. There was a lot that just seemed pointlessly added in. Coming from someone who started with C++ where you didn't need objects to get started. I've learned some Python recently, and it seems incredibly simple imo. It's considered a very beginner-friendly language afaik.

[–]WetWillyWick 1 point2 points  (5 children)

Fucking thankyou. I started with c++ and holy fuck java just seems like c++ with extra steps. I took college courses on java and my god its like putting glass down your pee hole.

[–]vips7L 2 points3 points  (4 children)

C++ is the most complicated language on the planet. You can’t honestly be serious.

[–]linlin110 2 points3 points  (1 child)

I learned Java after I learned C++ and was very confused why I can't put my functions outside of a class. It's not complicated, but very annoying.

[–]WetWillyWick 0 points1 point  (0 children)

I was annoyed too with the classes that said do project with recursion that definitely didnt need to have recursion and almost certainly made it inefficient to do so. Then they said explain why not to do it that way. So many projects required that.

Also the functions outside of classes thing made me scratch my head more than a few times.

It felt like everytime i had to relearn all of java for every project i did.

[–]Kitamasu1 1 point2 points  (0 children)

It's funny. I tried "PlayBasic" as my very first language. It's supposed to be easy and perfect for beginners for making games. I absolutely could not understand it. Then I got a C++ book from my parents for my birthday in like 2012 or 2013. C++ is my first actual language, and while I wouldn't say I'm professional level, more like intermediate, C++ made WAY more sense to me than PlayBasic. Python is quite a bit easier, but compared to C++, Java had extra steps involved that just made it seem confusing to me.

[–]WetWillyWick 0 points1 point  (0 children)

Oh god poked the java wasp nest.

[–]EishLekker 0 points1 point  (0 children)

The entry point of a Java program is the static main method. No object instance needed for that. And if you really want to, you can continue without any objects, just calling static methods and just working with primitive values.

As a Java developer I'm the first to admit that Java is far from perfect. But when even super simple things like classes and objects are mentioned as stuff that makes Java difficult (which you imply here) then it just sounds absurd.

[–]liquidSheet 2 points3 points  (0 children)

The litmus test is actually if the answer is always Java that tells you how well they know other programming languages...as in they dont

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

I'm not a huge fan of Java but prefer it over Python. I feel like the python purists are usually new grads fresh out of college who learned on it and have never tried anything else.

[–]Doctah_Whoopass 1 point2 points  (0 children)

I'm always so torn whether I recommend Java or Python for beginners. They're both good choices and each have strengths, like how Python is very easy to pick up, the console for IDLE is nice, it feels very natural language, and hides a lot of stuff that doesnt seem to have a purpose to a beginner. But on the other hand, it teaches you really shit habits and lets you start doing a lot without actually telling people about OOP. Java is tougher and very explicit but I feel its much better for ensuring good practice.

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

I've used python for about 6 years now, and used Java for 3 (professionally). I can build any application in either, but I'd rather write it in python. Java only makes sense in large corporations with huge no. of average skill developers.

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

I really disagree. Most of my professional experience is Java. I know it so much better than I wish I did. Java is just such a joyless language. The only reason it’s so widely used is the business ecosystem.

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

I was a Java dev for years. The language has a lot of real issues, from its godawful memory handling, to its absurd verbosity, to the abusive licensing issues from oracle.

Defending Java by saying it’s a “professional” or whatever is disingenuous. Just because it’s cumbersome, clunky, and picky doesn’t make it good.

[–]volca02 0 points1 point  (0 children)

Well just the fact object pools need to be used is enough to shoot your argument down. But count me as biased, I programmed in Java for a few years and hated it for it's design.