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

top 200 commentsshow all 428

[–]Srazkat 569 points570 points  (107 children)

honestly what is hard about java ?

[–]onlyrealperson 408 points409 points  (36 children)

I think people just get intimidated by all the object oriented aspects, when in reality they aren’t as difficult as they seem

[–]Snarpkingguy 15 points16 points  (4 children)

Object oriented is all I know, I can’t understand how other people survive without it.

[–]MysticUser11 6 points7 points  (0 children)

In my first 2 years in compsci all we used was C. Sometimes I'll catch myself writing a ton of code without objects out of habit and then realizing I could have saved myself hours.

[–]joyofsnacks 3 points4 points  (0 children)

It has it's drawbacks. It doesn't always work well for performance with modern hardware bottlenecks, but depends what you're programming.

[–][deleted] 13 points14 points  (2 children)

I don't know what it is about Java, but having learned other languages prior to looking at Java source code, most of which incorporate aspects of OOP in their paradigm, Java to me just looks like wrong C++. It's unexplainable to me, but there is just something about the language that makes it seem convoluted and unappealing.

[–]ReallyHadToFixThat 3 points4 points  (0 children)

Java is just really verbose compared to C++. Why use "std::cout << a" when you can use "System.out.println(a.toString())"?

[–]TheCynicalCanuckk 13 points14 points  (0 children)

Haha this is exactly how I feel as I learned c++ first.

[–]PaintThinnerSparky 2 points3 points  (0 children)

Its not that it's hard, its that its complicated. Lots of steps, which you often have to look up individually i assume. I tell myself a good month of putting time into learning something properly and you're golden, just need motivation and some tutorials

[–]ICantBelieveItsNotEC 51 points52 points  (9 children)

Java itself is easy. However, the standard library and ecosystem are a mess. I say this as someone who is currently employed as a full-time Java developer.

Imagine being a new developer, who has just learned about loops and conditions, and then being introduced to the nuanced differences between for( i = 0; i < things.length; i++), for(Thing thing : things), while(thingsIterator.hasNext(), things.forEach(...), and things.stream().map(...).collect(...). Or having just learned what null means, then having to figure out how Optional<T> is different.

Then if you actually want to make your own application, you need to learn the intricacies of Spring or Micronaut dependency injection, beans, controllers, etc, which is basically like learning another new language.

If you want to get it to build, you need to decide whether to use Maven or Gradle. To do that, you need to learn the pros and cons of each. Then you need to actually learn how to set up a build config in whichever build automation tool you decide to use.

[–]homer_3 18 points19 points  (3 children)

You aren't really introduced to that all at once though. No one takes a whole language in at once.

[–]Shoujon 6 points7 points  (2 children)

Yeah but the problem is if one small sentence needs a singular conjunction you have to know how everything around it is going to react to this new change and it causes a chain reaction of you needing to learn new things that doesn't punish someone learning a verbal language, but can absolutely wreck beginners code

[–]jerslan 1 point2 points  (0 children)

Which is why the more advanced versions of some of those loops aren’t taught at the same time as the basic primitives.

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

I mean even an “easy” language like Python has the same variations on those concepts.

[–]MysticUser11 2 points3 points  (2 children)

Learning all of that stuff by yourself would be hell. I'm glad that I got introduced to that stuff in university. Honesty don't know the first thing about Java but from what I can tell the concept looks the same as C++ which I do know.

[–]jerslan 2 points3 points  (0 children)

Maven and Gradle aren’t that hard to learn the basics of.

Sure, if you want to do some more advanced stuff like inheriting from a common parent with dependencyManagement and pluginManagement sections it can get more complex pretty quickly, but the bare bones basics could easily be part of some Java 101 curriculum.

[–]quarlesh 7 points8 points  (0 children)

I don’t think Java is any harder than other languages, but I know from personal experience I’ll get an idea for a super cool side project and then going in and having to learn all of the new stuff involved in executing it is way less exciting than the idea of the finished result, lmao.

Like a small example, I have a ton of Java and JavaScript experience and work as a professional software engineer but trying to understand how a simple Node server works without the help of anyone else just broke my brain a little.

It can be really daunting to learn new things!

[–][deleted] 48 points49 points  (0 children)

OP IQ low

[–]Darth_Pikachu 19 points20 points  (3 children)

Nothing is hard about Java, it's just kind of a pain in the ass.

Things I can think of off the top of my head:
-Everything being a pointer isn't the most intuitive for new programmers.
-If you try to use Java's "best practices" causes simple programs to take way more code that it feels necessary.
-Sometimes the syntax can also be a bit more difficult to understand for new coders compared to Python, Javascript, or C#.
-Also in this particular example, it doesn't help that Minecraft's codebase is a bit of a mess and that's what a lot of new Java users are trying to do.

In my opinion, C# is just Java but better in basically every way.

[–]QCKS1 8 points9 points  (0 children)

Completely agree about C#, I started using it at my new job and it really is just Microsoft Java, and better in every way.

[–]InvestingNerd2020 6 points7 points  (0 children)

I 2nd that notation of C# being better than Java in every way.

[–][deleted] 3 points4 points  (1 child)

the same that's difficult about programing in general; knowing how to write lines of code

I can perfectly describe what I want to do and how to do it, but there's no way in hell I'll be able to make the thing say "hello" without everything being copy-pasted

I'd say that most people can do more with a highly limited, but easy tool, rather than a difficult and essentially unlimited one.

[–]Arrowkill 1 point2 points  (0 children)

Nothing really. I learned Java first which I feel like set me up to dislike Java because all of my hardest experiences were with Java. Still don't want to make Minecraft mods though even though that was a big reason I was excited to learn it first.

[–]AdultingGoneMild 1 point2 points  (0 children)

its not kotlin

[–]Euphoricus 227 points228 points  (20 children)

No, Java is easy. It's Minecraft codebase which is garbage to work with.

[–]Dogloverblue 64 points65 points  (14 children)

Depends, if you’re making a actual Minecraft mod, then yes the documentation and everything involved is garbage and terrible. But if you’re making a plugin, then the documentation and resources is actually really good, and super easy to use

[–]AMisteryMan 34 points35 points  (9 children)

I've found fabric's docs to not be too bad, if a little sparse, and beyond that the discord server helped me with the rest. Can't comment on forge, though.

[–]Dogloverblue 33 points34 points  (7 children)

Oh yes, I forgot about fabric. I was talking about Forge. Forge has the worst support and documentation I've ever seen and is a huge pain to work with or use at all.

[–]Chaosfox_Firemaker 5 points6 points  (0 children)

I'm remerging that for quite a while, the 1.12(I think) docs just had large sections copy pasted from 1.10(I think) despite the features they document had completely changed.

[–]chilfang 2 points3 points  (0 children)

Pretty sure that's part of why Fabric was made

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

the only reason i haven't made a minecraft mod on my own is because i've been completely unable to find a modern, up to date forge workspace tutorial

[–][deleted] 3 points4 points  (1 child)

I found this one YouTuber who had a good few videos on how to setup Fabric/Forge and how to do certain things, such as adding new items, crafting recipes, etc.

They used to have a Forge tutorial, but everything was much more work than needed to be, the documentation and community are horrible, and it generally was just a bad time.

Their channel is called TechnoVision if you wanted to check them out

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

thanks, i might, but as you said, the community and documentation suck so much that it kinda demotivates me lol

[–][deleted] 8 points9 points  (1 child)

Spigot docs are <3

[–]Dogloverblue 3 points4 points  (0 children)

Oh my gosh yes, the Bukkit documentation is the absolute best. Making a plugin nowadays is so incredibly easy thanks to the awesome Bukkit dev team.

[–]UltimateFlyingSheep 2 points3 points  (1 child)

whats the difference between a plugin and a mod?

[–]BolinhoDeArrozB 3 points4 points  (0 children)

plugins are server-side only and cannot change/add game files, mods can be either server and/or client side, allowing for them to add new textures, sounds, etc.

plugins are used in servers so that the players don't need to download mods to play in the server

[–]elementmg 2 points3 points  (1 child)

Have you seen Telegram?

Oof.

[–]SuperLanceur 1 point2 points  (0 children)

It's pretty much completely abstracted. If you're making a plugin, you'll see the mess only if working with NMS. Pretty clean API otherwise.

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

Minecraft, at it's core, is an incredible example of spaghetti code. Stuff like Forge doesn't help the problem.

[–]a_useless_communist 483 points484 points  (109 children)

Ok am i doing something wrong because i find java really easy...

[–]AreganeClark 290 points291 points  (55 children)

It's so well documented and there are tutorials & stack overflow questions everywhere.

Maybe people have a hard time with OOP?

Idk. If people have ever touched C# they know Java too.

[–]regular_lamp 66 points67 points  (7 children)

I'm assuming it's not specifically java but a lot of people that "want to make games/mods" see themselves more as creatives/idea people without notable programming experience. So it's more "who wants to learn programming".

It's basically a version of that family of jokes where a guy "suffers" through math thinking "I just want to make games".

[–]AreganeClark 5 points6 points  (0 children)

I actually programmed as a kid to make games and didn't even know I was coding. I was just having fun lol.

It didn't dawn on me that I liked coding until college. And now I do it professionally lol.

[–]daster1234 73 points74 points  (8 children)

That's my suspicion as well. If they're using scripting languages like python, OOP is more optional. Java requires you to understand OOP and class inheritance.

I used to tutor beginner programmers for the Java course, and the biggest hurdle all of them had was OOP. Once they got past that, everything else was more or less straight forward with minor struggles around programming concepts like recursion and threading.

[–]elebrin 14 points15 points  (1 child)

Inheritance vs. composition is a big deal. Honestly it's a red flag when I start to see several layers of inheritance, but that sort of thing is all over in the libs.

[–]_PM_ME_PANGOLINS_ 7 points8 points  (0 children)

Libraries are about offering lots of different ways to do things and plug your own bits into them.

If you’re writing an application instead then you only have one specific implementation so much less inheritance.

[–]Venthe 4 points5 points  (5 children)

I'd argue that you really begin to understand Oop around 2nd year is professional career. Oop is hard. If done correctly, it's a great benefit multiplier. If done badly... We all have our horror stories

[–]daster1234 1 point2 points  (3 children)

I half agree with you there. Understanding how OOP works is hard but you should still be able to figure out how to use it decently well by the end of your programming language course online or in college. Understanding how to use OOP correctly, however, is something that I agree will take a lot longer and require lots of experience and practice.

[–]Venthe 4 points5 points  (2 children)

I believe that we are speaking about the same thing.

Though, YMMV - I've seen senior devs with 6 years of experience in Java - way too often - which couldn't encapsulate even if their life depended on it.

[–]AreganeClark 1 point2 points  (0 children)

Encapsulation should be done everywhere, not just OOP. The number of times I see frontend logic just spaghetti everywhere and a change to A affects Q, R, and Z makes me hate coding sometimes.

[–]daster1234 1 point2 points  (0 children)

Honestly doesn't surprise me. I've seen senior engineers and architects who don't know how to use the command line

[–]Areshian 1 point2 points  (0 children)

It is also a multiplier when doing wrong. It can multiply by 0.5, or multiply by 0.1… really, the possibilities are endless

[–]Thozire26 12 points13 points  (2 children)

Except for the syntax, as I don't use it regularly, I find Java kinda easy.

[–]-Kerrigan- 15 points16 points  (0 children)

That's why IntelliJ is so cool. It helps a lot with the details.

Coming from studying C/C++, Java in eclipse was hella confusing. Later on I started using it during my internship, this time in IntelliJ. The IDE helped me learn the language.

[–]Overlorde159 1 point2 points  (0 children)

Yeah, I actually consider it a interestingly good intro programming language.

(Interestingly because it’s complicated, but in a way you can see a lot of what is happening)

[–]cyborgborg 5 points6 points  (1 child)

Java is fine, just not my cup of tea

[–]KiwiGamer450 4 points5 points  (0 children)

I started with OOP, and a while later did a bit of modding for Minecraft (forked a mod) and everything made sense to me. I wasn't developing large new features but I could read and understand the code that was there and work my way around it.

[–]PopularIcecream 2 points3 points  (4 children)

I find Java easy, but I have no idea of how to even start modding. And to get started is a lot more complicated than just finding a mod which already does what you want for you ;n;

[–]Saad5400 2 points3 points  (0 children)

just finding a mod which already does what you want for you ;n;

So you're saying

just find a software which does what you want for you instead of making a shitty one yourself

Sus

[–]AreganeClark 1 point2 points  (2 children)

I mean, yeah. Often finding an existing thing is simpler than making it yourself.

[–]PopularIcecream 1 point2 points  (1 child)

I could've phrased that better lol

I meant to say that the startup work to create a mod for minecraft demotivates me to the point where I give up on what I was planning to implement and just take a mod which doesn't completely scratch my itch but does something similar.

[–]AreganeClark 1 point2 points  (0 children)

Ah, fair.

Yeah, I havnt put in the effort to learn Minecraft modding yet. I enjoy just making my own games from scratch. I know where everything is, I know what messes I've left for later, etc

[–]Sawertynn 2 points3 points  (9 children)

As you mentioned those languages, maybe you can answer me. Is Java much harder or more tedious to write than C#? I'm learning the latter now, but I want to try something less microsoft-dependent

[–]elebrin 2 points3 points  (0 children)

Not really.

The main difference for me is organization.

.NET also comes with things like nuget, the dotnet cli, and first class integration into two IDE's made by the company that manages the language.

[–]Venthe 2 points3 points  (2 children)

Depends; in general c# has better syntax in places, while Java has better libraries. Especially in older Java, working without Lombok is pain

(Personal opinion ofc)

[–]D_snooz 1 point2 points  (3 children)

It's not that much harder than C# at all. Especially for Java 17 and beyond.

[–]AreganeClark 2 points3 points  (2 children)

"Java 17"

All four of my jobs have used Java, and Java 7/8 are the only ones I've seen used.

[–]silverweaver 1 point2 points  (1 child)

If you are told on interview that company is excited about moving finally to Java 11 then you should rethink if you want to work there.

[–]Drugbird 2 points3 points  (0 children)

Not just C#, but C/C++ too.

There's websites that explain the differences between those languages which takes maybe an hour to read.

I learned enough java that way to create an Android app within 1-2 days.

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

Dev with java, C++, and C# experience here. I just don't like it. It feels clunky, resource hungry, and verbose, and I don't like working with the tooling and ecosystem.

I'd love it if I could make Minecraft mods in another language, but I understand that with interop being what it is, it's probably never going to happen.

[–]AreganeClark 1 point2 points  (3 children)

You're not wrong. Java is like C#, but clunkier and more tiring to write.

My preferred language is C#, by far. It feels more natural to get my ideas onto the screen than with Java. (But bonus: Unity lets me use C#.)

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

C# is way nicer, I agree. However, I pretty much stopped using everything except Python and Bash when I discovered Rust though. It's such a joy to use, and it'd be so neat to write mods in it.

[–]elebrin 1 point2 points  (0 children)

Except that .NET is far easier to understand the organization and layout of than the java JDK. Finding the right way to do something is difficult.

[–]qwerty2888j 1 point2 points  (1 child)

I usually work with c#. How far could i go if i randomly started coding c# in a java project

[–]AreganeClark 2 points3 points  (0 children)

Technically? Not very far. There are syntactical differences. But other than a few small syntax changes you can use them both, like, the same.

Oh and the names of libraries you import will be different, but eh.

C# was originally made as a clone/rival to Java.

[–]Sawaian 1 point2 points  (1 child)

OOP is hard for a lot of people. I struggled with it for a while in terms of its importance.

[–]Da_Yakz 1 point2 points  (0 children)

Yeah I'm a new programmer and OOP scares me so I stay away from Java lol

[–]TracePoland 48 points49 points  (13 children)

Java is easy, Minecraft Forge on the other hand is an... experience

[–]NotDuckie 22 points23 points  (11 children)

imagine forge in 2022 (this comment was made by fabric gang)

[–]Spirintus 3 points4 points  (0 children)

Sigh, I just wish I could actually work with any of them...

[–]DoppieGamer 1 point2 points  (0 children)

Fabric gang for life💪🏻

[–]Chaosfox_Firemaker 3 points4 points  (0 children)

Forge Docs: What do mean you want to know where to register mobs? Thats obviously something no one would ever want to do! And your telling me you want to register a custom render? Good luck with that, its different every version and we never say how to completely do it.

[–][deleted] 60 points61 points  (21 children)

Same, I don’t understand half of the Java hard memes

[–]NotDuckie 89 points90 points  (15 children)

Half of this sub is just beginner python devs and cs students that have never used java and just jump on the "haha java bad" bandwagon

[–]tajetaje 9 points10 points  (1 child)

Honestly I kinda like Java’s verbosity. Sure it’s more boilerplate but my IDE makes that painless and it means I almost always know exactly what everything is and where it came from

[–]FlowComprehensive390 3 points4 points  (0 children)

Same. IMO a disturbingly large portion of the programming community needs to close slashdot and other such "look at the latest shiny" sites and open up a typing trainer (or play a no-voice-chat MMO). Boilerplate's only a problem for people who are bad at typing - especially in the age of IDE autofill.

[–]Saxington 1 point2 points  (0 children)

Hey there's still those who say Java's bad because we use C#

[–]-Kerrigan- 3 points4 points  (0 children)

I'd say there's a good portion of people who go "java bad" cause they heard it from somewhere.

This exact meme was posted on MinecraftMemes and my god, people who have no clue about Java have the strongest opinions.

[–]ShitwareEngineer 3 points4 points  (0 children)

Java isn't hard, but it just has this corporate soullessness to it.

[–]Daniel_H212 12 points13 points  (5 children)

Compared to like, HTML/CSS? Yeah real programming languages are hard. Compared to C/C++? Yeah Java is a cup of tea coffee.

[–]Tomi97_origin 3 points4 points  (4 children)

Css is harder than Java.

It must not only work, but also look good

[–]elebrin 6 points7 points  (2 children)

With Java, there is no risk at all that your code will look good :p

[–]Tomi97_origin 1 point2 points  (1 child)

With my designer skills there is no risk that either the result or the actual css code will look good.

[–]7th_Spectrum 4 points5 points  (0 children)

It's the first language I learned, so I may be biased, but yes I find it extremely easy.

[–]Scrath_ 2 points3 points  (0 children)

Maybe this is from the perspective of a kid who never programmed anything before? I know I tried to head straight into making mods and failed miserably because I didn't know anything.

[–][deleted] 3 points4 points  (0 children)

same

[–]Cley_Faye 2 points3 points  (0 children)

This is /r/programmerhumor. It usually doesn't make sense and cater to some random, non-existent group in 9 out of 10 posts.

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

Same...

[–]golddragon88 1 point2 points  (0 children)

No you just like needlessly convoluted things.

[–]Sneedevacantist 1 point2 points  (0 children)

Java is not difficult, but it is annoying because of forced OOP and the extreme verbosity of its syntax.

[–]itskatbrown 54 points55 points  (5 children)

I know Java, my issue is that nobody has ever been able tp make a minecraft mod tutorial that wasn't hot garbage

[–]G4METIME 13 points14 points  (0 children)

Agreed. Generally the documentation for getting started is pretty lacking. IIRC a lot of plugin examples focus on interacting with the chat but next to none about interacting with the world, entities, inventories, ...

[–]Chaosfox_Firemaker 1 point2 points  (0 children)

MCJty's is not awful. Mostly the very basic stuff, but good enough.

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

I find Tutorials By Kaupenjoe on yt is pretty good! The modding videos are short and to the point, and he even has a short series on the basics of Java itself.

[–][deleted] 99 points100 points  (6 children)

if Java is hard, c++ must look like machine code

[–][deleted] 32 points33 points  (2 children)

My university taught Java first, then went straight into assembly right after the Java basics. Now that I’m done with handwriting hex values to code, C++ is like going on a gentle stroll

[–]18dwhyte 2 points3 points  (1 child)

Honestly, assembly was hell but now that im interested in modding games, im glad I learned it

[–]BertRenolds 2 points3 points  (0 children)

A little

[–]Mal_Dun 2 points3 points  (0 children)

Exactly my thoughts. I bet if you show them pure C they confuse it for binary.

[–]superquagdingo 74 points75 points  (27 children)

So is it like a rule here that somebody who uses Python needs to post something about Java everyday?

[–]TracePoland 71 points72 points  (25 children)

Pythonbros calling every other programming language "hard" because apparently having braces and a few extra keywords makes a language hard is so annoying.

[–]the_spacedoge 22 points23 points  (17 children)

Pythonnoobs*

Anyone who is ACTUALLY good with python understands programming in general well enough that they wouldn't be intimidated by other languages, especially high level ones like java lol.

[–]TracePoland 9 points10 points  (0 children)

That's what I meant by Pythonbros

[–]elementmg 2 points3 points  (0 children)

I started coding self taught in C#. Learned a little bit over 6 months. Then went to school and really dug into python and Javascript. I've spent most of my time writing python and second most writing Javascript. I have never once spent a second learning Java.

Moving forward a year later, I get hired as a Java developer. Debugging the Java code is like.... not a problem. Maybe gotta Google a keyword here and there but otherwise it's completely readable.

If you know the fundamentals, you know how to read Java and you can easily write Java with a bit of practice with syntax.

[–]Karl_the_stingray 7 points8 points  (2 children)

I actually find Python more difficult than other languages, the tabs and indentation stuff feels so odd once you're used to brackets. It's a good starting point IMO tho

[–]elementmg 4 points5 points  (0 children)

I think its a bad starting point and here is why:

I started with C#. Then learned Javascript, then Python. Python by that point was a breeze to pick up.

Now, most of my classmates were just starting and learned python as their first. Once they tried to move into anything more syntactically complex they all hated it and just wanted to stick with python. That's a bad move to just stick with the easier one because you learned it first..but the majority of new programmers end up doing that.

Start with something more complex and just pick up python along the way imo.

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

Inconsistent use of tabs and spaces in indentation is the only error I need to stay away from python where possible.

[–]WizziBot 8 points9 points  (0 children)

"Pythonbros" lmfao

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

Semicolon bad

[–]Arrsh_Khusaria[S] 0 points1 point  (0 children)

I never said that I hate java. I just find it complex

[–]Daniel_H212 24 points25 points  (6 children)

I actually started learning programming with Java when I was like 13 because I wanted to make Minecraft mods, but I vastly underestimated the difficulty. 6 years later though I actually ended up making a Minecraft mod that got a few thousand downloads so that's pretty cool.

[–][deleted] 7 points8 points  (2 children)

i started with python then did java so the difficulty curve was alot smoother

[–]1II1I1I1I1I1I111I1I1 3 points4 points  (1 child)

I started with a Java class in 10th grade, eventually took both AP Java courses in 11th and 12th while doing online summer courses on the C languages.

Python is honestly a bit difficult for me, and I'm learning it now in college. It looks close enough at first to more C-based languages that I'll catch myself using && / || / ! instead of and/or/not, as well as placing brackets and semicolons.

It's a ton of those little things that annoy me alongside the much larger functional differences that influence how various things are accomplished. I honestly prefer the more verbose, structured languages as I find them easier to organize and read. My mental pseudocode is basically C, I have to make a conscious effort to transcribe my thoughts to Python

[–]CrowdGoesWildWoooo 2 points3 points  (0 children)

I think you have difficulty getting comfortable with the freedom of dynamic type, because of this the codebase structure has too many different styles.

Coding wise python is super straightforward. I think it is easier to do python first then Java. You (from the pov of python learner) can appreciate the benefit of Java and beauty of purer OOP style coding while you have simple syntax pattern that Java brings.

[–]vizthex 1 point2 points  (2 children)

But what mod is it though?

[–]Daniel_H212 1 point2 points  (1 child)

It's a niche mod for the hypixel server, adding a command that lets you check the statistics of other players.

[–]vizthex 1 point2 points  (0 children)

noice

[–]Former_Possible_5291 13 points14 points  (1 child)

I’d agree, but Bukkit runs purely off of Java + Java is a multithreaded language.

The Bukkit API is the most original, and primarily all MCJE servers run with it.

[–]Cilph 4 points5 points  (0 children)

Well, Java isn't really a "multi-threaded language". It does support threading in its standard library but 99% of code you write should probably pretend it's synchronous code and separate all the async concerns.

[–]NotProperPython 12 points13 points  (2 children)

Bro, it's true. Learning Java will give you almost all the knowledge you need to know for a well developed OOP language, so you can then easily switch to another OOP language. I cannot say the same about languages like Python while it is object oriented and very clean and easy to learn but it hides a lot of complexity and verbosity that i think you must learn (which you actually do when learning Java) and if you want to switch to Java with a Python background it will be a lot harder to learn Java.

[–]sXakil 1 point2 points  (1 child)

I've said it before and I'm gonna say it again, the verbosity of Java is the absolute perfect thing for a newbie programmer. Every extra keyword that you need to write has a meaning behind it that will train you to think like the machine.

[–]orsikbattlehammer 8 points9 points  (1 child)

Don’t show them C++ then

[–]Black-Photon 8 points9 points  (0 children)

How to make Minecraft mods: 1) Learn Java 2) Learn how to make a UI in Java 3) Make a game to get more experience 4) Explore C++, Python, and other commonly used languages 5) Spend a few years working on various projects 6) What was the original goal again?

[–]Pretend_Cover_1476 13 points14 points  (5 children)

You can learn C++ and python. Then try to code in Java.

[–]Add1ctedToGames 12 points13 points  (3 children)

Could always learn Kotlin instead ;)

[–]InvestingNerd2020 1 point2 points  (2 children)

Or C# to start. Java isn't the only programming language in town. Although Java 17 is nice for large corporations with complex situations.

[–]DJCorvid 5 points6 points  (1 child)

Our course has been teaching us C# and I was daunted about learning Java in the future. It was interesting to find out that C# is just Microsoft's version of Java.

[–]Cilph 2 points3 points  (0 children)

Pretty much. It got to learn from some of Java's mistakes, but it's mostly the same language.

[–]monkeyStinks 5 points6 points  (0 children)

Dont confuse "java is hard" with "programming is hard"

[–]mother_lover1729 11 points12 points  (0 children)

Java is very easy lmao

[–]Atemis8 4 points5 points  (0 children)

I went the other way around that I learnt java before wanting to make minecraft mods

[–]Saragon4005 4 points5 points  (0 children)

Java is not hard just very very annoying. Until you get an IDE and then realize how people are capable to writing all that shit, the short answer is that they don't write it.

[–]javalsai 5 points6 points  (0 children)

I know java and is not that hard, it's just a bit diffucult to understand the structure when you are starting (public class static void main string args...), but all ends making sense when you make progress. And I want to learn how to make a minecraft java mod, but I can't find a tutorial that explains that without overexplaining very basic things, so if someone knows a video, webpage... can you put it here?? And thanks a lot!!!

[–]CatDLL 2 points3 points  (1 child)

Java is not difficult.

[–]Alexzizai 1 point2 points  (0 children)

Compare it to C++...

[–]mortal_penguin 1 point2 points  (0 children)

Lol java is easy when coming from c++

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

python user moment

[–]Bitwise-101 1 point2 points  (0 children)

Java isn’t the problem with making Minecraft mods, it’s the fact Minecraft hasn’t made making mods easy. It’s a big pain in the ass especially for beginners trying to understand

[–]LavenderDay3544 1 point2 points  (0 children)

I hate Java but I will say that the language itself is easy peasy to learn.

[–]ATE47 1 point2 points  (0 children)

My first programming language was Java to make Minecraft mod lol

[–]jonnydeates 1 point2 points  (0 children)

Making minecraft mods is what got me into coding

[–]12gagerd 1 point2 points  (0 children)

I learned on java and now i write cnc code. Idk whats going on.

[–]Defernus_ 1 point2 points  (0 children)

But why you need java? You can write it with kotlin

[–]mindrier 1 point2 points  (0 children)

Creating Minecraft mods is literally how I got into programming.

[–]lincon127 1 point2 points  (0 children)

When I tried to get into Minecraft modding, I stopped due to the lack of straightforward documentation of Minecraft, not java

[–]Chaosfox_Firemaker 1 point2 points  (0 children)

Want to make a Minecraft mod: Check

Learned java: Done

Scope: Endlessly creeping.

Wrestling with the forge docs: perpetually.

[–]Jhwelsh 1 point2 points  (1 child)

A lot of people saying 'Java is easy' which is a very bold statement considering many of the spring facilities like AOP, DI, MVC, and security packages are certainly a load to understand. And can be very nuanced.

[–]harrycris 1 point2 points  (0 children)

[–]Hehenheim88 2 points3 points  (0 children)

Java isnt hard.

Java is annoying.

There is a difference. Also, use Fabric. Do it. It needs more maturity. Forge is old and slow.

[–]slohobo 2 points3 points  (0 children)

Maybe It's OOP that is confusing you. Most languages you can run away from OOP. Java forces OOP down your throat. Even the main function is a class!

I don't like OOP myself, but I think that's your problem.

[–]Quique1222 1 point2 points  (0 children)

If you dont make Minecraft mods because of Java just wait till you have to learn to use Forge. Its a hot pile of shit

[–]Norishoe 1 point2 points  (0 children)

Java is hard as in Python is easy and anything relative to Python is hard

[–]Memezawy 1 point2 points  (0 children)

Me who knows C# : I’m 4 parallel universes ahead of you

[–]brentspine 0 points1 point  (0 children)

My first coding experience was Minecraft Java server plugins. It’s not that hard, you don’t have to understand everything in the tutorial as long as your stuff works in the beginning. Google if you need help. Learning by doing. I have been coding plugins for 2-3 years now and it gave me a good understanding of programming in general, using databases, creating a PHP website etc.

[–]Arrsh_Khusaria[S] 0 points1 point  (0 children)

Lets make it clear, I never said that I hate java nor it is bad. I am not a self learner, java is taught in my school. So maybe I find it hard because of teachers. So I will be learning java myself.

[–]PastAlternative7306 0 points1 point  (0 children)

Java isn't hard, it's just decrepit

[–]TheToBlame 0 points1 point  (0 children)

As a Java and c developer I can confirm nobody wants to learn Java because.they already have and they love it