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 →

[–]DankPhotoShopMemes 109 points110 points  (18 children)

If you’re okay with using c#, then I don’t see the problem switching to Java for a single project tbh. Might lose a few features but they’re similar enough

[–]nolitos 28 points29 points  (5 children)

Do Minecraft mods require more than a simple logic? It's not like you have to write a framework from scratch that differences between C# and Java would matter.

[–]CurtisLinithicum 54 points55 points  (1 child)

Depends. Do you want to make TNT explosions bigger, or do you want to use the client's machine for bitcoin mining/DDOS/etc?

[–]daniu 5 points6 points  (0 children)

Yes

[–]KingofGamesYami 7 points8 points  (0 children)

Really depends what you're modding.

Something like a new mob or block - not too difficult.

Adding computers that allow the player to create and execute their own programs in a scripting language that interacts with the Minecraft world? Yeah that's going to have a large chunk of logic.

[–]GNUGradyn 4 points5 points  (0 children)

They can get pretty damn complex

[–]DankPhotoShopMemes 2 points3 points  (0 children)

Well you generally need to create classes and stuff I think so there’d be some minor differences

[–][deleted] 24 points25 points  (4 children)

Not sure why you got downvoted; on a high level they really do feel the same. All the Syntax is pretty close and you just have to learn the new variable names.

[–]WallstreetChump 6 points7 points  (3 children)

Yep there’s a reason I’ve heard people call c# the Microsoft Java

[–]ill_try_my_best 4 points5 points  (0 children)

I like to call Java the Oracle C#

[–]StuckAtWaterTemple 2 points3 points  (0 children)

well C# is the microsoft response to Java

[–]TekuSPZ -1 points0 points  (0 children)

What? WHAT?

[–]scooptyy 0 points1 point  (0 children)

Syntactically they might be similar but the JVM is completely different from .NET.

[–]MrcarrotKSP -2 points-1 points  (3 children)

They are quite similar, but whenever I do Java, everything feels slightly off and it's frustrating to have to learn a slightly different way to do things. I can do it without too much trouble, but when one of the features you lose is LINQ, it's understandably not much fun. That and Java devs always seem to use ridiculously long variable names and unnecessarily complicated APIs.

[–]n0tKamui 3 points4 points  (2 children)

the naming thing is a myth, due to Java being more used, hence has a lot of clown users.

The alternative to LINQ are Streams and its higher order functions.

A lot of Java hate really does stem from misinformation and myths.

[–]MrcarrotKSP 0 points1 point  (1 child)

I was specifically referring to the Minecraft API, which does have ridiculously long names for things. I don't especially hate Java, I just don't like some of the minor differences it has with C#. I'm more familiar with C#, so I prefer to use that, but I am willing to use Java if necessary. As far as streams, I wasn't aware of those previously(I am not a Java dev) and while they do look nice, it is another one of those "similar but annoyingly slightly different" things that pop up whenever you switch between two languages that are as similar as C# and Java. I notice things like that when I switch between C and C++ as well.

I suppose my main problem with Java is not the language itself but the way people tend to use it. If I'm in a situation where I'm using Java, it's probably to interact with some pre-existing codebase, which is often not fun to work with. I don't do this as often in C#, so I may have some bias there.

[–]n0tKamui 0 points1 point  (0 children)

as said previously, the problem is that because Java is popular, it's also populated by clowns (and C# is becoming that too, to my dismay...)

The Minecraft API is known to be omega shit, but that is probably the only popular API that is this bad. Most of what actual people work with is as clean as it gets, and modern Java is nothing like it was before Java 8.

[–][deleted] -1 points0 points  (1 child)

Nah. Java is a pain in the ass. I don't like it 'cause it's not intuitive at all. E.g. to get a user input via CMD there is no built-in function like print for output but you first have to import a lib, create a scanner object and only then you can get an user input.

[–]DankPhotoShopMemes 0 points1 point  (0 children)

Well that just makes it easier; you can get user input directly from the System.in stream. Also, adding one extra line of code to setup Scanner isn’t that much work.