Java or Python

Started by
25 comments, last by Gian-Reto 9 years, 8 months ago

Now that even big studios like Blizzard is using Unity, C# seems like a very strong option.

Awesome! I didn't know it! Does Unity support Java, too?
I've read C# isn't a good option. I'd go for Java maybe, if it's supported
Advertisement

Now that even big studios like Blizzard is using Unity, C# seems like a very strong option.

Awesome! I didn't know it! Does Unity support Java, too?
I've read C# isn't a good option. I'd go for Java maybe, if it's supported

Blizz used it to create a small game in their april's fool joke (flapping reaver), I wouldn't assume they are actually using it in major projects.

If you don't know how to code yet, more important than a language, is learning algorithm logic. This site have some pretty nice challenges on logic:

http://projecteuler.net/

EDIT:

Just on topic, I personally like python better than java, because I find java too verbose and annoying (final result is definitely a somewhat resilient code, still I don't enjoy it). Keep in mind that I learned python when I already knew how to code (C as first language here), so maybe you should stick to java to learn a typed programming language (which I find really important). If you want to learn python first, be sure to go to a typed language (java, C, C++, C#) later.

Currently working on a scene editor for ORX (http://orx-project.org), using kivy (http://kivy.org).

Blizz used it to create a small game in their april's fool joke (flapping reaver), I wouldn't assume they are actually using it to major projects.

http://unity3d.com/showcase/case-stories/hearthstone

I wouldn't call it insignificant, though it's seemingly only the mobile port. I didn't read the whole thing though, I just checked Unitys showcase and saw a title I recognized.

Awesome! I didn't know it! Does Unity support Java, too?
I've read C# isn't a good option. I'd go for Java maybe, if it's supported

Did you read that from Stallmans personal blog or something? :) Joke aside, as far as I know C# is currently considered one of the best options when it comes to gamedev. If nothing else, tons of studios seems to use it for their tools.

Also as far as I know, Unity does not support Java. Java actually seems quite uncommon in non-handheld gamedev for some reason. I have no idea why, but I'm glad that it is so, because I really don't like Java.

Blizz used it to create a small game in their april's fool joke (flapping reaver), I wouldn't assume they are actually using it to major projects.

http://unity3d.com/showcase/case-stories/hearthstone

I wouldn't call it insignificant, though it's seemingly only the mobile port. I didn't read the whole thing though, I just checked Unitys showcase and saw a title I recognized.

Wow, didn't know that HS was using Unity 3D. I stand corrected.

Currently working on a scene editor for ORX (http://orx-project.org), using kivy (http://kivy.org).

Hi everybody! I need to start with a language. I've read the article What Language Do I Use? and I'm now deciding between Python and Java.

Depending on the course I'll take (I'm about to start university), I'll learn Java+C (from the first year) or C++ (from the second year), but they are two different courses and I can't choose Java+C and C++.

Aims? Blizzard or Riot. I know it's gonna be tough, but I'll run as fast as I can. From graphic-less games to 2D games to something better and better.

If you recommend another language (possibly not C#, as I've read some bad reviews), go ahead!

Feel free to ask any question!

The only bad thing about C# is that it still didn't replace Java...

"Recursion is the first step towards madness." - "Skegg?ld, Skálm?ld, Skildir ro Klofnir!"
Direct3D 12 quick reference: https://github.com/alessiot89/D3D12QuickRef/

If you want to learn python first, be sure to go to a typed language (java, C, C++, C#) later

For sure, that was an option.

Also as far as I know, Unity does not support Java. Java actually seems quite uncommon in non-handheld gamedev for some reason. I have no idea why, but I'm glad that it is so, because I really don't like Java.

Oh, I understand. I didn't see many great games made with Java, too.

Is C# a good language? Really, I've read some bad reviews. Also, I don't know if it'd be better to start with it or with Java.
What about Python? Nobody seems to go for it as a first choice to get into game dev. I had in mind to go with it so I could also code for web and other software in general.
Should I make a pool to see what the result would be?

Although Python is not the "first choice" as general purpose language to get into game development (it's still often used as scripting language in game development), it is one of the "first choice" to get into programming for a beginner.

Also forgot to learn only the programming languages that you are going to use at your uni courses.

"Recursion is the first step towards madness." - "Skegg?ld, Skálm?ld, Skildir ro Klofnir!"
Direct3D 12 quick reference: https://github.com/alessiot89/D3D12QuickRef/

Is C# a good language? Really, I've read some bad reviews. Also, I don't know if it'd be better to start with it or with Java.

It's a great language. Most people bashing it are either anti Microsoft (ie GNU/Linux people) or because it is "slower" and "more limited" than something like C++. The latter would probably also bash Java though.

C# is also currently one of the best all-around languages, since it's suitable for desktop app development, mobile app development, gamedev and web. It's not "biggest" or "most popular" in any of those categories, but has a rather strong presence in all of them.

Depends on you short-to-medium term goals.
If you want to learn what they're using in the industry, if you're talking big names like Blizzard, there's a high chance of C++ though they (the game development studios) use other languages such as Python/Lua for embedding.

In you want an advice about what to learn before going to Uni to learn your first language and learn about developing games, I'm biased for Python.
Fun, tight, clear language with some good libs for game development such as PySDL, PyGames and Kivy (follow they Pong tutorial, really impressive how fast you can build something with this framework). As a bonus during you career, there'll always be a moment where you'll wing a piece of Python code to do some odd job for you.

Blizzard and Riot are my aims, really. Not saying I don't want to start from below, I do! They are just my goals.
I know about Python being used almost everywhere, even if not as the main language; though I'm starting university within 2 months, so I don't really have time to do a long-time project to finish BEFORE joining the university. Instead I'm looking for something to go along with for months.

+1 for Java.

http://www.indiegameprogramming.com/

That's cool! I didn't know about it. Though it seems there are many disadvantages if I study Java as I've read in the article I posted above. That's why I decided to ask here!

a) You should continue doing side projects even while doing university. University can only teach you the basics (thats what they do anyway), and your future employer might expect much more than what you learn at a university (even if you do a Master degree). If you really want to make a good impression (and given your lofty goals, you will have to), have zero work expierience in the field (given you are not content with joining a smaller, less well known studio for some years before knocking at blizzards doors), IMO doing as many and as impressive side projects as possible besides university is a MUST!

Will you have to give up your already little free time besides university for it? Yes! But there is no "shortcut" without sacrifices.

b) Java, C#, C++ .... in the end, it really will not matter. Go with the language you will pick for your university curriculum and you will have an easier time in the beginning of uni.

In the end, what language you will use in the Industry depends a lot on the studio and the position. For Graphics Programming a healthy dose of shader languages and knowing APIs like DX or GL will help you as much as C++ I guess. For Gameplay programming, you might be coding much more in Script languages or C# than C++.

The important thing is to start learning the basics of programming. If you know what an Array is, or a scalar variable, you know how loops are built up, you know about some patterns like observer or factory, you will find it quite easy to learn a new language.

There are important differences. But these are much easier to deal with as soon as you have learnt to program, and this skill to a large extend is completly language agnostic.

This topic is closed to new replies.

Advertisement